Ga naar hoofdinhoud

Table.Group

Groepeert rijen in de tabel die dezelfde sleutel hebben.

Syntax

Table.Group(
table as table,
key as any,
aggregatedColumns as list,
optional groupKind as GroupKind.Type,
optional comparer as function
) as table

Remarks

Hiermee worden de rijen gegroepeerd met table op basis van de sleutelkolommen die zijn gedefinieerd door key. De key kan één kolomnaam of een lijst met kolomnamen zijn. Voor elke groep wordt een record gemaakt met de sleutelkolommen (en de bijbehorende waarden), samen met eventuele geaggregeerde kolommen die zijn gespecificeerd door aggregatedColumns. Optioneel kunnen ook groupKind en comparer worden gespecificeerd.

Als de gegevens al zijn gesorteerd op de sleutelkolommen, kan een groupKind van GroupKind.Local worden opgegeven. Dit kan de prestaties van het groeperen in bepaalde gevallen verbeteren, aangezien alle rijen met een bepaalde set sleutelwaarden aaneengesloten worden geacht.

Wanneer u een comparer doorgeeft, moet u er rekening mee houden dat als het verschillende sleutels als gelijk behandelt, en een rij wellicht wordt geplaatst in een groep waarvan de sleutels verschillen van hun eigen sleutels.

Deze functie garandeert niet de volgorde van de geretourneerde rijen.

Examples

Example #1

De tabel groeperen door toevoeging van een aggregatiekolom [total] waarin het totaal van de prijzen (each List.Sum([price])) staat.

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