Dela via


iff()

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Returnerar värdet then när villkoret if utvärderas till true, annars returneras värdet else.

Funktionerna iff() och iif() är likvärdiga.

Syntax

iff( if , then , else )

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
if string ✔️ Ett uttryck som utvärderas till ett booleskt värde.
then skalär ✔️ Ett uttryck som returnerar dess värde när villkoret if utvärderas till true.
else skalär ✔️ Ett uttryck som returnerar dess värde när villkoret if utvärderas till false.

Returnerar

Den här funktionen returnerar värdet then när villkoret if utvärderas till true, annars returneras värdet else.

Exempel

Klassificera data med iff()

Följande fråga använder funktionen iff() för att kategorisera stormhändelser som antingen "Regnhändelse" eller "Inte regnhändelse" baserat på deras händelsetyp och projicerar sedan tillstånd, händelse-ID, händelsetyp och den nya regnkategorin.

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

utdata

I följande tabell visas endast de första fem raderna.

Stat EventId EventType Regn
ATLANTEN, SÖDRA 61032 Vattenspout Inte regnhändelse
FLORIDA 60904 Kraftigt regn Regnhändelse
FLORIDA 60913 Tromb Inte regnhändelse
GEORGIEN 64588 Åskväder Inte regnhändelse
MISSISSIPPI 68796 Åskväder Inte regnhändelse
... ... ... ...

Kombinera iff() med andra funktioner

Följande fråga beräknar den totala skadan från grödor och egenskaper, kategoriserar allvarlighetsgraden för stormhändelser baserat på total skada, direkta skador och direkta dödsfall och sammanfattar sedan det totala antalet händelser och antalet händelser efter allvarlighetsgrad.

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

utdata

Stränghet TotalEvents
Låg 54805
Hög 977
Moderat 3284