hll_if()(聚合函数)

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

计算谓词计算结果为 true 的记录中 dcount 的中间结果。

阅读基础算法 (HyperLogLog ) 和估算准确度

注意

此函数与 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 计算 hllhll_mergehll_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