Table.Group
Grupperar rader i tabellen som har samma nyckel.
Syntax
Table.Group(
table as table,
key as any,
aggregatedColumns as list,
optional groupKind as GroupKind.Type,
optional comparer as function
) as table
Remarks
Grupperar raderna med table
efter nyckelkolumnerna som definieras av key
. key
kan antingen vara ett enskilt kolumnnamn eller en lista över kolumnnamn. För varje grupp skapas en post som innehåller nyckelkolumnerna (och deras värden) tillsammans med alla sammanställda kolumner som anges av aggregatedColumns
. Du kan också ange groupKind
och comparer
.
Om data redan är sorterade efter nyckelkolumnerna kan en groupKind
av GroupKind. local tillhandahållas. Detta kan förbättra gruppens prestanda i vissa fall, eftersom alla rader med en viss uppsättning nyckelvärden antas vara sammanhängande.
När du skickar ettcomparer
, tänk på att om det behandlar olika nycklar som likvärdiga kan en rad placeras i en grupp vars nycklar skiljer sig från varandra.
Den här funktionen garanterar inte ordningen för de rader som returneras.
Examples
Example #1
Gruppera tabellen och lägg till en aggregeringskolumn [total] som innehåller summan av priserna ("each List.Sum([price])").
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])}
)
Result:
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)
Category
Table.Transformation