Dela via


Table.Group

Syntax

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

Om

Grupperar raderna table i efter de nyckelkolumner som definieras av key. key Kan antingen vara ett enstaka kolumnnamn eller en lista med kolumnnamn. För varje grupp skapas en post som innehåller nyckelkolumnerna (och deras värden), tillsammans med eventuella aggregerade kolumner som anges av aggregatedColumns. Valfritt, groupKind och comparer kan också anges.

Om data redan har sorterats efter nyckelkolumnerna kan du ange en groupKind av GroupKind.Local. Detta kan förbättra prestandan för gruppering i vissa fall, eftersom alla rader med en viss uppsättning nyckelvärden antas vara sammanhängande.

När du skickar en comparer, observera att om den behandlar olika nycklar som lika kan en rad placeras i en grupp vars nycklar skiljer sig från sina egna.

Den här funktionen garanterar inte ordningen på de rader som returneras.

Exempel 1

Gruppera tabellen och lägg till en aggregeringskolumn [total] som innehåller summan av priserna ("varje lista.Summa([pris])").

Användning

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