メインコンテンツへスキップ
メインコンテンツへスキップ

quantileExactExclusive

数値データ系列の分位数を厳密に計算します。

厳密な値を取得するために、渡されたすべての値は 1 つの配列にまとめられ、その後部分的にソートされます。したがって、この関数は O(n) のメモリを消費し、ここで n は渡された値の個数です。ただし、値の数が少ない場合には、この関数は非常に効率的です。

この関数は、PERCENTILE.EXC の Excel 関数(type R6)と同等です。

1 つのクエリ内で異なるレベルを指定した複数の quantileExactExclusive 関数を使用する場合、内部状態は結合されません(つまり、そのクエリは本来よりも非効率に動作します)。この場合は、quantilesExactExclusive 関数を使用してください。

構文

quantileExactExclusive(level)(expr)

引数

パラメーター

  • level — 分位点のレベル。省略可能。取りうる値は (0, 1) の範囲(端点は含まれません)。デフォルト値は 0.5。level=0.5 の場合、この関数は中央値を計算します。Float

返り値

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

型:

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

クエリ:

CREATE TABLE num AS numbers(1000);

SELECT quantileExactExclusive(0.6)(x) FROM (SELECT number AS x FROM num);

結果:

┌─quantileExactExclusive(0.6)(x)─┐
│                          599.6 │
└────────────────────────────────┘