Table.Group

Sintassi

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

Informazioni su

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 GroupKind.Local come valore groupKind. 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.

Esempio 1

Raggruppare la tabella aggiungendo una colonna aggregata [total] contenente la somma dei prezzi ("each List.Sum([price])").

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