Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesPrometheusHistogram

quantilesPrometheusHistogram

導入バージョン: v25.10.0

累積値と各ヒストグラムバケットの上限を考慮しながら、異なるレベルにおけるヒストグラムの複数の分位点を、線形補間を用いて同時に計算します。

この関数は quantilePrometheusHistogram と同等ですが、1 回の処理で複数の分位レベルを計算できるため、個別の分位点関数を呼び出すよりも効率的です。

構文

quantilesPrometheusHistogram(level1, level2, ...)(bucket_upper_bound, cumulative_bucket_value)

パラメータ

  • level — 分位点のレベル。0 から 1 までの定数の浮動小数点数を 1 つ以上指定します。level の値には [0.01, 0.99] の範囲を使用することを推奨します。Float64

引数

  • bucket_upper_bound — ヒストグラムのバケットの上限。最も大きいバケットの上限は +Inf でなければなりません。Float*
  • cumulative_bucket_value — ヒストグラムのバケットの累積値。バケットの上限が大きくなるにつれて、値は単調増加でなければなりません。UInt* または Float*

戻り値

指定したレベルの分位点を、指定したレベルと同じ順序で格納した Array。結果の浮動小数点型は bucket_upper_bound の型と一致します。Array(Float32) または Array(Float64)

使用例

SELECT quantilesPrometheusHistogram(0.25, 0.5, 0.75)(bucket_upper_bound, cumulative_bucket_value)
FROM VALUES('bucket_upper_bound Float64, cumulative_bucket_value UInt64', (0, 6), (0.5, 11), (1, 14), (inf, 19));
┌─quantilesPrometheusHistogram(0.25, 0.5, 0.75)(bucket_upper_bound, cumulative_bucket_value)─┐
│ [0,0.35,1]                                                                                 │
└────────────────────────────────────────────────────────────────────────────────────────────┘
Navigation