共用方式為


iff()

適用於:✅Microsoft FabricAzure 數據總管Azure 監視器Microsoft Sentinel

if 條件評估為 true時,傳回 then 值,否則會傳回 else 值。

iff()iif() 函式相等。

語法

iff( if , then , else )

深入瞭解語法慣例。

參數

名字 類型 必填 描述
if string ✔️ 評估為布爾值的表達式。
then 標量 ✔️ if 條件評估為 true時,會傳回其值的表達式。
else 標量 ✔️ if 條件評估為 false時,會傳回其值的表達式。

返回

if 條件評估為 true時,此函式會傳回 then 值,否則會傳回 else 值。

例子

使用 iff() 分類數據

下列查詢會使用 iff() 函式,根據其事件類型,將風暴事件分類為「雨事件」或「非雨事件」,然後投影狀態、事件標識符、事件類型,以及新的降雨類別。

StormEvents
| extend Rain = iff((EventType in ("Heavy Rain", "Flash Flood", "Flood")), "Rain event", "Not rain event")
| project State, EventId, EventType, Rain

輸出

下表僅顯示前五個數據列。

EventId EventType
大西洋南部 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

輸出

嚴厲 TotalEvents
54805
977
溫和 3284