Condividi tramite


iff()

Si applica a: ✅Microsoft FabricEsplora dati di AzureMonitoraggio di AzureMicrosoft Sentinel

Restituisce il valore then quando la condizione di if restituisce true, in caso contrario restituisce il valore else.

Le funzioni iff() e iif() sono equivalenti.

Sintassi

iff( if , then , else )

Altre informazioni sulle convenzioni di sintassi .

Parametri

Nome Digitare Obbligatorio Descrizione
if string ✔️ Espressione che restituisce un valore booleano.
then scalare ✔️ Espressione che restituisce il relativo valore quando la condizione di if restituisce true.
else scalare ✔️ Espressione che restituisce il relativo valore quando la condizione di if restituisce false.

Rendiconto

Questa funzione restituisce il valore then quando la condizione if restituisce true, in caso contrario restituisce il valore else.

Esempi

Classificare i dati usando iff()

La query seguente usa la funzione iff() per classificare gli eventi di tempesta come "evento Rain" o "Evento Pioggia" in base al tipo di evento e quindi proietta lo stato, l'ID evento, il tipo di evento e la nuova categoria di pioggia.

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

output

La tabella seguente mostra solo le prime cinque righe.

Stato EventId EventType Pioggia
ATLANTIC SOUTH 61032 Waterspout Non pioggia
FLORIDA 60904 Pioggia Evento Rain
FLORIDA 60913 Tornado Non pioggia
GEORGIA 64588 Vento temporale Non pioggia
MISSISSIPPI 68796 Vento temporale Non pioggia
... ... ... ...

Combinare iff() con altre funzioni

La query seguente calcola il danno totale delle colture e delle proprietà, classifica la gravità degli eventi tempesto in base a danni totali, lesioni dirette e decessi diretti e quindi riepiloga il numero totale di eventi e il numero di eventi in base alla gravità.

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

output

Severità TotalEvents
Basso 54805
Alto 977
Moderato 3284