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
Příklady v této části ukazují, jak používat syntaxi, která vám pomůže začít.
Jeden sloupec
Následující příklad používá datatable, shapes
, k vrácení seznamu obrazců v jednom sloupci.
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 používá funkci make_list
a klauzuli by
k vytvoření dvou seznamů objektů seskupených podle toho, zda mají sudý nebo lichý počet stran.
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. Vrátí sloupec s logickou tabulkou isEvenSideCount
označující, jestli je počet stran sudý nebo lichý, a sloupec mylist
, který obsahuje seznamy zabalených sáčků v každé kategorii.
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
- typy funkcí agregace na první pohled
make_list_if
- make_bag() (agregační funkce)