Ler em inglês

Partilhar via


Table.Group

Sintaxe

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

Sobre

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.

Exemplo 1

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

Funções de comparação