Table.Group
Syntaks
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
Om
Grupperer rækkerne i table
efter de nøglekolonner, der er defineret af key
. key
kan enten være et enkelt kolonnenavn eller en liste over kolonnenavne. For hver gruppe oprettes en post, der indeholder nøglekolonnerne (og deres værdier) sammen med alle aggregerede kolonner, der er angivet af aggregatedColumns
. Eventuelt og groupKind
comparer
kan også angives.
Hvis dataene allerede er sorteret efter nøglekolonnerne, kan der angives en groupKind
af GroupKind.Local. Dette kan forbedre ydeevnen for gruppering i visse tilfælde, da alle rækker med et bestemt sæt nøgleværdier antages at være sammenhængende.
Når du overfører en comparer
, skal du være opmærksom på, at hvis den behandler forskellige nøgler som lige, kan en række placeres i en gruppe, hvis nøgler adskiller sig fra deres egne.
Denne funktion garanterer ikke rækkefølgen af de rækker, den returnerer.
Eksempel 1
Gruppér tabellen ved at tilføje en aggregeringskolonne [total], som indeholder summen af priser ("hver List.Sum([price])").
Brug
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"}
)