IFF()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Devolve o valor then quando a condição if é avaliada como true
, caso contrário, devolve o valor else.
As funções
iff()
eiif()
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 |
Conteúdo relacionado
- Resumo dos tipos de função escalar
- array_iff()
- bin()
- estender o do operador