Pular para o conteúdo principal

Table.Group

Agrupa linhas na tabela que têm a mesma chave.

Syntax

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

Remarks

Agrupar as linhas de table pelas colunas-chave definidas por key. O key pode ser um único nome de coluna ou uma lista de nomes de coluna. Para cada grupo, um registro é construído contendo as colunas-chave (e seus valores), junto com quaisquer colunas agregadas especificadas por aggregatedColumns. Opcionalmente, groupKind e comparer também podem ser especificadas.

Se os dados já estiverem classificados pelas colunas-chave, então um groupKind de GroupKind.Local pode ser fornecido. Isso pode melhorar o desempenho do agrupamento em certos casos, uma vez que todas as linhas com um determinado conjunto de valores-chave são consideradas contíguas.

Ao passar por um comparer, observe que se ele trata chaves diferentes como iguais, uma linha pode ser colocada em um grupo cujas chaves diferem das suas.

Essa função não garante a ordem das linhas que retorna.

Examples

Example #1

Agrupar a tabela adicionando uma coluna agregada [total] que contém a soma de preços ("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