Aller au contenu principal

Table.Group

Regroupe les lignes de la table qui ont la même clé.

Syntax

Table.Group(
table as table,
key as any,
aggregatedColumns as list,
optional groupKind as GroupKind.Type,
optional comparer as function
) as table

Remarks

Regroupe les lignes de table par les colonnes clés définies par key. Le key peut être un nom de colonne unique ou une liste de noms de colonnes. Pour chaque groupe, un enregistrement est créé à partir des colonnes clés (et de leurs valeurs), ainsi que de toute colonne agrégée spécifiée par aggregatedColumns. 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.

Examples

Example #1

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

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

Result:

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

Category

Table.Transformation