Bagikan melalui


make_list() (aggregation function)

dynamic Membuat array semua nilai expr dalam grup.

Nilai null diabaikan dan tidak memperhitungkan perhitungan.

Catatan

Fungsi ini digunakan bersama dengan ringkasan operator.

Alias yang tidak digunakan lagi: makelist()

Sintaks

make_list(expr [, maxSize])

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib Deskripsi
expr dynamic ✔️ Ekspresi yang digunakan untuk perhitungan agregasi.
maxSize int Jumlah maksimum elemen yang dikembalikan. Nilai default dan maks adalah 1048576.

Catatan

Versi yang tidak digunakan lagi memiliki batas maxSize default 128.

Mengembalikan

Mengembalikan dynamic array dari semua nilai expr dalam grup. Jika input ke summarize operator tidak diurutkan, urutan elemen dalam array yang dihasilkan tidak ditentukan. Jika input ke operator summarize tidak diurutkan, urutan elemen dalam larik yang dihasilkan melacak hal itu dari input.

Tip

Gunakan fungsi array_sort_asc() atau array_sort_desc() untuk membuat daftar berurutan berdasarkan beberapa kunci.

Contoh

Satu kolom

Contoh berikut membuat daftar dari satu kolom:

let shapes = datatable (name: string, sideCount: int)
[
    "triangle", 3,
    "square", 4,
    "rectangle", 4,
    "pentagon", 5,
    "hexagon", 6,
    "heptagon", 7,
    "octagon", 8,
    "nonagon", 9,
    "decagon", 10
];
shapes
| summarize mylist = make_list(name)

Hasil

mylist
["segitiga","square","rectangle","pentagon","hexagon","heptagon","octagon","nonagon","decagon"]

Menggunakan klausa 'by'

Contoh berikut menjalankan kueri menggunakan by klausa:

let shapes = datatable (name: string, sideCount: int)
[
    "triangle", 3,
    "square", 4,
    "rectangle", 4,
    "pentagon", 5,
    "hexagon", 6,
    "heptagon", 7,
    "octagon", 8,
    "nonagon", 9,
    "decagon", 10
];
shapes
| summarize mylist = make_list(name) by isEvenSideCount = sideCount % 2 == 0

Hasil

isEvenSideCount mylist
salah ["triangle","pentagon","heptagon","nonagon"]
benar ["square","rectangle","hexagon","octagon","decagon"]

Mengemas objek dinamis

Contoh berikut menunjukkan cara mengemas objek dinamis dalam kolom sebelum menjadikannya daftar.

let shapes = datatable (name: string, sideCount: int)
[
    "triangle", 3,
    "square", 4,
    "rectangle", 4,
    "pentagon", 5,
    "hexagon", 6,
    "heptagon", 7,
    "octagon", 8,
    "nonagon", 9,
    "decagon", 10
];
shapes
| extend d = bag_pack("name", name, "sideCount", sideCount)
| summarize mylist = make_list(d) by isEvenSideCount = sideCount % 2 == 0

Hasil

isEvenSideCount mylist
salah [{"name":"triangle","sideCount":3},{"name":"pentagon","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}]
benar [{"name":"square","sideCount":4},{"name":"rectangle","sideCount":4},{"name":"hexagon","sideCount":6},{"name":"octagon","sideCount":8},{"name":"decagon","sideCount":10}]

make_list_if operator mirip dengan make_list, kecuali operator tersebut juga menerima predikat.