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


array_iff()

Область применения: ✅Microsoft Fabric

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

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

Синтаксис

array_iff( condition_array, when_true, when_false)

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

Параметры

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

Примечание.

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

Возвраты

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

Примеры

В следующем примере показано, как использовать функцию array_iff() для вычисления элементов в массиве.

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)

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

условие 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)

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

условие if_true if_false res
[1, 0, 50] да нет [да, нет, да]

В следующем примере показано, как использовать функцию array_iff() с нечисловыми и не логическими значениями условий.

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)

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

условие 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)

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

условие if_true if_false res
[true, true, true] [1, 2] [3, 4] [1, 2, null]