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

À propos

Regroupe les lignes de table par les colonnes clés définies par key. key peut être un nom de colonne unique ou une liste de noms de colonnes. Pour chaque groupe, un enregistrement contenant les colonnes clés (et leurs valeurs), ainsi que les colonnes agrégées spécifiées par aggregatedColumns est construit. Éventuellement, vous pouvez également spécifier groupKind et comparer.

Si les données sont déjà triées en fonction des colonnes clés, un groupKind de GroupKind.Local peut être fourni. Cela peut améliorer les performances du regroupement dans certains cas, comme toutes les lignes avec un ensemble de valeurs de clés donné sont supposées être contiguës.

Lors de la transmission d’un comparer, notez que s’il traite des clés différentes comme étant égales, une ligne peut être placée dans un groupe dont les clés diffèrent.

Cette fonction ne garantit pas l’ordre des lignes qu’elle retourne.

Exemple 1

Regroupe la table, en ajoutant une colonne d’agrégation [total] qui contient la somme des prix ("each List.Sum([price])").

Utilisation

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

Sortie

Table.FromRecords(
    {
        [CustomerID = 1, total = 30],
        [CustomerID = 2, total = 30],
        [CustomerID = 3, total = 25]
    },
    {"CustomerID", "total"}
)