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
Névjegy
A sorok csoportosítása table
a megadott kulcsoszlopok szerint key
. Ez key
lehet egyetlen oszlopnév vagy oszlopnevek listája. Minden csoporthoz létrejön egy rekord, amely tartalmazza a kulcsoszlopokat (és azok értékeit), valamint a megadott aggregatedColumns
összesítő oszlopokat. Igény szerint, groupKind
és comparer
megadható is.
Ha az adatokat már a kulcsoszlopok rendezik, akkor groupKind
a GroupKind.Local egyikét is meg lehet adni. Ez bizonyos esetekben javíthatja a csoportosítás teljesítményét, mivel a rendszer feltételezi, hogy az adott kulcsértékekkel rendelkező összes sor egybefüggő.
Amikor átad egy comparer
, vegye figyelembe, hogy ha a különböző kulcsokat egyenlőként kezeli, akkor egy sor olyan csoportba helyezhető, amelynek kulcsai eltérnek a sajátjától.
Ez a függvény nem garantálja a visszaadott sorok sorrendjét.
1. példa
Csoportosítsa a táblát egy összesítő oszlop [total] hozzáadásával, amely tartalmazza az árak összegét ("minden List.Sum([ár])").
Használat
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])}
)
Hozam
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)