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
Informácie
Zoskupí riadky table
podľa kľúčových stĺpcov definovaných možnosťou key
. Názov key
môže byť buď jeden stĺpec, alebo zoznam názvov stĺpcov. Pre každú skupinu sa vytvorí záznam obsahujúci kľúčové stĺpce (a ich hodnoty) spolu so všetkými agregovanými stĺpcami zadanými hodnotou aggregatedColumns
. Voliteľne groupKind
možno zadať aj a comparer
.
Ak sú údaje už zoradené podľa kľúčových stĺpcov, groupKind
je možné zadať hodnotu GroupKind.Local. V určitých prípadoch to môže zlepšiť výkon zoskupenia, pretože sa predpokladá, že všetky riadky s danou množinou kľúčových hodnôt sú súvislé.
Pri odovzdaní znaku comparer
si všimnite, že ak považuje rôzne kľúče za rovnaké, riadok môže byť umiestnený v skupine, ktorej kľúče sa líšia od kľúčov.
Táto funkcia nezaručuje zoradenie riadkov, ktoré vráti.
Príklad č. 1
Zoskupte tabuľku pridaním agregovaného stĺpca [total], ktorý obsahuje súčet cien ("each List.Sum([price])").
Použitie
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ýkon
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)