make_list() (aggregatiefunctie)
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Hiermee maakt u een dynamic
matrix van alle waarden van expr- in de groep.
Null-waarden worden genegeerd en worden niet meegenomen in de berekening.
Notitie
Deze functie wordt gebruikt in combinatie met de operator summarize.
afgeschafte aliassen: makelist()
Syntaxis
make_list(
expr [,
maxSize])
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
expr- | dynamic |
✔️ | De expressie die wordt gebruikt voor de aggregatieberekening. |
maxSize | int |
Het maximum aantal geretourneerde elementen. De standaard- en maximumwaarde is 1048576. |
Notitie
De afgeschafte versie heeft een standaardversie maxSize limiet van 128.
Retourneert
Retourneert een dynamic
matrix van alle waarden van expr- in de groep.
Als de invoer voor de operator summarize
niet wordt gesorteerd, is de volgorde van elementen in de resulterende matrix niet gedefinieerd.
Als de invoer voor de summarize
-operator wordt gesorteerd, houdt de volgorde van elementen in de resulterende matrix die van de invoer bij.
Fooi
Gebruik de functie array_sort_asc()
of array_sort_desc()
om een geordende lijst met een bepaalde sleutel te maken.
Voorbeelden
In de voorbeelden in deze sectie ziet u hoe u de syntaxis kunt gebruiken om aan de slag te gaan.
Eén kolom
In het volgende voorbeeld wordt de gegevenstabel, shapes
, gebruikt om een lijst met shapes in één kolom te retourneren.
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)
uitvoer
mylist |
---|
["driehoek","vierkant","rechthoek","vijfhoek","hexagon","heptagon","octagon","nonagon","decagon"] |
De 'by'-component gebruiken
In het volgende voorbeeld worden de make_list
-functie en de by
-component gebruikt om twee lijsten met objecten te maken die zijn gegroepeerd op het feit of ze een even of oneven aantal zijden hebben.
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
uitvoer
isEvenSideCount | mylist |
---|---|
vals | ["driehoek","vijfhoek","heptagon","nonagon"] |
waar | ["vierkant","rechthoek","zeshoek","octagon","decagon"] |
Een dynamisch object verpakken
In de volgende voorbeelden ziet u hoe u inpakt een dynamisch object in een kolom voordat u een lijst maakt. Het retourneert een kolom met een booleaanse tabel isEvenSideCount
die aangeeft of het aantal zijden even of oneven is en een mylist
kolom met lijsten met verpakte zakken in elke categorie.
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
uitvoer
isEvenSideCount | mylist |
---|---|
vals | [{"name":"triangle","sideCount":3},{"name":"pentagon","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}] |
waar | [{"name":"square","sideCount":4},{"name":"rectangle","sideCount":4},{"name":"hexagon","sideCount":6},{"name":"octagon","sideCount":8},{"name":"decagon","sideCount":10}] |