Compartilhar via


iff()

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Retorna o valor then quando a condição if é avaliada como true, caso contrário, retorna o valor else.

As funções iff() e iif() são equivalentes.

Sintaxe

iff( if , then , else )

Saiba mais sobre convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
if string ✔️ Uma expressão que é avaliada como um valor booliano.
then escalar ✔️ Uma expressão que retorna seu valor quando a condição if é avaliada como true.
else escalar ✔️ Uma expressão que retorna seu valor quando a condição if é avaliada como false.

Retorna

Essa função retorna o valor then quando a condição if é avaliada como true, caso contrário, retorna o valor else.

Exemplos

Classificar dados usando iff()

A consulta a seguir usa a função iff() para categorizar eventos de tempestade como "Evento de chuva" ou "Não evento de chuva" com base em seu tipo de evento e, em seguida, projeta o estado, a ID do evento, o tipo de evento e a nova categoria de chuva.

executar o de consulta

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

de saída

A tabela a seguir mostra apenas as cinco primeiras linhas.

Estado EventId EventType Chuva
ATLÂNTICO SUL 61032 Waterspout Evento não de chuva
FLÓRIDA 60904 Chuva forte Evento de chuva
FLÓRIDA 60913 Tornado Evento não de chuva
GEÓRGIA 64588 Vento de Tempestade Evento não de chuva
MISSISSIPPI 68796 Vento de Tempestade Evento não de chuva
... ... ... ...

Combinar iff() com outras funções

A consulta a seguir calcula o dano total de culturas e propriedades, categoriza a gravidade dos eventos de tempestade com base em danos totais, lesões diretas e mortes diretas e, em seguida, resume o número total de eventos e o número de eventos por gravidade.

executar o 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 saída

Severidade TotalEvents
Baixo 54805
Alto 977
Moderado 3284