make_bag()(聚合函数)
创建组中所有 expr 值的 dynamic
JSON 属性包(字典)。
空值会被忽略,不会纳入计算中。
注意
此函数与 summarize 运算符结合使用。
语法
make_bag
(
expr [,
maxSize])
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
expr | dynamic |
✔️ | 用于聚合计算的表达式。 |
maxSize | int |
返回元素最大数目的限制。 默认值和最大值为 1048576。 |
注意
make_dictionary()
已弃用以支持 make_bag()
。 旧版本的默认 maxSize 限制为 128。
返回
返回组中是属性包的所有 Expr 值的 dynamic
JSON 属性包(字典)。 将跳过非字典值。
如果一个键出现在多个行中,则会从此键的可能值中选择一个任意值。
示例
以下示例显示了打包的 JSON 属性包。
let T = datatable(prop:string, value:string)
[
"prop01", "val_a",
"prop02", "val_b",
"prop03", "val_c",
];
T
| extend p = bag_pack(prop, value)
| summarize dict=make_bag(p)
输出
dict |
---|
{ "prop01": "val_a", "prop02": "val_b", "prop03": "val_c" } |
使用 bag_unpack() 插件将 make_bag() 输出中的包键转换为列。
let T = datatable(prop:string, value:string)
[
"prop01", "val_a",
"prop02", "val_b",
"prop03", "val_c",
];
T
| extend p = bag_pack(prop, value)
| summarize bag=make_bag(p)
| evaluate bag_unpack(bag)
输出
prop01 | prop02 | prop03 |
---|---|---|
val_a | val_b | val_c |