make_bag_if() (função de agregação)
Cria um dynamic
recipiente de propriedades JSON (dicionário) de valores expr em registros para os quais o predicado é true
avaliado como .
Os valores nulos são ignorados e não são levados em conta no cálculo.
Observação
Essa função é usada em conjunto com o operador summarize.
Syntax
make_bag_if(
Expr,
predicado [,
maxSize])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
expr | dynamic |
✔️ | A expressão usada para o cálculo de agregação. |
predicate | bool |
✔️ | O predicado que é true avaliado como , para que expr seja adicionado ao resultado. |
Maxsize | int |
O limite no número máximo de elementos retornados. O valor padrão e max é 1048576. |
Retornos
Retorna um dynamic
recipiente de propriedades JSON (dicionário) de valores expr em registros para os quais o predicado é true
avaliado como . 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, fora dos 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 bag_unpack() plug-in para transformar as teclas bag 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 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de