make_bag() (función de agregación)
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 |