make_list() (Aggregationsfunktion)
Gilt für: ✅Microsoft Fabric✅✅
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_asc()
die array_sort_desc()
Funktion, um eine sortierte Liste anhand eines Schlüssels zu erstellen.
Beispiele
Die Beispiele in diesem Abschnitt zeigen, wie Sie die Syntax verwenden, um Ihnen den Einstieg zu erleichtern.
Eine Spalte
Im folgenden Beispiel wird die Datentabelle shapes
verwendet, um eine Liste von Shapes in einer einzelnen Spalte zurückzugeben.
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 werden die make_list
-Funktion und die by
-Klausel verwendet, um zwei Listen von Objekten zu erstellen, die gruppiert sind, unabhängig davon, ob sie eine gerade oder ungerade Seitenzahl aufweisen.
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. Es gibt eine Spalte mit einer booleschen Tabelle isEvenSideCount
zurück, die angibt, ob die Seitenanzahl gerade oder ungerade ist, und eine mylist
Spalte, die Listen mit verpackten Taschen enthält, in jeder Kategorie enthalten.
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}] |