Table.Group
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
Grupperer radene etter table
nøkkelkolonnene som er definert av key
. Kan key
enten være et enkelt kolonnenavn eller en liste med kolonnenavn. For hver gruppe konstrueres en post som inneholder nøkkelkolonnene (og deres verdier), sammen med aggregerte kolonner angitt av aggregatedColumns
. Eventuelt, groupKind
og comparer
kan også angis.
Hvis dataene allerede er sortert etter nøkkelkolonnene, kan du angi et groupKind
av GroupKind.Local . Dette kan forbedre ytelsen til gruppering i visse tilfeller, siden alle radene med et gitt sett med nøkkelverdier antas å være sammenhengende.
Når du sender en comparer
, må du være oppmerksom på at hvis den behandler forskjellige nøkler som like, kan en rad plasseres i en gruppe med nøkler som er forskjellige fra sine egne.
Denne funksjonen garanterer ikke rekkefølgen på radene den returnerer.
Grupper tabellen og legg til en aggregert kolonne [total] som inneholder summen av prisene ("hver liste.sum([pris])").
Bruk
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])}
)
Utdata
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)