DAX Outros - função GROUPBY
Descrição
Retorna uma tabela com um conjunto de colunas selecionadas. Permite que a função DAX CURRENTGROUP seja usada dentro de funções de agregação nas colunas de extensão que ela adiciona. GROUPBY tenta reutilizar os dados que foram agrupados, tornando-os de alto desempenho.
A função DAX GROUPBY é semelhante à função DAX SUMMARIZE. No entanto, GROUPBY não executa um CALCULATE implícito para nenhuma coluna de extensão que adiciona.
A função DAX GROUPBY é nova no Excel 2016.
Sintaxe
GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <expression>] …)
Parâmetros
Sr. Não. | Termo e Definição |
---|---|
1 |
table Qualquer expressão DAX que retorna uma tabela de dados. |
2 |
groupBy_columnName1 O nome de uma coluna existente na tabela (ou em uma tabela relacionada), pela qual os dados devem ser agrupados. Este parâmetro não pode ser uma expressão. |
3 |
name O nome dado a uma nova coluna que está sendo adicionada à lista de colunas GroupBy, entre aspas duplas. |
4 |
expression Qualquer expressão DAX que retorna um único valor escalar, em que a expressão deve ser avaliada para cada conjunto de valores GroupBy.
|
Valor de retorno
Uma tabela com as colunas selecionadas para os parâmetros groupBy_columnName e as agrupadas por colunas designadas pelos parâmetros de nome.
Observações
A função GROUPBY faz o seguinte -
Comece com a tabela especificada (e todas as tabelas relacionadas na direção “para um”).
Crie um agrupamento usando todas as colunas GroupBy (que devem existir na tabela da etapa 1).
Cada grupo é uma linha no resultado, mas representa um conjunto de linhas na tabela original.
Para cada grupo, avalie as colunas de extensão que estão sendo adicionadas. Ao contrário da função SUMMARIZE, um CALCULATE implícito não é executado e o grupo não é colocado no contexto do filtro.
Parâmetros
Cada coluna para a qual você define um nome deve ter uma expressão correspondente. Caso contrário, um erro será retornado.
O primeiro parâmetro, nome, define o nome da coluna nos resultados. O segundo parâmetro, expressão, define o cálculo executado para obter o valor de cada linha dessa coluna.
Cada nome deve ser colocado entre aspas duplas.
groupBy_columnName deve estar em uma tabela ou em uma tabela relacionada.
A função agrupa um conjunto selecionado de linhas em um conjunto de linhas de resumo pelos valores de uma ou mais colunas groupBy_columnName. Uma linha é retornada para cada grupo.
CURRENTGROUP ()
A função CURRENTGROUP só pode ser usada em uma expressão que define uma coluna dentro da função GROUPBY.
CURRENTGROUP retorna um conjunto de linhas do parâmetro da tabela de GROUPBY que pertencem à linha atual do resultado de GROUPBY.
A função CURRENTGROUP não aceita parâmetros e só é compatível como o primeiro parâmetro para uma das seguintes funções de agregação: AverageX, CountAX, CountX, GeoMeanX, MaxX, MinX, ProductX, StDevX.S, StDevX.P, SumX, VarX.S, VarX .P.
Exemplo
= GROUPBY (
Sales,Sales[Salesperson],Products[Product],"Total Sales",
SUMX (CURRENTGROUP (),[Sales Amount])
)