make_list() (sammansättningsfunktion)

Skapar en dynamic matris med alla värden för expr i gruppen.

Null-värden ignoreras och tar inte hänsyn till beräkningen.

Anteckning

Den här funktionen används tillsammans med sammanfattningsoperatorn.

Inaktuella alias: makelist()

Syntax

make_list(expr [,maxSize])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
Uttryck dynamic ✔️ Uttrycket som används för aggregeringsberäkningen.
Maxsize int Det maximala antalet element som returneras. Standardvärdet och maxvärdet är 1048576.

Anteckning

Den inaktuella versionen har en maxSize-standardgräns på 128.

Returer

Returnerar en dynamic matris med alla värden för expr i gruppen. Om indata till operatorn summarize inte sorteras är ordningen på elementen i den resulterande matrisen odefinierad. Om indata till operatorn summarize sorteras spårar ordningen på elementen i den resulterande matrisen indata.

Tips

array_sort_asc() Använd funktionen eller array_sort_desc() för att skapa en ordnad lista med någon nyckel.

Exempel

En kolumn

I följande exempel visas en lista från en enda kolumn:

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)

Resultat

mylist
["triangel","kvadrat","rektangel","pentagon","hexagon","heptagon","oktagon","nonagon","decagon"]

Använda by-satsen

I följande exempel körs en fråga med hjälp av by -satsen:

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

Resultat

isEvenSideCount mylist
falskt ["triangel","pentagon","heptagon","nonagon"]
true ["square","rektangel","hexagon","oktagon","decagon"]

Paketering av ett dynamiskt objekt

I följande exempel visas hur du packar ett dynamiskt objekt i en kolumn innan du gör det till en lista.

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

Resultat

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

make_list_if operatorn liknar , förutom att make_listden också accepterar ett predikat.