Table.Group
Syntaxe
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
Informace
Seskupí řádky podle klíčových sloupců definovaných table
pomocí key
. Může key
to být název jednoho sloupce nebo seznam názvů sloupců. Pro každou skupinu se vytvoří záznam obsahující klíčové sloupce (a jejich hodnoty) spolu s agregovanými sloupci určenými parametrem aggregatedColumns
.
groupKind
Volitelně lze comparer
zadat také.
Pokud jsou data už seřazená podle klíčových sloupců, groupKind
můžete zadat skupinu GroupKind.Local . To může zlepšit výkon seskupování v určitých případech, protože všechny řádky s danou sadou hodnot klíčů se předpokládají jako souvislé.
Když předáte comparer
, všimněte si, že pokud považuje různé klíče za stejné, může být řádek umístěn ve skupině, jejíž klíče se liší od jeho vlastní.
Tato funkce nezaručuje pořadí řádků, které vrací.
Příklad 1
Seskupte tabulku přidáním agregovaného sloupce [celkem], který obsahuje součet cen ("each List.Sum([price])").
Využití
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])}
)
Výstup
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)