Partilhar via


IFF()

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

Devolve o valor then quando a condição if é avaliada como true, caso contrário, devolve 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

Designação Tipo Necessário Descrição
if string ✔️ Uma expressão que é avaliada como um valor booleano.
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.

Devoluções

Esta função devolve o valor then quando a condição if é avaliada como true, caso contrário, devolve 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 "Evento de chuva não" 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.

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

Output

A tabela a seguir mostra apenas as cinco primeiras linhas.

Estado ID do Evento Tipo de Evento Chuva
ATLÂNTICO SUL 61032 Tromba d'água Não evento de chuva
FLÓRIDA 60904 Chuva forte Evento de chuva
FLÓRIDA 60913 Tornado Não evento de chuva
GEÓRGIA 64588 Vento Trovoada Não evento de chuva
MISSISSIPPI 68796 Vento Trovoada Não evento de chuva
... ... ... ...

Combine iff() com outras funções

A consulta a seguir calcula o dano total de plantações e propriedades, categoriza a gravidade dos eventos de tempestade com base no dano total, ferimentos diretos e mortes diretas e, em seguida, resume o número total de eventos e o número de eventos por gravidade.

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

Gravidade TotalEvents
Baixo 54805
Alto 977
Moderado 3284