make_list() (aggregatiefunctie)

Hiermee maakt u een dynamic matrix van alle waarden van expr in de groep.

Null-waarden worden genegeerd en houden geen rekening met de berekening.

Notitie

Deze functie wordt gebruikt in combinatie met de samenvattende operator.

Afgeschafte aliassen: makelist()

Syntax

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 standaard maxSize-limiet van 128.

Retouren

Retourneert een dynamic matrix van alle waarden van expr in de groep. Als de invoer voor de summarize operator niet is gesorteerd, is de volgorde van de elementen in de resulterende matrix niet gedefinieerd. Als de invoer voor de summarize operator is gesorteerd, wordt de volgorde van de elementen in de resulterende matrix bijgehouden die van de invoer.

Tip

Gebruik de array_sort_asc() functie of array_sort_desc() om een geordende lijst met een bepaalde sleutel te maken.

Voorbeelden

Eén kolom

In het volgende voorbeeld wordt een lijst van één kolom weergegeven:

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

mijnlijst
["driehoek","vierkant","rechthoek","vijfhoek","zeshoek","heptagon","octagon","nonagon","decagon"]

De 'by'-component gebruiken

In het volgende voorbeeld wordt een query uitgevoerd met behulp van de by -component:

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 mijnlijst
onjuist ["driehoek","vijfhoek","heptagon","nonagon"]
true ["vierkant","rechthoek","zeshoek","achthoek","decagon"]

Een dynamisch object inpakken

In de volgende voorbeelden ziet u hoe u een dynamisch object in een kolom inpakt voordat u er een lijst van maakt.

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 mijnlijst
onjuist [{"name":"triangle","sideCount":3},{"name":"pentagon","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 is vergelijkbaar met make_list, behalve dat het ook een predicaat accepteert.