make_bag_if() (funzione di aggregazione)
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Crea un dynamic
contenitore di proprietà JSON (dizionario) di valori espr nei record per cui il predicato restituisce true
.
I valori Null vengono ignorati e non vengono inseriti nel calcolo.
Sintassi
make_bag_if(
expr,
predicate [,
maxSize])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
expr | dynamic |
✔️ | Espressione utilizzata per il calcolo dell'aggregazione. |
predicate | bool |
✔️ | Predicato che restituisce true , affinché expr venga aggiunto al risultato. |
maxSize | int |
Limite per il numero massimo di elementi restituiti. Il valore predefinito e massimo è 1048576. |
Valori restituiti
Restituisce un dynamic
contenitore di proprietà JSON (dizionario) di valori espr nei record per cui il predicato restituisce true
. I valori non del dizionario verranno ignorati.
Se una chiave viene visualizzata in più righe, verrà selezionato un valore arbitrario, rispetto ai valori possibili per questa chiave.
Nota
Questa funzione senza il predicato è simile a make_bag
.
Esempio
L'esempio seguente mostra un contenitore di proprietà JSON compresso.
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)
Output
dict |
---|
{ "prop01": "val_a", "prop03": "val_c" } |
Usare bag_unpack() plug-in per trasformare i tasti contenitore nell'output make_bag_if() in colonne.
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)
Output
prop01 | prop03 |
---|---|
val_a | val_c |