bag_zip()

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

从两个输入动态数组创建一个动态属性包。 在生成的属性包中,第一个输入数组中的值用作属性键,而第二个输入数组中的值用作相应的属性值。

语法

bag_zip(KeysArray, ValuesArray)

详细了解语法约定

参数

客户 类型​​ 必需 说明
KeysArray dynamic ✔️ 字符串数组。 这些字符串表示生成的属性包的属性名称。
ValuesArray dynamic ✔️ 一个数组,其值将是生成的属性包的属性值。

备注

  • 如果键数多于值数,则缺失值将用 null 填充。
  • 如果值数多于键数,则忽略没有匹配键的值。
  • 将忽略不是字符串的键。

返回

返回动态属性包。

示例

在下面的示例中,键数组和值数组的长度相同,会一起压缩到一个动态属性包中。

let Data = datatable(KeysArray: dynamic, ValuesArray: dynamic) [
    dynamic(['a', 'b', 'c']), dynamic([1, '2', 3.4])
];
Data
| extend NewBag = bag_zip(KeysArray, ValuesArray)
KeysArray ValuesArray NewBag
['a','b','c'] [1,'2',3.4] {'a': 1,'b': '2','c': 3.4}

键多于值

在以下示例中,键数组比值数组长。 缺失值用 null 填充。

let Data = datatable(KeysArray: dynamic, ValuesArray: dynamic) [
    dynamic(['a', 'b', 'c']), dynamic([1, '2'])
];
Data
| extend NewBag = bag_zip(KeysArray, ValuesArray)
KeysArray ValuesArray NewBag
['a','b','c'] [1,'2'] {'a': 1,'b': '2','c': null}

值多于键

在以下示例中,值数组比键数组长。 将忽略没有匹配键的值。

let Data = datatable(KeysArray: dynamic, ValuesArray: dynamic) [
    dynamic(['a', 'b']), dynamic([1, '2', 2.5])
];
Data
| extend NewBag = bag_zip(KeysArray, ValuesArray)
KeysArray ValuesArray NewBag
['a','b'] [1,'2',2.5] {'a': 1,'b': '2'}

非字符串键

在下面的示例中,键数组中有一些值不是字符串类型。 将忽略非字符串值。

let Data = datatable(KeysArray: dynamic, ValuesArray: dynamic) [
    dynamic(['a', 8, 'b']), dynamic([1, '2', 2.5])
];
Data
| extend NewBag = bag_zip(KeysArray, ValuesArray)
KeysArray ValuesArray NewBag
['a',8,'b'] [1,'2',2.5] {'a': 1,'b': 2.5}

用 null 填充值

在下面的示例中,应该是值数组的参数不是数组,因此所有值都用 null 填充。

let Data = datatable(KeysArray: dynamic, ValuesArray: dynamic) [
    dynamic(['a', 8, 'b']), dynamic(1)
];
Data
| extend NewBag = bag_zip(KeysArray, ValuesArray)
KeysArray ValuesArray NewBag
['a',8,'b'] 1 {'a': null,'b': null}

Null 属性包

在下面的示例中,应该是键数组的参数不是数组,因此生成的属性包为 null。

let Data = datatable(KeysArray: dynamic, ValuesArray: dynamic) [
    dynamic('a'), dynamic([1, '2', 2.5])
];
Data
| extend NewBag = bag_zip(KeysArray, ValuesArray)
| extend IsNewBagEmpty=isnull(NewBag)
KeysArray ValuesArray NewBag IsNewBagEmpty
a [1,'2',2.5] TRUE