array_iff()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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] |