你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

countif()(聚合函数)

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

计算 predicate 的计算结果为 true 的行的数目。

Null 值将被忽略,不会纳入计算。

注意

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

语法

countif (predicate)

详细了解语法约定

参数

客户 类型​​ 必需 说明
predicate string ✔️ 用于聚合计算的表达式。 该值可以是返回类型为 bool 的任何标量表达式。

返回

返回 predicate 的计算结果为 true 的行的数目。

示例

按州统计风暴数

此示例显示了按州统计的对农作物造成损害的风暴次数。

StormEvents
| summarize TotalCount=count(),TotalWithDamage=countif(DamageCrops >0) by State

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

状态 TotalCount TotalWithDamage
德克萨斯 4701 72
KANSAS 3166 70
衣阿华州 2337 359
ILLINOIS 2022 35
MISSOURI 2016 78
佐治亚州 1983 17
明尼苏达州 1881 37
威斯康星州 1850 75
內布拉斯加州 1766 201
NEW YORK 1750 1
... ... ...

基于字符串长度的计数

此示例显示超过 4 个字母的名称数量。

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

输出

countif_
2

count() 函数,用于在没有谓词表达式的情况下计算行数。