make_bag_if() (Aggregationsfunktion)
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Erstellt einen dynamic
JSON-Eigenschaftenbehälter (Wörterbuch) von Ausdruckswerten in Datensätzen, für die prädikat ausgewertet wird true
.
Nullwerte werden ignoriert und nicht in die Berechnung berücksichtigt.
Syntax
make_bag_if(
Ausdrucks-Prädikat,
[,
maxSize])
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
expr | dynamic |
✔️ | Der Ausdruck, der für die Aggregationsberechnung verwendet wird. |
Prädikat | bool |
✔️ | Das Prädikat, das ausgewertet true wird, damit der Ausdruck dem Ergebnis hinzugefügt werden kann. |
maxSize | int |
Der Grenzwert für die maximale Anzahl zurückgegebener Elemente. Der Standardwert und der Maximalwert sind 1048576. |
Gibt zurück
Gibt einen dynamic
JSON-Eigenschaftenbehälter (Wörterbuch) von Ausdruckswerten in Datensätzen zurück, für die prädikat ausgewertet wird true
. Nichtwörterbuchwerte werden übersprungen.
Wenn ein Schlüssel in mehr als einer Zeile angezeigt wird, wird ein beliebiger Wert aus den möglichen Werten für diesen Schlüssel ausgewählt.
Hinweis
Diese Funktion ohne prädikat ähnelt make_bag
.
Beispiel
Das folgende Beispiel zeigt einen gepackten JSON-Eigenschaftenbehälter.
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" } |
Verwenden Sie bag_unpack() -Plug-In zum Transformieren der Taschentasten in die make_bag_if()-Ausgabe in Spalten.
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 |