GROUPBY
aplica-se a:coluna calculadatabela calculadaMeasurecálculo visual
Nota
Essa função é desencorajada para uso em cálculos visuais pois provavelmente retorna resultados sem sentido.
A função GROUPBY é semelhante à função SUMMARIZE. No entanto, GROUPBYnot faz um CALCULATE implícito para todas as colunas de extensão que ele adiciona. GROUPBY permite que uma nova função, CURRENTGROUP, seja usada dentro de funções de agregação nas colunas de extensão que ela adiciona. GROUPBY é usado para executar várias agregações em uma única verificação de tabela.
Sintaxe
GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])
Parâmetros
Prazo | Definição |
---|---|
table |
Qualquer expressão DAX que retorna uma tabela de dados. |
groupBy_columnName |
O nome de uma coluna existente na tabela (or em uma tabela de related) pelo qual os dados devem ser agrupados. Esse parâmetro não pode ser uma expressão. |
name |
O nome dado a uma nova coluna que está sendo adicionada à lista de colunas GroupBy, entre aspas duplas. |
expression |
Uma das funções de agregação X com o argumento first sendo CURRENTGROUP(). Consulte com CURRENTGROUP seção abaixo para obter a lista completa de funções de agregação X com suporte. |
Retornar value
Uma tabela com as colunas selecionadas para os argumentos groupBy_columnName and colunas de extensão designadas pelos argumentos de nome.
Observações
A função GROUPBY faz o seguinte:
Comece com a tabela especificada (andallrelated tabelas na direção "para um").
Crie um agrupamento usando all das colunas GroupBy (que são necessárias para existir na tabela a partir da etapa nº 1).).
Cada grupo é uma linha no resultado, mas representa um conjunto de linhas na tabela original.
Para cada grupo, evaluate as colunas de extensão que estão sendo adicionadas. Ao contrário da função SUMMARIZE, um CALCULATE implícito é not executado, and o grupo não é colocado no contexto filter.
Cada coluna para a qual você define um nome deve ter uma expressão correspondente; caso contrário, um error será retornado. O argumento first, nome, define o nome da coluna nos resultados. O argumento second, expressão, define o cálculo executado para obter o value para cada linha nessa coluna.
groupBy_columnName
deve estar em or de tabela em uma tabela related.Cada nome deve estar entre aspas duplas.
A função agrupa um conjunto selecionado de linhas em um conjunto de linhas de resumo pelo values de uma or colunas mais groupBy_columnName. Uma linha é retornada para cada grupo.
GROUPBY é usado principalmente para executar agregações em resultados intermediários de expressões de tabela DAX. Para agregações eficientes em tabelas físicas no modelo, considere usar SUMMARIZECOLUMNSorSUMMARIZE função.
Essa função not tem suporte para uso no modo DirectQuery quando usada em colunas calculadas or regras de RLS (segurança em nível de linha).
Com CURRENTGROUP
CURRENTGROUP só pode ser usado em uma expressão que define uma coluna de extensão dentro da função GROUPBY. effect, CURRENTGROUP retorna um conjunto de linhas do argumento de tabela de GROUPBY que pertencem à linha atual do resultado GROUPBY. A função CURRENTGROUP não usa argumentos and só tem suporte como o argumento first 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
O exemplo a seguir first calcula o total de vendas agrupadas por país andproduct categoria em tabelas físicas usando a função SUMMARIZECOLUMNS. Em seguida, ele usa a função GROUPBY para verificar o resultado intermediário da etapa first para find o máximo de vendas em cada país nas categorias de product.
DEFINE
VAR SalesByCountryAndCategory =
SUMMARIZECOLUMNS(
Geography[Country],
Product[Category],
"Total Sales", SUMX(Sales, Sales[Price] * Sales[Qty])
)
EVALUATE
GROUPBY(
SalesByCountryAndCategory,
Geography[Country],
"Max Sales", MAXX(CURRENTGROUP(), [Total Sales])
)
Related conteúdo
função SUMMARIZESUMMARIZECOLUMNS