Udostępnij za pośrednictwem


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}]