hll_if() (聚合函數)
計算述詞評估為 dcount
的記錄中結果true
。
閱讀基礎演算法 (HyperLog Log) 和估計精確度。
注意
此函式會與 summarize 運算子搭配使用。
語法
hll_if
(
expr, 述詞 [,
精確度])
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
expr | string |
✔️ | 用於匯總計算的表達式。 |
predicate | string |
✔️ |
Expr,用來篩選要加入至 的中繼結果的dcount 記錄。 |
準確性 | int |
控制速度與精確度之間平衡的值。 如果未指定,則預設值為 1 。 如需支援的值,請參閱 估計精確度。 |
傳回
傳回述詞評估為 之 Exprtrue
結果。
注意
- hll()、hll_if() 和 hll_merge() 的結果可以儲存和稍後擷取。 例如,您可能想要建立每日唯一的使用者摘要,然後可用來計算每周計數。 不過,這些結果的精確二進位表示法可能會隨著時間而變更。 不保證這些函式會針對相同的輸入產生相同的結果,因此我們不建議您依賴它們。
- 使用
hll_merge
函式來合併多個hll
中繼結果。 僅適用於hll
輸出。 - 使用
dcount_hll
,從hll
、hll_merge
或hll_if
聚合函數計算相異計數。
範例
下列查詢會產生愛荷華州和堪薩斯州唯一的洪水事件來源數目。 它會使用 hll_if()
函式來只顯示洪水事件。
StormEvents
| where State in ("IOWA", "KANSAS")
| summarize hll_flood = hll_if(Source, EventType == "Flood") by State
| project State, SourcesOfFloodEvents = dcount_hll(hll_flood)
輸出
州/省 | SourcesOfFloodEvents |
---|---|
堪薩斯州 | 11 |
愛荷華州 | 7 |
估計的正確性
準確度 | 速度 | 錯誤 ≤ |
---|---|---|
0 | 最快 | 1.6 |
1 | 平衡 | 0.8 |
2 | 緩慢 | 0.4 |
3 | 緩慢 | 0.28 |
4 | 慢 | 0.2 |