Table.Group
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
Raggruppa le righe di table
in base alle colonne chiave definite da key
.
key
può essere il nome di una singola colonna o un elenco di nomi di colonna. Per ogni gruppo viene creato un record contenente le colonne chiave e i relativi valori, insieme a tutte le colonne aggregate specificate da aggregatedColumns
. Facoltativamente, è possibile specificare anche groupKind
e comparer
.
Se i dati sono già ordinati in base alle colonne chiave, è possibile specificare un groupKind
oggetto GroupKind.Local . Questo in determinati casi può migliorare le prestazioni del raggruppamento, poiché si presuppone che tutte le righe con un determinato set di valori chiave siano contigue.
Quando si passa un comparer
, si noti che se considera chiavi diverse come uguali, una riga potrebbe essere inserita in un gruppo le cui chiavi differiscono dalle sue.
Questa funzione non garantisce l'ordinamento delle righe restituite.
Raggruppare la tabella aggiungendo una colonna aggregata [totale] che contiene la somma dei prezzi ("ogni List.Sum([prezzo])").
Utilizzo
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])}
)
Output
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)