Zdieľať cez


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