Sdílet prostřednictvím


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

O uživateli

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