make_bag_if() (összesítő függvény)

Létrehoz egy dynamic JSON-tulajdonságcsomagot (szótárat ) azokban a rekordokban, amelyekben a predikátum kiértékeli a trueértéket.

A null értékeket a rendszer figyelmen kívül hagyja, és nem veszi figyelembe a számítást.

Megjegyzés

Ezt a függvényt az summarize operátorral együtt használjuk.

Syntax

make_bag_if(Kifejezés,predikátum [,maxSize])

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
Kifejezés dynamic ✔️ Az összesítés kiszámításához használt kifejezés.
Predikátum bool ✔️ A predikátum, amely kiértékeli a trueértéket, hogy a kifejezés hozzá legyen adva az eredményhez.
maxSize int A visszaadott elemek maximális számának korlátja. Az alapértelmezett és a maximális érték 1048576.

Válaszok

Egy JSON-tulajdonságcsomagot (szótárt) ad vissza azokban a rekordokban, amelyekben a predikátum kiértékeli a trueértéket.dynamic A nem szótárértékeket a rendszer kihagyja. Ha egy kulcs egynél több sorban jelenik meg, a rendszer kiválaszt egy tetszőleges értéket a kulcs lehetséges értékei közül.

Megjegyzés

Ez a predikátum nélküli függvény a következőhöz make_baghasonló: .

Példa

Az alábbi példa egy csomagolt JSON-tulajdonságcsomagot mutat be.

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)

Kimenet

dict
{ "prop01": "val_a", "prop03": "val_c" }

Használja a bag_unpack() beépülő modult a make_bag_if() kimenetében lévő zsákkulcsok oszlopokká alakítására.

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)

Kimenet

prop01 prop03
val_a val_c