Dela via


make_list() (sammansättningsfunktion)

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Skapar en dynamic matris med alla värden för uttr i gruppen.

Null-värden ignoreras och tar inte hänsyn till beräkningen.

Not

Den här funktionen används tillsammans med operatorn summarize.

Inaktuella alias: makelist()

Syntax

make_list( uttr [,maxSize])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
uttr dynamic ✔️ Uttrycket som används för aggregeringsberäkningen.
maxSize int Det maximala antalet element som returneras. Standardvärdet och maxvärdet är 1048576.

Not

Den inaktuella versionen har standardvärdet maxSize gränsen på 128.

Returnerar

Returnerar en dynamic matris med alla värden för uttr i gruppen. Om indata till summarize-operatorn inte sorteras är ordningen på elementen i den resulterande matrisen odefinierad. Om indata till summarize-operatorn sorteras spårar ordningen på elementen i den resulterande matrisen indata.

Dricks

Använd funktionen array_sort_asc() eller array_sort_desc() för att skapa en ordnad lista med någon nyckel.

Exempel

Exemplen i det här avsnittet visar hur du använder syntaxen för att komma igång.

En kolumn

I följande exempel används datatabellen shapesför att returnera en lista över former i en enda kolumn.

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)

utdata

mylist
["triangel","kvadrat","rektangel","pentagon","hexagon","heptagon","oktagon","nonagon","decagon"]

Använda by-satsen

I följande exempel används funktionen make_list och by-satsen för att skapa två listor med objekt grupperade efter om de har ett jämnt eller udda antal sidor.

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

utdata

isEvenSideCount mylist
falsk ["triangel","pentagon","heptagon","nonagon"]
sann ["square","rektangel","hexagon","oktagon","decagon"]

Packa ett dynamiskt objekt

I följande exempel visas hur du paketera ett dynamiskt objekt i en kolumn innan du gör det till en lista. Den returnerar en kolumn med en boolesk tabell isEvenSideCount som anger om antalet sidor är jämna eller udda och en mylist kolumn som innehåller listor över packade påsar i varje kategori.

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

utdata

isEvenSideCount mylist
falsk [{"name":"triangle","sideCount":3},{"name":"pentagon","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}]
sann [{"name":"square","sideCount":4},{"name":"rektangel","sideCount":4},{"name":"hexagon","sideCount":6},{"name":"octagon","sideCount":8},{"name":"decagon","sideCount":10}]