Bagikan melalui


make_bag_if() (aggregation function)

Membuat tas properti JSON (kamus dynamic ) nilai kedaluwarsa dalam rekaman yang predikatnya dievaluasi ke true.

Nilai null diabaikan dan tidak memperhitungkan perhitungan.

Catatan

Fungsi ini digunakan bersama dengan ringkasan operator.

Sintaks

make_bag_if(predikat expr, [, maxSize])

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib Deskripsi
expr dynamic ✔️ Ekspresi yang digunakan untuk perhitungan agregasi.
predicate bool ✔️ Predikat yang mengevaluasi ke true, agar expr ditambahkan ke hasil.
maxSize int Batas jumlah maksimum elemen yang dikembalikan. Nilai default dan maks adalah 1048576.

Mengembalikan

Mengembalikan tas properti JSON (kamus dynamic ) nilai expr dalam rekaman yang predikatnya dievaluasi ke true. Nilai non-kamus akan dilewati. Jika kunci muncul di lebih dari satu baris, nilai arbitrer, di luar kemungkinan nilai untuk kunci ini, akan dipilih.

Catatan

Fungsi ini tanpa predikat mirip make_bagdengan .

Contoh

Contoh berikut menunjukkan tas properti JSON yang dikemas.

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)

Hasil

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

Gunakan plugin bag_unpack() untuk mengubah kunci tas dalam output the make_bag_if() menjadi kolom.

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)

Hasil

prop01 prop03
val_a val_c