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


array_iff()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Функция iif с использованием элементов в динамических массивах.

array_iif() Функции array_iff() эквивалентны

Синтаксис

array_iff(condition_array, when_true, when_false)

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

Параметры

Имя (название) Type Обязательно Описание
condition_array dynamic ✔️ Массив логических или числовых значений.
when_true динамический или скалярный ✔️ Массив значений или примитивных значений. Это будет результатом, если condition_array имеет значение true.
when_false динамический или скалярный ✔️ Массив значений или примитивных значений. Это будет результатом, если condition_array имеет значение false.

Примечание.

  • Длина возвращаемого значения будет совпадать с входным condition_array.
  • Числовые значения условий считаются true не равными 0.
  • Значения условий, не являющиеся числовыми и не логическими, будут иметь значение NULL в соответствующем индексе возвращаемого значения.
  • Если when_true или when_false короче condition_array, отсутствующие значения будут рассматриваться как null.

Возвраты

Возвращает динамический массив значений, взятых из значений when_true или when_false массива, в соответствии с соответствующим значением массива условий.

Примеры

print condition=dynamic([true,false,true]), if_true=dynamic([1,2,3]), if_false=dynamic([4,5,6]) 
| extend res= array_iff(condition, if_true, if_false)

Выходные данные

condition if_true if_false res
[true, false, true] [1, 2, 3] [4, 5, 6] [1, 5, 3]

Числовые значения условий

print condition=dynamic([1,0,50]), if_true="yes", if_false="no" 
| extend res= array_iff(condition, if_true, if_false)

Выходные данные

condition if_true if_false res
[1, 0, 50] yes no [да, нет, да]

Нечисловые и не логические значения условий

print condition=dynamic(["some string value", datetime("01-01-2022"), null]), if_true=1, if_false=0
| extend res= array_iff(condition, if_true, if_false)

Выходные данные

condition if_true if_false res
[true, false, true] 1 0 [NULL, NULL, NULL]

Несоответствие длины массива

print condition=dynamic([true,true,true]), if_true=dynamic([1,2]), if_false=dynamic([3,4]) 
| extend res= array_iff(condition, if_true, if_false)

Выходные данные

condition if_true if_false res
[true, true, true] [1, 2] [3, 4] [1, 2, null]