你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

array_iff()

适用于:✅Azure 数据资源管理器Azure Monitor✅ Sentinel

动态数组上的元素型 iif 函数。

array_iff()array_iif() 函数是等效的

语法

array_iff( condition_arraywhen_truewhen_false)

详细了解语法约定

参数

客户 类型​​ 必需 描述
condition_array dynamic ✔️ 布尔值或数值的数组。
when_true 动态或标量 ✔️ 值或基元值的数组。 当 condition_arraytrue 时,这是结果。
when_false 动态或标量 ✔️ 值或基元值的数组。 当 condition_arrayfalse 时,这是结果。

注意

  • 返回值的长度与输入 condition_array相同。
  • 如果数值条件值不等于 0,则视为 true
  • 非数值和非布尔条件值在返回值的相应索引中为 null。
  • 如果 when_truewhen_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]