Les på engelsk

Del via


Table.Group

Syntaks

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

Om

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.

Eksempel 1

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

Sammenligningsfunksjoner