Compartir a través de


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

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Crea un dynamic contenedor de propiedades JSON (diccionario) de todos los valores de expr en el 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.

Sintaxis

make_bag(expr [, maxSize])

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

Parámetros

Nombre Type Obligatorio 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 no diccionarios. Si una clave aparece 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().