Article Outline
PERCENTAILE_CONT関数 / PERCENTAIL_DISC関数
TOC
Collection Outline
[BIGQUERY] 分析入門
[BIGQUERY] SQL
■ 句(節)
■ 演算子
■ BigQuery特有
■ 関数
- approx_count_distinct() - 集計近似
- coalesce()
- countif()
- extract()
- greatest()
- ifnull()
- last_day()
- lead() / lag()
- left() / right()
- lower()
- nullif()
- parse_date()
- row_number() - 番号付
- safe_cast()
- split()
- st_distance()
- nth_value()
- first_value() / last_value()
- percentile_()
データ型
■ エラー
- error
- Resources exceeded during query execution: Not enough resources for query planning - too many subqueries or query is too complex
[BIGQUERY] ADVANCE
[BIGQUERY] ML
[BIGQUERY] DS
■ DS100ノック
■
[BIGQUERY] GA
|| 分析関数
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