Udostępnij za pośrednictwem


Table.Group

Składnia

Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table

Informacje

Grupuje wiersze table według kolumn kluczy zdefiniowanych przez keyelement . Może key to być nazwa pojedynczej kolumny lub lista nazw kolumn. Dla każdej grupy tworzony jest rekord zawierający kolumny klucza (i ich wartości) wraz z wszystkimi zagregowanymi kolumnami określonymi przez aggregatedColumns. groupKindcomparer Opcjonalnie można również określić.

Jeśli dane są już posortowane według kolumn kluczy, można podać element groupKind GroupKind.Local. Może to poprawić wydajność grupowania w niektórych przypadkach, ponieważ przyjmuje się, że wszystkie wiersze z danym zestawem wartości kluczy są ciągłe.

Podczas przekazywania elementu comparernależy pamiętać, że jeśli traktuje różne klucze jako równe, wiersz może zostać umieszczony w grupie, której klucze różnią się od własnych.

Ta funkcja nie gwarantuje kolejności zwracanych wierszy.

Przykład 1

Grupuj tabelę dodając kolumnę agregowaną [total], która zawiera sumę cen ("each List.Sum([price])").

Użycie

Table.Group(
    Table.FromRecords({
        [CustomerID = 1, price = 20],
        [CustomerID = 2, price = 10],
        [CustomerID = 2, price = 20],
        [CustomerID = 1, price = 10],
        [CustomerID = 3, price = 20],
        [CustomerID = 3, price = 5]
    }),
    "CustomerID",
    {"total", each List.Sum([price])}
)

Wyjście

Table.FromRecords(
    {
        [CustomerID = 1, total = 30],
        [CustomerID = 2, total = 30],
        [CustomerID = 3, total = 25]
    },
    {"CustomerID", "total"}
)