Aggregate

APPROX_QUANTILES

BigQueryBigQuery

Menghitung perkiraan quantile boundaries dari data numerik. Menggunakan algoritma approximate yang efisien untuk dataset besar, mengembalikan array dengan n+1 elemen.

Tipe hasil: ARRAY<T>Diperbarui: 7 Jan 2026

Syntax

SQL
APPROX_QUANTILES(expression, number)

Parameter

expressionnumericwajib

Kolom atau ekspresi numerik yang akan dihitung quantile-nya

numberINT64wajib

Jumlah quantile yang diinginkan (n akan menghasilkan n+1 boundaries)

Contoh Penggunaan

Menghitung Quartiles

SQL
1SELECT
2 APPROX_QUANTILES(salary, 4) as salary_quartiles
3FROM `project.dataset.employees`;

Menghitung min, Q1, median, Q3, max dari gaji.

Hasil
salary_quartiles
[5000000, 8500000, 12000000, 18000000, 45000000]

Menghitung Percentiles

SQL
1SELECT
2 APPROX_QUANTILES(response_time_ms, 100)[OFFSET(50)] as p50,
3 APPROX_QUANTILES(response_time_ms, 100)[OFFSET(90)] as p90,
4 APPROX_QUANTILES(response_time_ms, 100)[OFFSET(99)] as p99
5FROM `project.dataset.api_logs`;

Mengambil percentile 50, 90, dan 99 dari response time.

Hasil
p50p90p99
1204501250

Quartiles per Kategori

SQL
1SELECT
2 product_category,
3 APPROX_QUANTILES(price, 4) as price_distribution
4FROM `project.dataset.products`
5GROUP BY product_category;

Melihat distribusi harga per kategori produk.

Hasil
product_categoryprice_distribution
Electronics[99000, 500000, 1500000, 5000000, 25000000]
Fashion[50000, 150000, 350000, 750000, 5000000]

Median dengan APPROX_QUANTILES

SQL
1SELECT
2 department,
3 APPROX_QUANTILES(salary, 2)[OFFSET(1)] as median_salary
4FROM `project.dataset.employees`
5GROUP BY department
6ORDER BY median_salary DESC;

Menghitung median gaji per departemen.

Hasil
departmentmedian_salary
Engineering15500000
Marketing12000000
Operations9500000