sumif()(聚合函数)

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

计算 predicate 评估结果为 true 的记录中 Expr 的总和。

空值会被忽略,不会纳入计算中。

注意

此函数与 summarize 运算符结合使用。

还可以使用 sum() 函数,该函数在没有谓词表达式的情况下对行求和。

语法

sumif(expr,predicate)

详细了解语法约定

参数

客户 类型​​ 必需 说明
expr string ✔️ 用于聚合计算的表达式。
predicate string ✔️ 用于筛选行的表达式。 如果 predicate 的评估结果为 true,则行将包含在结果中。

返回

返回 predicate 评估结果为 true 的 Expr 的总和。

示例显示了基于无人员伤亡计数的损失总和

此示例显示了没有人员伤亡的风暴的损失总和。

StormEvents
| summarize DamageNoCasualties=sumif((DamageCrops+DamageProperty),(DeathsDirect+DeathsIndirect)==0) by State

输出

显示的结果表仅包括前 10 行。

状态 DamageNoCasualties
德克萨斯 242638700
KANSAS 407360000
衣阿华州 135353700
ILLINOIS 120394500
MISSOURI 1096077450
佐治亚州 1077448750
明尼苏达州 230407300
威斯康星州 241550000
內布拉斯加州 70356050
NEW YORK 58054000
... ...

显示出生日期总和的示例

此示例显示了所有超过 4 个字母的姓名的出生日期总和。

let T = datatable(name:string, day_of_birth:long)
[
   "John", 9,
   "Paul", 18,
   "George", 25,
   "Ringo", 7
];
T
| summarize sumif(day_of_birth, strlen(name) > 4)

输出

sumif_day_of_birth
32