Share via


hll_if() (集計関数)

述語が に評価される レコード内の の中間結果dcounttrue計算します。

基になるアルゴリズム* (HyperLogLog) と推定正確度について詳細を表示します。

Note

この関数は、summarize 演算子と組み合わせて使用します。

重要

hll()、hll_if()、およびhll_merge() の結果を格納し、後で取得できます。 たとえば、日単位の一意のユーザーの概要を作成し、それを使用して週単位のカウントを計算できます。 ただし、これらの結果の正確なバイナリ表現は、時間の経過と同時に変化する可能性があります。 これらの関数が同一の入力に対して同じ結果を生成する保証はないため、それらに依存することはお勧めしません。

構文

hll_if(expr, predicate [,accuracy])

構文規則について詳しく知る。

パラメーター

名前 必須 説明
expr string ✔️ 集計計算に使用される式。
predicate string ✔️ の中間結果dcountに追加するレコードをフィルター処理するために使用される Expr
精度 int 速度と精度のバランスを制御する値。 指定しない場合、既定値は 1 です。 サポートされている値については、「 推定精度」を参照してください。

戻り値

述語が に評価される Expr の個別のカウントの中間結果をtrue返します。

ヒント

  • 集計関数 hll_merge を使用して、複数の中間結果を hll マージできます。 出力でのみ機能 hll します。
  • を使用dcount_hllして、、hll_mergeまたはhll_if集計関数からhll個別のカウントを計算できます。

StormEvents
| where State in ("IOWA", "KANSAS")
| summarize hll_flood = hll_if(Source, EventType == "Flood") by State
| project State, SourcesOfFloodEvents = dcount_hll(hll_flood)
State SourcesOfFloodEvents
KANSAS 11
アイオワ州 7

推定精度

精度 速度 エラー (%)
0 最も高速 1.6
1 Balanced 0.8
2 低速 0.4
3 低速 0.28
4 遅い 0.2