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

Létrehoz egy dynamic tömböt a csoport összes kif értékéből.

A null értékek figyelmen kívül lesznek hagyva, és nem számítanak bele a számításba.

Megjegyzés

Ezt a függvényt az összegző operátorral együtt használja a rendszer.

Elavult aliasok: makelist()

Syntax

make_list(expr [,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.
maxSize int A visszaadott elemek maximális száma. Az alapértelmezett és maximális érték 1048576.

Megjegyzés

Az elavult verzió alapértelmezett maxSize korlátja 128.

Válaszok

Egy tömböt dynamic ad vissza a csoport összes kif értékéből. Ha az operátor bemenete summarize nincs rendezve, az eredményül kapott tömb elemeinek sorrendje nincs meghatározva. Ha az summarize operátor bemenete rendezve van, az eredményként kapott tömb elemeinek sorrendje a bemenetet követi nyomon.

Tipp

A vagy array_sort_desc() függvény array_sort_asc() használatával egy kulcs alapján rendezett listát hozhat létre.

Példák

Egy oszlop

Az alábbi példa egyetlen oszlopból készít listát:

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)

Kimenet

mylist
["triangle","square","téglalap","pentagon","hexagon","heptagon","octagon","nonagon","decagon"]

A "by" záradék használata

Az alábbi példa egy lekérdezést futtat a by záradék használatával:

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

Kimenet

isEvenSideCount mylist
hamis ["triangle","pentagon","heptagon","nonagon"]
true ["square","téglalap","hatszög","octagon","decagon"]

Dinamikus objektum csomagolása

Az alábbi példák bemutatják, hogyan csomagolhat dinamikus objektumokat egy oszlopba, mielőtt listává teszi.

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

Kimenet

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

make_list_if az operátor hasonló a make_list, kivéve, hogy egy predikátumot is elfogad.