Table.Group
Syntax
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
Om
Grupperar raderna table
i efter de nyckelkolumner som definieras av key
. key
Kan antingen vara ett enstaka kolumnnamn eller en lista med kolumnnamn. För varje grupp skapas en post som innehåller nyckelkolumnerna (och deras värden), tillsammans med eventuella aggregerade kolumner som anges av aggregatedColumns
. Valfritt, groupKind
och comparer
kan också anges.
Om data redan har sorterats efter nyckelkolumnerna kan du ange en groupKind
av GroupKind.Local. Detta kan förbättra prestandan för gruppering i vissa fall, eftersom alla rader med en viss uppsättning nyckelvärden antas vara sammanhängande.
När du skickar en comparer
, observera att om den behandlar olika nycklar som lika kan en rad placeras i en grupp vars nycklar skiljer sig från sina egna.
Den här funktionen garanterar inte ordningen på de rader som returneras.
Exempel 1
Gruppera tabellen och lägg till en aggregeringskolumn [total] som innehåller summan av priserna ("varje lista.Summa([pris])").
Användning
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])}
)
Output
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)