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 Jenis Diperlukan 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 diurutkan, urutan elemen dalam array yang dihasilkan akan melacak urutan elemen input tersebut.

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)

Output

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

Menggunakan klausa 'by'

Contoh berikut menjalankan kueri menggunakan by klausul :

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

Output

isEvenSideCount mylist
salah ["triangle","pentagon","heptagon","nonagon"]
true ["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

Output

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

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