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