make_list() (funkcja agregacji)
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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
Jedna kolumna
Poniższy przykład tworzy listę z jednej kolumny:
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"
Poniższy przykład uruchamia zapytanie przy użyciu klauzuli 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
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.
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ść
make_list_if
operator jest podobny do make_list
, z wyjątkiem tego, że akceptuje również predykat.