你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:✅Microsoft Fabric✅Azure 数据资源管理器Azure Monitor✅Microsoft✅ 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 |