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
Agrupa as linhas de table
pelas colunas de chave definidas por key
. key
pode ser um único nome de coluna ou uma lista de nomes de coluna. Para cada grupo, é construído um registro contendo as colunas de chave (e seus valores) com as colunas agregadas especificadas por aggregatedColumns
. Opcionalmente, também é possível especificar groupKind
e comparer
.
Se os dados já estiverem classificados pelas colunas de chave, um groupKind
de GroupKind.Local poderá ser fornecido. Isso pode melhorar o desempenho do agrupamento em certos casos, já que todas as linhas com um determinado conjunto de valores de chave são consideradas contíguas.
Ao passar comparer
, observe que, se isso tratar chaves diferentes como iguais, uma linha poderá ser colocada em um grupo cujas chaves sejam diferentes.
Essa função não garante a ordenação das linhas que ela retorna.
Agrupar a tabela adicionando uma coluna agregada [total] que contém a soma de preços ("each List.Sum([price])").
Usage
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])}
)
Saída
Table.FromRecords(
{
[CustomerID = 1, total = 30],
[CustomerID = 2, total = 30],
[CustomerID = 3, total = 25]
},
{"CustomerID", "total"}
)