iff()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vrátí hodnotu then, když se podmínka if vyhodnotí jako true
, v opačném případě vrátí hodnotu else.
Funkce
iff()
aiif()
jsou ekvivalentní.
Syntax
iff(
if
,
then
,
else
)
Přečtěte si další informace o konvencích syntaxe .
Parametry
Jméno | Typ | Požadovaný | Popis |
---|---|---|---|
if | string |
✔️ | Výraz, který se vyhodnotí jako logická hodnota. |
then | skalární | ✔️ | Výraz, který vrací jeho hodnotu, když se podmínka if vyhodnotí jako true . |
else | skalární | ✔️ | Výraz, který vrací jeho hodnotu, když se podmínka if vyhodnotí jako false . |
Návraty
Tato funkce vrátí then hodnotu, když se podmínka if vyhodnotí jako true
, v opačném případě vrátí hodnotu else.
Příklady
Klasifikace dat pomocí iff()
Následující dotaz používá funkci iff()
k kategorizaci událostí stormu jako "Událost deště" nebo "Not rain event" na základě jejich typu události a potom projektuje stav, ID události, typ události a novou kategorii deště.
StormEvents
| extend Rain = iff((EventType in ("Heavy Rain", "Flash Flood", "Flood")), "Rain event", "Not rain event")
| project State, EventId, EventType, Rain
výstupní
Následující tabulka zobrazuje pouze prvních pět řádků.
Stát | ID události | Typ události | Déšť |
---|---|---|---|
ATLANTICKÝ JIH | 61032 | Okapová trouba | Neprší událost |
FLORIDA | 60904 | Těžký déšť | Dešťová událost |
FLORIDA | 60913 | Tornádo | Neprší událost |
GRUZIE | 64588 | Bouřlivá vítr | Neprší událost |
MISSISSIPPI | 68796 | Bouřlivá vítr | Neprší událost |
... | ... | ... | ... |
Kombinování iff() s jinými funkcemi
Následující dotaz vypočítá celkové poškození plodin a majetku, kategorizuje závažnost událostí bouře na základě celkového poškození, přímých zranění a přímých úmrtí a potom shrnuje celkový počet událostí a počet událostí podle závažnosti.
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
výstupní
Závažnost | TotalEvents |
---|---|
Nízký | 54805 |
Vysoko | 977 |
Moderovat | 3284 |