ClickHouse/docs/ja/sql-reference/aggregate-functions/reference/quantileinterpolatedweighted.md
2024-11-18 11:58:58 +09:00

2.9 KiB

slug sidebar_position
/ja/sql-reference/aggregate-functions/reference/quantileInterpolatedWeighted 176

quantileInterpolatedWeighted

数値データシーケンスの分位を、各要素の重みを考慮して線形補間を用いて計算します。

補間された値を得るためには、渡されたすべての値を配列に結合し、それらを対応する重みによってソートします。その後、重みに基づく累積分布を構築し、重み付きパーセンタイル法を使用して分位の線形補間を行います。

複数の quantile* 関数を異なるレベルでクエリ内で使用する場合、内部状態は結合されません(つまり、クエリは効率的に動作しません)。この場合、quantiles 関数を使用してください。

構文

quantileInterpolatedWeighted(level)(expr, weight)

エイリアス: medianInterpolatedWeighted.

引数

  • level — 分位のレベル。オプションのパラメータ。0から1の範囲での定数浮動小数点数。level の値は [0.01, 0.99] の範囲で使用することをお勧めします。デフォルト値: 0.5。level=0.5 の場合、関数は中央値を計算します。
  • expr — カラム値に対する式で、数値データ型Date または DateTimeを結果とします。
  • weight — シーケンスメンバーの重みを示すカラム。重みは値の出現回数を表します。

返される値

  • 指定されたレベルの分位。

型:

  • 数値データ型入力に対しては Float64
  • 入力値が Date 型の場合は Date
  • 入力値が DateTime 型の場合は DateTime

入力テーブル:

┌─n─┬─val─┐
│ 0 │   3 │
│ 1 │   2 │
│ 2 │   1 │
│ 5 │   4 │
└───┴─────┘

クエリ:

SELECT quantileInterpolatedWeighted(n, val) FROM t

結果:

┌─quantileInterpolatedWeighted(n, val)─┐
│                                    1 │
└──────────────────────────────────────┘

関連項目