make_list() (Aggregationsfunktion)
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Erstellt ein dynamic
Array aller Werte des Ausdrucks in der Gruppe.
Nullwerte werden ignoriert und nicht in die Berechnung berücksichtigt.
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}] |
Zugehöriger Inhalt
make_list_if
operator ist ähnlich make_list
wie , außer es akzeptiert auch ein Prädikat.