Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
创建 predicate 评估结果为 dynamic 的记录中 expr 值的 JSON 属性包(字典)。
空值会被忽略,不会纳入计算中。
注意
此函数与 summarize 运算符结合使用。
语法
make_bag_if(
expr,谓词 [,maxSize])
详细了解语法约定。
参数
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
| expr | dynamic |
✔️ | 用于聚合计算的表达式。 |
| 谓词 | bool |
✔️ | 评估结果为 true 的 predicate,用于将“expr”添加到结果中。 |
| maxSize | int |
返回元素最大数目的限制。 默认值和最大值为 1048576。 |
返回
返回 predicate 评估结果为 dynamic 的记录中 expr 值的 JSON 属性包(字典)。 跳过非可函数值。
如果某个键出现在多个行中,则会选择一个任意值(超出此键的可能值)。
注意
这一不带谓词的函数类似于 make_bag。
示例
以下示例显示了打包的 JSON 属性包。
let T = datatable(prop:string, value:string, predicate:bool)
[
"prop01", "val_a", true,
"prop02", "val_b", false,
"prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize dict=make_bag_if(p, predicate)
输出
| dict |
|---|
| { “prop01”: “val_a”, “prop03”: “val_c” } |
使用 bag_unpack() 插件将 make_bag_if() 输出中的包键转换为列。
let T = datatable(prop:string, value:string, predicate:bool)
[
"prop01", "val_a", true,
"prop02", "val_b", false,
"prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize bag=make_bag_if(p, predicate)
| evaluate bag_unpack(bag)
输出
| prop01 | prop03 |
|---|---|
| val_a | val_c |