make_bag_if() (função de agregação)
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Cria um dynamic
recipiente de propriedades JSON (dicionário) de valores expr em registros para os quais o predicado é avaliado como true
.
Os valores nulos são ignorados e não são considerados no cálculo.
Observação
Essa função é usada em conjunto com o operador summarize.
Sintaxe
make_bag_if(
expr,
predicado [,
maxSize])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
expr | dynamic |
✔️ | A expressão usada para o cálculo de agregação. |
predicate | bool |
✔️ | O predicado que é avaliado como true , para que expr seja adicionado ao resultado. |
maxSize | int |
O limite do número máximo de elementos retornados. O valor padrão e máximo é 1048576. |
Devoluções
Retorna um dynamic
recipiente de propriedades JSON (dicionário) de valores expr em registros para os quais o predicado é avaliado como true
. Os valores que não são de dicionário serão ignorados.
Se uma chave aparecer em mais de uma linha, um valor arbitrário, entre os valores possíveis para essa chave, será selecionado.
Observação
Essa função sem o predicado é semelhante a make_bag
.
Exemplo
O exemplo a seguir mostra um recipiente de propriedades JSON empacotado.
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)
Saída
dict |
---|
{ "prop01": "val_a", "prop03": "val_c" } |
Use o plugin bag_unpack() para transformar as chaves do saco na saída make_bag_if() em colunas.
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)
Saída
Prop01 | Prop03 |
---|---|
val_a | val_c |