Delen via


make_list() (aggregatiefunctie)

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft 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}]