Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Crea un dynamic contenedor de propiedades JSON (diccionario) de valores expr en registros para los que el predicado se evalúa como true.
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_if(
predicado expr,[,])
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. |
| predicado | bool |
✔️ | Predicado que se evalúa truecomo , para que expr se agregue al resultado. |
| maxSize | int |
Límite en el número máximo de elementos devueltos. El valor predeterminado y máximo es 1048576. |
Devoluciones
Devuelve un dynamic contenedor de propiedades JSON (diccionario) de valores expr en registros para los que el predicado se evalúa como true. Se omiten los valores nodictionarios.
Si aparece una clave en más de una fila, se selecciona un valor arbitrario, fuera de los valores posibles para esta clave.
Nota:
Esta función sin el predicado es similar a make_bag.
Ejemplo
En el ejemplo siguiente se muestra un contenedor de propiedades JSON empaquetado.
let T = datatable(prop:string, value:string, predicate:bool)
[
"prop01", "val_a", true,
"prop02", "val_b", false,
"prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize dict=make_bag_if(p, predicate)
Salida
| dict |
|---|
| { "prop01": "val_a", "prop03": "val_c" } |
Use bag_unpack() complemento para transformar las claves de contenedor en la salida make_bag_if() en columnas.
let T = datatable(prop:string, value:string, predicate:bool)
[
"prop01", "val_a", true,
"prop02", "val_b", false,
"prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize bag=make_bag_if(p, predicate)
| evaluate bag_unpack(bag)
Salida
| prop01 | prop03 |
|---|---|
| val_a | val_c |