make_list() (funkcja agregacji)
Dotyczy: ✅Microsoft Fabric✅✅
Tworzy tablicę dynamic
wszystkich wartości expr w grupie.
Wartości null są ignorowane i nie są uwzględniane w obliczeniach.
Uwaga
Ta funkcja jest używana w połączeniu z operatorem podsumowania.
Przestarzałe aliasy: makelist()
Składnia
make_list(
expr [,
maxSize])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
wyrażenie | dynamic |
✔️ | Wyrażenie używane do obliczania agregacji. |
maxSize | int |
Maksymalna liczba zwracanych elementów. Wartość domyślna i maksymalna to 1048576. |
Uwaga
Przestarzała wersja ma domyślny limit maxSize 128.
Zwraca
Zwraca tablicę dynamic
wszystkich wartości expr w grupie.
Jeśli dane wejściowe operatora summarize
nie są sortowane, kolejność elementów w wynikowej tablicy jest niezdefiniowana.
Jeśli dane wejściowe operatora summarize
są sortowane, kolejność elementów w wynikowej tablicy śledzi dane wejściowe.
Napiwek
array_sort_asc()
Użyj funkcji orarray_sort_desc()
, aby utworzyć uporządkowaną listę według klucza.
Przykłady
W przykładach w tej sekcji pokazano, jak używać składni, aby ułatwić rozpoczęcie pracy.
Jedna kolumna
W poniższym przykładzie użyto tabeli datatable, shapes
, aby zwrócić listę kształtów w jednej kolumnie.
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)
Wyjście
moja lista |
---|
["trójkąt","kwadrat","prostokąt","pentagon","sześciokąt","heptagon","oktagon","nonagon","decagon"] |
Używanie klauzuli "by"
W poniższym przykładzie użyto funkcji make_list
i klauzuli by
w celu utworzenia dwóch list obiektów pogrupowanych według tego, czy mają parzystą, czy nieparzystą liczbę stron.
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
Wyjście
isEvenSideCount | moja lista |
---|---|
fałsz | ["trójkąt","pentagon","heptagon","nonagon"] |
prawda | ["kwadrat","prostokąt","sześciokąt","oktagon","decagon"] |
Pakowanie obiektu dynamicznego
W poniższych przykładach pokazano, jak spakować obiekt dynamiczny w kolumnie przed utworzeniem listy. Zwraca kolumnę z tabelą logiczną isEvenSideCount
wskazującą, czy liczba stron jest parzysta, czy nieparzysta, a kolumna mylist
zawierająca listy pakowanych worków int każdej 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
Wyjście
isEvenSideCount | moja lista |
---|---|
fałsz | [{"name":"triangle","sideCount":3},{"name":"pentagon","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}] |
prawda | [{"name":"square","sideCount":4},{"name":"rectangle","sideCount":4},{"name":"sześciokąt","sideCount":6},{"name":"octagon","sideCount":8},{"name":"decagon","sideCount":10}] |
Powiązana zawartość
- typy funkcji agregacji na pierwszy rzut oka
make_list_if
- make_bag() (funkcja agregacji)