Compartir a través de


iff()

Se aplica a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Devuelve el valor de then cuando la condición de if se evalúa como true; de lo contrario, devuelve el valor de else.

Las funciones iff() y iif() son equivalentes.

Sintaxis

iff( if , then , else )

Obtenga más información sobre las convenciones de sintaxis de .

Parámetros

Nombre Tipo Obligatorio Descripción
if string ✔️ Expresión que se evalúa como un valor booleano.
then escalar ✔️ Expresión que devuelve su valor cuando la condición if se evalúa como true.
else escalar ✔️ Expresión que devuelve su valor cuando la condición if se evalúa como false.

Devuelve

Esta función devuelve el valor then cuando la condición if se evalúa como true, de lo contrario, devuelve el valor de else.

Ejemplos

Clasificación de datos mediante iff()

La consulta siguiente usa la función iff() para clasificar los eventos de tormenta como "Evento de lluvia" o "Evento de lluvia" en función de su tipo de evento y, a continuación, proyecta el estado, el identificador de evento, el tipo de evento y la nueva categoría de lluvia.

Ejecutar el de consulta

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

de salida

En la tabla siguiente solo se muestran las cinco primeras filas.

Estado EventId EventType Lluvia
SUR DEL ATLÁNTICO 61032 Tromba Evento de no lluvia
FLORIDA 60904 Lluvia intensa Evento Rain
FLORIDA 60913 Tornado Evento de no lluvia
GEORGIA 64588 Viento de tormenta Evento de no lluvia
MISISIPI 68796 Viento de tormenta Evento de no lluvia
... ... ... ...

Combinar iff() con otras funciones

La consulta siguiente calcula el daño total de cultivos y propiedades, clasifica la gravedad de los eventos de tormenta en función del daño total, las lesiones directas y las muertes directas y, a continuación, resume el número total de eventos y el número de eventos por gravedad.

Ejecutar el de consulta

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

de salida

Severidad TotalEvents
Bajo 54805
Alto 977
Moderado 3284