sumif()(聚合函数)
计算 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 |