Поделиться через


iff()

Применимо: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Возвращает значение then, если условие if оценивается true, в противном случае возвращает значение else.

Функции iff() и iif() эквивалентны.

Синтаксис

iff( if , then , else )

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя Тип Обязательно Описание
if string ✔️ Выражение, которое оценивает логическое значение.
then скалярный ✔️ Выражение, возвращающее значение, когда условие if оценивается как true.
else скалярный ✔️ Выражение, возвращающее значение, когда условие if оценивается как false.

Возвращает

Эта функция возвращает значение then, если условие if оценивается true, в противном случае возвращает значение else.

Примеры

Классификация данных с помощью iff()

Следующий запрос использует функцию iff() для классификации событий storm как "Событие дождя" или "Не дождь события" на основе их типа события, а затем проектирует состояние, идентификатор события, тип события и новую категорию дождя.

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

выходных

В следующей таблице показаны только первые пять строк.

Государство EventId EventType Дождь
АТЛАНТИЧЕСКИЙ ЮГ 61032 Смерч Не дождь события
ФЛОРИДА 60904 Сильный дождь Событие дождя
ФЛОРИДА 60913 Торнадо Не дождь события
ГРУЗИЯ 64588 Гроза ветер Не дождь события
МИССИСИПИ 68796 Гроза ветер Не дождь события
... ... ... ...

Объединение iff() с другими функциями

Следующий запрос вычисляет общий ущерб от сельскохозяйственных культур и имущества, классифицирует серьезность событий шторма на основе общего ущерба, прямых травм и прямых смертей, а затем суммирует общее количество событий и количество событий по серьезности.

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

выходных

Суровость TotalEvents
Низкий 54805
Высокий 977
Умеренный 3284
  • свод ка типов функций скалярных
  • array_iff()
  • bin()
  • оператора расширения