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 pelas colunas de table
chave definidas por key
. O key
pode ser um nome de coluna única ou uma lista de nomes de coluna. Para cada grupo, um registro é construído contendo as colunas de chave (e seus valores), juntamente com quaisquer colunas agregadas especificadas por aggregatedColumns
. Opcionalmente, groupKind
e comparer
também pode ser especificado.
Se os dados já estiverem classificados pelas colunas de chave, então um groupKind
de GroupKind.Local pode ser fornecido. Isto 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 um comparer
, observe que, se ele tratar chaves diferentes como iguais, uma linha pode ser colocada em um grupo cujas chaves diferem das suas.
Esta função não garante a ordenação das linhas que retorna.
Agrupe o quadro adicionando uma coluna agregada [total] que contém a soma dos preços ("cada List.Sum([preço])").
Utilização
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"}
)