make_bag_if() (agregační funkce)
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vytvoří tašku dynamic
vlastností JSON (slovník) hodnot výrazů v záznamech, pro které se predikát vyhodnotí jako true
.
Hodnoty Null se ignorují a nefaktorují do výpočtu.
Syntaxe
make_bag_if(
,
predikát výrazu [,
maxSize])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
výraz | dynamic |
✔️ | Výraz použitý pro výpočet agregace. |
predikát | bool |
✔️ | Predikát, který se vyhodnotí jako true výraz , aby se výraz přidal do výsledku. |
maxSize | int |
Limit maximálního počtu vrácených prvků. Výchozí a maximální hodnota je 1048576. |
Návraty
Vrátí tašku dynamic
vlastností JSON (slovník) hodnot výrazů v záznamech, pro které se predikát vyhodnotí jako true
. Hodnoty, které nejsou slovníky, se přeskočí.
Pokud se klíč zobrazí ve více než jednom řádku, vybere se libovolná hodnota z možných hodnot tohoto klíče.
Poznámka:
Tato funkce bez predikátu je podobná make_bag
.
Příklad
Následující příklad ukazuje zabalenou tašku vlastností JSON.
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)
Výstup
Dict |
---|
{ "prop01": "val_a", "prop03": "val_c" } |
K transformaci klíčů tašky ve výstupu make_bag_if() do sloupců použijte modul plug-in bag_unpack().
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)
Výstup
prop01 | prop03 |
---|---|
val_a | val_c |