make_bag() (función de agregación)

Crea un dynamic contenedor de propiedades JSON (diccionario) de todos los valores de expr del grupo.

Los valores NULL se omiten y no tienen en cuenta el cálculo.

Nota

Esta función se usa junto con el operador summarize.

Syntax

make_bag(expr [,maxSize])

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
expr dynamic ✔️ Expresión usada para el cálculo de agregación.
Maxsize int Límite en el número máximo de elementos devueltos. El valor predeterminado y máximo es 1048576.

Nota

make_dictionary() ha quedado en desuso en favor de make_bag(). La versión heredada tiene un límite de maxSize predeterminado de 128.

Devoluciones

Devuelve un dynamic contenedor de propiedades JSON (diccionario) de todos los valores de Expr del grupo, que son bolsas de propiedades. Se omitirán los valores que no son de diccionario. Si aparece una clave en más de una fila, se seleccionará un valor arbitrario, fuera de los valores posibles para esta clave.

Ejemplo

En el ejemplo siguiente se muestra un contenedor de propiedades JSON empaquetado.

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)

Salida

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

Use el complemento bag_unpack() para transformar las claves de contenedor en la salida make_bag() en columnas.

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)

Salida

prop01 prop02 prop03
val_a val_b val_c

bag_unpack().