Article Outline
🔍 PERCENTAILE_CONT関数 / PERCENTAIL_DISC関数
TOC
Collection Outline
句(節)
演算子
関数
入門 @Udemy
DS100ノック
ML
アクセス解析
|| 分析関数
percentile_[cont|disc](percent)
within group(order by expression [(asc)|desc])
over(partition by partition_list)
# e.g.
select
percentile_cont(0.5) within group(order by val) as median
percentile_cont(val, 0.5) over() as median_1
PERCENTILE_CONT関数とPERCENTILE_DISC関数は同様の機能をもつ関数ですが、指定されたパーセント値が行と行の間に位置する場合に、動作が異なります。
PERCENTILE_CONT関数は前後の行で補間された値が返り、PERCENTILE_DISC関数は、指定されたパーセント値を超える行の中で、最小値となる値が返ります。
たとえば、行の値がそれぞれ、1、2、3、4で、50%の値を取得しようとした場合、50%は2と3の間になります。この場合、各関数の戻り値は次のとおり異なります。
PERCENTILE_CONT関数
2と3(前後の行)でデータが補間されて2.5が返ります。
PERCENTILE_DISC関数
指定したパーセント値を超える行の中で、最小値となる行の値3が返ります。
Cf. PERCENTILE_CONT関数とPERCENTILE_DISC関数の違い - Dr.Sum
| percentile_disc()
整数値を返したい時。
| percentile_cont()
小数値を返す。(対象が偶数値だと線形補完する処理が施されてるとのこと。)
|| Cf.
- 【BigQuery】standardSQLでパーセンタイル(や中央値)を集計関数のように計算する - Qiita
- BigQueryで平均、中央値、最頻値を計算する - ICHI.PRO
- GoogleCloudPlatform/bigquery-utils - Github
- percentile_disc vs percentile_cont - stack overflow
- 6-1-13 PERCENTILE_CONT(パーセント値に相当する、補間された値を取得する) - Dr.Sum