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 key
element . 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
. groupKind
comparer
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 comparer
należ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"}
)