Partilhar via


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

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

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

Os valores nulos são ignorados e não entram no cálculo.

Observação

Esta função é usada em conjunto com o operador resumo.

Sintaxe

make_bag ( expr [,maxSize])

Saiba mais sobre convenções de sintaxe.

Parâmetros

Designação Tipo Necessá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 padrão maxSize de 128.

Devoluções

Retorna um dynamic conjunto de propriedades JSON (dicionário) de todos os valores de Expr no grupo, que são pacotes de propriedades. Os valores não dicionários sã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 pacote de propriedades JSON compactado.

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)

Output

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

Use o plug-in bag_unpack() para transformar as chaves do saco 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)

Output

prop01 prop02 prop03
val_a val_b val_c