Udostępnij za pośrednictwem


iff()

Dotyczy: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Zwraca wartość then, gdy warunek if oblicza wartość true, w przeciwnym razie zwraca wartość else.

Funkcje iff() i iif() są równoważne.

Składnia

iff( if , then , else )

Dowiedz się więcej na temat konwencji składni .

Parametry

Nazwa Typ Wymagane Opis
if string ✔️ Wyrażenie, które oblicza wartość logiczną.
then skalar ✔️ Wyrażenie zwracające jego wartość, gdy warunek if oblicza wartość true.
else skalar ✔️ Wyrażenie zwracające jego wartość, gdy warunek if oblicza wartość false.

Zwraca

Ta funkcja zwraca wartość then, gdy warunek if oblicza wartość true, w przeciwnym razie zwraca wartość else.

Przykłady

Klasyfikowanie danych przy użyciu funkcji iff()

Poniższe zapytanie używa funkcji iff() do kategoryzowania zdarzeń burzy jako "Zdarzenie deszczu" lub "Zdarzenie nie deszczowe" na podstawie typu zdarzenia, a następnie projektuje stan, identyfikator zdarzenia, typ zdarzenia i nową kategorię deszczu.

Uruchom zapytania

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

wyjściowe

W poniższej tabeli przedstawiono tylko pięć pierwszych wierszy.

Stan Identyfikator zdarzenia EventType Deszcz
POŁUDNIE ATLANTYCKIE 61032 Wodopoje Impreza nie deszczowa
FLORYDA 60904 Ulewny deszcz Zdarzenie deszczu
FLORYDA 60913 Tornado Impreza nie deszczowa
GRUZJA 64588 Burza wiatru Impreza nie deszczowa
MISSISIPI 68796 Burza wiatru Impreza nie deszczowa
... ... ... ...

Łączenie funkcji iff() z innymi funkcjami

Poniższe zapytanie oblicza łączne szkody z upraw i właściwości, kategoryzuje ważność zdarzeń burzy na podstawie całkowitego uszkodzenia, bezpośrednich obrażeń i bezpośrednich zgonów, a następnie podsumowuje łączną liczbę zdarzeń i liczbę zdarzeń według ważności.

Uruchom zapytania

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

wyjściowe

Dotkliwość TotalEvents
Niski 54805
Wysoki 977
Umiarkowany 3284