hll_if()(聚合函数)
计算谓词计算结果为 true
的记录中 dcount
的中间结果。
注意
此函数与 summarize 运算符结合使用。
重要
hll()、hll_if() 和 hll_merge() 的结果可以进行存储,并在以后进行检索。 例如,你可能想要创建每日唯一用户摘要,然后就可以将其用于计算每周计数。 然而,这些结果的精确二进制表示形式可能会随时间而改变。 无法保证这些函数会为相同的输入生成相同的结果,因此不建议依赖它们。
语法
hll_if
(
expr、谓词 [,
准确度])
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
expr | string |
✔️ | 用于聚合计算的表达式。 |
predicate | string |
✔️ | Expr,用于筛选要添加到 dcount 中间结果的记录。 |
accuracy | int |
该值用于控制速度与准确度之间的平衡。 如果未指定,则默认值为 1 。 有关受支持的值,请参阅估计准确度。 |
返回
返回谓词计算结果为 true
的 Expr 的非重复计数的中间结果。
提示
- 可以使用聚合函数
hll_merge
合并多个hll
中间结果。 仅适用于hll
输出。 - 可以使用
dcount_hll
计算hll
、hll_merge
或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 |
---|---|
KANSAS | 11 |
衣阿华州 | 7 |
估计准确度
精确度 | Speed | 错误 (%) |
---|---|---|
0 | 最快 | 1.6 |
1 | 已平衡 | 0.8 |
2 | 慢 | 0.4 |
3 | 慢 | 0.28 |
4 | 最慢 | 0.2 |