LoginSignup
3
1

More than 1 year has passed since last update.

【BigQuery】集計関数でパーセンタイルを算出する

Last updated at Posted at 2022-08-05

TL;DR

パーセンタイルを出すには

APPROX_QUANTILES(x, 100)[OFFSET(percentile)]

を使う


BigQueryに用意されている PERCENTILE_CONT, PERCENTILE_DISC 関数はウィンドウ関数のため、

SELECT
  PERCENTILE_DISC(x, 0.5) OVER() median
FROM
  UNNEST([1,2,3,4,5,6,7,8,9]) x
5
5
5
...

となり、 LIMIT 1, DISTINCT 等をつける必要があるため扱いづらい。

以下のように書くと集計関数であるため結果はスカラ値になる。

SELECT
  APPROX_QUANTILES(x, 100)[OFFSET(50)] median
FROM
  UNNEST([1,2,3,4,5,6,7,8,9]) x
5
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1