Table.Group
Syntaxis
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
Over
Hiermee worden de rijen gegroepeerd op basis van table
de sleutelkolommen die zijn gedefinieerd door key
. De key
naam kan één kolom of een lijst met kolomnamen zijn. Voor elke groep wordt een record samengesteld met de sleutelkolommen (en de bijbehorende waarden), samen met eventuele samengevoegde kolommen die zijn opgegeven door aggregatedColumns
. groupKind
Optioneel en comparer
kan ook worden opgegeven.
Als de gegevens al zijn gesorteerd op de sleutelkolommen, kan er een groupKind
GroupKind.Local worden opgegeven. Dit kan de prestaties van groepering in bepaalde gevallen verbeteren, omdat alle rijen met een bepaalde set sleutelwaarden worden verondersteld aaneengesloten te zijn.
Wanneer u een comparer
doorgeeft, moet u er rekening mee houden dat als er verschillende sleutels als gelijk worden behandeld, een rij in een groep kan worden geplaatst waarvan de sleutels verschillen van die van zichzelf.
Deze functie garandeert niet de volgorde van de rijen die worden geretourneerd.
Voorbeeld 1
Groepeer de tabel met een geaggregeerde kolom [totaal] die de som van de prijzen bevat ('elke List.Sum([price])').
Gebruik
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])}
)
Uitvoer
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)