Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
当 if 条件计算结果为 true 时返回 then 值,否则返回 else 值。
iff()和iif()函数是等效的。
语法
iff(if, then, else)
详细了解语法约定。
参数
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
| if | string |
✔️ | 计算结果为布尔值的表达式。 |
| then | 标量 (scalar) | ✔️ | 当 if 条件计算结果为 true 时返回其值的表达式。 |
| else | 标量 (scalar) | ✔️ | 当 if 条件计算结果为 false 时返回其值的表达式。 |
返回
此函数当 if 条件计算结果为 true 时返回 then 值,否则返回 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
输出
下表仅显示前五行。
| 状态 | EventId | EventType | 雨 |
|---|---|---|---|
| 大西洋南部 | 61032 | Waterspout | 非下雨事件 |
| 佛罗里达州 | 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 |