Aggregate

VAR_SAMP

BigQueryBigQuery

Menghitung variance (ragam) sampel dari nilai numerik. Menggunakan formula pembagi N-1 (Bessel's correction), cocok untuk data sampel.

Tipe hasil: FLOAT64Diperbarui: 7 Jan 2026

Syntax

SQL
VAR_SAMP(expression)

Parameter

expressionnumericwajib

Kolom atau ekspresi numerik yang akan dihitung variance sampelnya

Contoh Penggunaan

Sample Variance untuk Survey Data

SQL
1SELECT
2 survey_wave,
3 AVG(satisfaction_score) as avg_satisfaction,
4 VAR_SAMP(satisfaction_score) as variance,
5 STDDEV_SAMP(satisfaction_score) as stddev,
6 COUNT(*) as sample_size
7FROM `project.dataset.customer_survey`
8GROUP BY survey_wave
9ORDER BY survey_wave;

Menganalisis variance satisfaction score per wave survei.

Hasil
survey_waveavg_satisfactionvariancestddevsample_size
2024-Q14.20.850.921500
2024-Q24.50.720.851620

F-Test Preparation

SQL
1SELECT
2 'Group A' as group_name,
3 VAR_SAMP(value) as variance,
4 COUNT(*) as n
5FROM `project.dataset.experiment_a`
6UNION ALL
7SELECT
8 'Group B' as group_name,
9 VAR_SAMP(value) as variance,
10 COUNT(*) as n
11FROM `project.dataset.experiment_b`;

Menyiapkan data untuk F-test (membandingkan variance).

Hasil
group_namevariancen
Group A125.550
Group B98.248

Pooled Variance Calculation

SQL
1SELECT
2 SUM((n - 1) * var_samp) / SUM(n - 1) as pooled_variance
3FROM (
4 SELECT
5 treatment_group,
6 VAR_SAMP(outcome) as var_samp,
7 COUNT(*) as n
8 FROM `project.dataset.clinical_trial`
9 GROUP BY treatment_group
10);

Menghitung pooled variance untuk combined analysis.

Hasil
pooled_variance
45.8

Coefficient of Variation

SQL
1SELECT
2 product_id,
3 AVG(daily_sales) as mean_sales,
4 SQRT(VAR_SAMP(daily_sales)) as sales_stddev,
5 SQRT(VAR_SAMP(daily_sales)) / AVG(daily_sales) * 100 as cv_percent
6FROM `project.dataset.daily_product_sales`
7GROUP BY product_id
8HAVING COUNT(*) >= 30
9ORDER BY cv_percent DESC
10LIMIT 10;

Menghitung coefficient of variation untuk volatility analysis.

Hasil
product_idmean_salessales_stddevcv_percent
P0011507550.0
P00232012840.0
P00350010020.0