Delen via


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 comparerdoorgeeft, 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"}
)

Vergelijkingsfuncties