make_list() (agregační funkce)
Vytvoří dynamic
pole všech hodnot výrazu ve skupině.
Hodnoty Null se ignorují a nezapočítávají se do výpočtu.
Poznámka
Tato funkce se používá ve spojení s operátorem summarize.
Zastaralé aliasy: makelist()
Syntax
make_list(
výraz [,
maxSize])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyž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 jsou 1048576. |
Poznámka
Zastaralá verze má výchozí limit maxSize 128.
Návraty
Vrátí matici dynamic
všech hodnot výrazu ve skupině.
Pokud vstup operátoru summarize
není 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 nebo array_sort_desc()
vytvořte 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
seznam mylist |
---|
["trojúhelník","čtverec","obdélník","pětiúhelník","šestiúhelník","heptagon","osmiúhelník","nonagon","decagon"] |
Použití klauzule "by"
Následující příklad spustí dotaz pomocí klauzule by
:
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 | seznam mylist |
---|---|
false (nepravda) | ["trojúhelník","pětiúhelník","heptagon","nonagon"] |
true | ["čtverec","obdélník","šestiúhelník","osmiúhelník","decagon"] |
Zabalení dynamického objektu
Následující příklady ukazují, jak zabalit dynamický objekt do sloupce před vytvořením seznamu.
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 | seznam mylist |
---|---|
false (nepravda) | [{"name":"triangle","sideCount":3},{"name":"pětiúhelník","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ý operátoru make_list
s tím rozdílem, že přijímá také predikát.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro