使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息。
适用于: ✅ Azure 数据资源管理器 ✅ Azure Monitor ✅ Microsoft Sentinel
当 then 条件的计算结果为 if时返回 true 值,否则返回 else 值。
iff()和iif()函数是等效的。
Syntax
iff(
if
,
then
,
else
)
详细了解语法约定。
参数
| 姓名 | 类型 | 必选 | Description |
|---|---|---|---|
| if | string |
✔️ | 计算结果为布尔值的表达式。 |
| then | 标量 | ✔️ | 当 if 条件的计算结果为 true时返回其值的表达式。 |
| else | 标量 | ✔️ | 当 if 条件的计算结果为 false时返回其值的表达式。 |
退货
当 then 条件计算结果为 if时,此函数返回 true 值,否则返回 else 值。
例子
使用 iff() 对数据进行分类
以下查询使用 iff() 函数根据其事件类型将风暴事件分类为“雨事件”或“未下雨事件”,然后投影状态、事件 ID、事件类型和新的降雨类别。
StormEvents
| extend Rain = iff((EventType in ("Heavy Rain", "Flash Flood", "Flood")), "Rain event", "Not rain event")
| project State, EventId, EventType, Rain
输出
下表仅显示前五行。
| State | EventId | 事件类型 | 雨 |
|---|---|---|---|
| 大西洋南部 | 61032 | 水龙卷 | 不下雨事件 |
| 佛罗里达州 | 60904 | 暴雨 | 雨事件 |
| 佛罗里达州 | 60913 | 龙卷风 | 不下雨事件 |
| 佐治亚州 | 64588 | 雷雨大风 | 不下雨事件 |
| 密西西比州 | 68796 | 雷雨大风 | 不下雨事件 |
| ... | ... | ... | ... |
将 iff() 与其他函数组合
以下查询计算作物和财产造成的总损失,根据总损坏、直接伤害和直接死亡对风暴事件的严重性进行分类,然后按严重性汇总事件总数和事件数。
StormEvents
| extend TotalDamage = DamageCrops + DamageProperty
| extend Severity = iff(TotalDamage > 1000000 or InjuriesDirect > 10 or DeathsDirect > 0, "High", iff(TotalDamage < 50000 and InjuriesDirect == 0 and DeathsDirect == 0, "Low", "Moderate"))
| summarize TotalEvents = count(), SeverityEvents = count() by Severity
输出
| Severity | TotalEvents |
|---|---|
| 低 | 54805 |
| 高 | 977 |
| 中等 | 3284 |