Passa al contenuto principale

Table.Group

Raggruppa le righe nella tabella con la stessa chiave.

Syntax

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

Remarks

Raggruppa le righe di table in base alle colonne chiave definite da key. key può essere un singolo nome di colonna o un elenco di nomi di colonna. Per ogni gruppo viene costruito un record contenente le colonne chiave e i rispettivi valori, insieme alle colonne aggregate specificate da aggregatedColumns. Facoltativamente, è possibile specificare anche groupKind e comparer.

Se i dati sono già ordinati in base alle colonne chiave, è possibile fornire un oggetto groupKind di GroupKind.Local. In alcuni casi questo oggetto può migliorare le prestazioni del raggruppamento dal momento che tutte le righe con un set specificato di valori chiave vengono considerate contigue.

Quando si passa un oggetto comparer, tenere presente che se chiavi diverse vengono considerate come uguali, una riga può essere inserita in un gruppo le cui chiavi sono diverse dalle proprie.

Questa funzione non garantisce l'ordinamento delle righe restituite.

Examples

Example #1

Raggruppare la tabella aggiungendo una colonna aggregata [total] contenente la somma dei prezzi ("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