Freigeben über


make_list() (Aggregationsfunktion)

Erstellt ein dynamic Array aller Werte des Ausdrucks in der Gruppe.

Nullwerte werden ignoriert und nicht in die Berechnung berücksichtigt.

Hinweis

Diese Funktion wird zusammen mit dem Zusammenfassungsoperator verwendet.

Veraltete Aliase: makelist()

Syntax

make_list( Ausdruck [, maxSize])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
expr dynamic ✔️ Der Ausdruck, der für die Aggregationsberechnung verwendet wird.
maxSize int Die maximale Anzahl der zurückgegebenen Elemente. Der Standardwert und der Maximalwert sind 1048576.

Hinweis

Die veraltete Version weist einen standardmäßigen maxSize-Grenzwert von 128 auf.

Gibt zurück

Gibt ein dynamic Array aller Werte des Ausdrucks in der Gruppe zurück. Wenn die Eingabe am summarize Operator nicht sortiert ist, ist die Reihenfolge der Elemente im resultierenden Array nicht definiert. Wenn die Eingabe für den summarize Operator sortiert ist, verfolgt die Reihenfolge der Elemente im resultierenden Array die der Eingabe.

Tipp

Verwenden Sie die Funktion oder array_sort_desc() die array_sort_asc() Funktion, um eine sortierte Liste anhand eines Schlüssels zu erstellen.

Beispiele

Eine Spalte

Im folgenden Beispiel wird eine Liste aus einer einzelnen Spalte erstellt:

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
["dreieck","quadratisch","rechteck","fünfeck","hexagon","heptagon","octagon","nonagon","decagon"]

Verwenden der "by"-Klausel

Im folgenden Beispiel wird eine Abfrage mit der by Klausel ausgeführt:

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
false ["dreieck","fünfeck";"heptagon";"nonagon"]
true ["square","rectangle","hexagon","octagon","decagon"]

Packen eines dynamischen Objekts

In den folgenden Beispielen wird gezeigt, wie Sie ein dynamisches Objekt in einer Spalte packen , bevor Sie es zu einer Liste machen.

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
false [{"name":"triangle","sideCount":3},{"name":"fünfeck","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}]

make_list_if operator ist ähnlich make_listwie , außer es akzeptiert auch ein Prädikat.