make_list() (agregační funkce)
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
dynamic
Vytvoří pole všech hodnot výrazu ve skupině.
Hodnoty Null se ignorují a nefaktorují do výpočtu.
Zastaralé aliasy: makelist()
Syntaxe
make_list(
výraz [,
maxSize])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
výraz | dynamic |
✔️ | Výraz použitý pro výpočet agregace. |
maxSize | int |
Maximální počet vrácených prvků. Výchozí a maximální hodnota je 1048576. |
Poznámka:
Zastaralá verze má výchozí limit maxSize 128.
Návraty
dynamic
Vrátí matici všech hodnot výrazu ve skupině.
Pokud není vstup operátoru summarize
seřazený, pořadí prvků ve výsledném poli není definováno.
Pokud je vstup operátoru summarize
seřazený, pořadí prvků ve výsledném poli sleduje pořadí vstupu.
Tip
array_sort_asc()
Pomocí funkce můžete array_sort_desc()
vytvořit seřazený seznam podle nějakého klíče.
Příklady
Jeden sloupec
Následující příklad vytvoří seznam z jednoho sloupce:
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)
Výstup
mylist |
---|
["trojúhelník","čtverec","obdélník","pětiúhelník","hexagon","heptagon","octagon","nonagon","decagon"] |
Použití klauzule 'by'
Následující příklad spustí dotaz pomocí by
klauzule:
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
Výstup
isEvenSideCount | mylist |
---|---|
false (nepravda) | ["trojúhelník","pětiúhelník","heptagon","nonagon"] |
true | ["square","rectangle","hexagon","octagon","decagon"] |
Balení dynamického objektu
Následující příklady ukazují, jak před vytvořením seznamu zabalit dynamický objekt do sloupce.
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
Výstup
isEvenSideCount | mylist |
---|---|
false (nepravda) | [{"name":"triangle","sideCount":3},{"name":"rogoznic","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}] |
Související obsah
make_list_if
operátor je podobný make_list
operátoru , s výjimkou toho, že přijímá také predikát.