make_bag() (função de agregação)

Cria um dynamic recipiente de propriedades JSON (dicionário) de todos os valores de expr no grupo.

Os valores nulos são ignorados e não levam em conta o cálculo.

Observação

Essa função é usada em conjunto com o operador summarize.

Syntax

make_bag(expr [,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.
Maxsize int O limite do número máximo de elementos retornados. O valor padrão e máximo é 1048576.

Observação

make_dictionary() foi preterido em favor de make_bag(). A versão herdada tem um limite de maxSize padrão de 128.

Retornos

Retorna um dynamic recipiente de propriedades JSON (dicionário) de todos os valores de Expr no grupo, que são sacos de propriedade. 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.

Exemplo

O exemplo a seguir mostra um recipiente de propriedades JSON empacotado.

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)

Saída

dict
{ "prop01": "val_a", "prop02": "val_b", "prop03": "val_c" }

Use o plug-in bag_unpack() para transformar as teclas bag na saída make_bag() em colunas.

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)

Saída

prop01 prop02 prop03
val_a val_b val_c

bag_unpack().