SUMMARIZE
Aplica-se a:Coluna calculadaTabela calculadaMeasureCálculo visual
Retorna uma tabela de resumo para os totais solicitados em um conjunto de grupos.
Sintaxe
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Parâmetros
Termo | Definição |
---|---|
table |
Qualquer expressão DAX que retorna uma tabela de dados. |
groupBy_ColumnName |
(Opcional) O nome qualificado de uma coluna existente usado para criar grupos de resumo com base nos values encontrados nela. Este parâmetro não pode ser uma expressão. |
name |
O nome dado a um total orsummarize coluna, entre aspas duplas. |
expression |
Qualquer expressão DAX que retorna uma única valueescalar , onde a expressão deve ser avaliada várias vezes (para cada linha/contexto). |
Regresso value
Uma tabela com as colunas selecionadas para os argumentos groupBy_columnName
and as colunas resumidas criadas pelos argumentos de nome.
Observações
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, name, define o nome da coluna nos resultados. O argumento second, expressão, define o cálculo realizado para obter o value para cada linha nessa coluna.
groupBy_columnName deve estar em
table
or em uma tabela de related paratable
.Cada nome deve ser colocado entre aspas duplas.
A função agrupa um conjunto selecionado de linhas em um conjunto de linhas de resumo pela values de uma or mais colunas groupBy_columnName. Uma linha é retornada para cada grupo.
Esta função not é suportada para uso no modo DirectQuery quando usada em colunas calculadas or regras de segurança em nível de linha (RLS).
Exemplo
O exemplo a seguir retorna um resumo das vendas do revendedor agrupadas em torno do calendaryearand o nome da categoria product, esta tabela de resultados permite que você faça uma análise sobre as vendas do revendedor por yearandproduct categoria.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
A tabela a seguir mostra uma visualização dos dados como seria received por qualquer função que espera receber uma tabela:
DateTime[Ano Calendário] | ProductCategory[ProductCategoryName] | [Valor de vendas (USD)] | [Valor do desconto (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Componentes | 2008052.706 | 39.9266 |
2005 | Componentes | 574256.9865 | 0 |
2006 | Componentes | 3428213.05 | 948.7674 |
2007 | Componentes | 5195315.216 | 4226.0444 |
2008 | Vestuário | 366507.844 | 4151.1235 |
2005 | Vestuário | 31851.1628 | 90.9593 |
2006 | Vestuário | 455730.9729 | 4233.039 |
2007 | Vestuário | 815853.2868 | 12489.3835 |
2008 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
Com ROLLUP
A adição da sintaxe ROLLUP modifica o comportamento da função SUMMARIZE adicionando rollup linhas ao resultado nas colunas groupBy_columnName. ROLLUP só pode ser usado dentro de uma expressão SUMMARIZE.
Exemplo
O exemplo a seguir adiciona rollup linhas às colunas Group-By da chamada de função SUMMARIZE:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Devolve a seguinte tabela,
DateTime[Ano Calendário] | ProductCategory[ProductCategoryName] | [Valor de vendas (USD)] | [Valor do desconto (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Componentes | 2008052.706 | 39.9266 |
2005 | Componentes | 574256.9865 | 0 |
2006 | Componentes | 3428213.05 | 948.7674 |
2007 | Componentes | 5195315.216 | 4226.0444 |
2008 | Vestuário | 366507.844 | 4151.1235 |
2005 | Vestuário | 31851.1628 | 90.9593 |
2006 | Vestuário | 455730.9729 | 4233.039 |
2007 | Vestuário | 815853.2868 | 12489.3835 |
2008 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
2008 | 15496115.89 | 41224.3038 | |
2005 | 7582953.67 | 4326.4144 | |
2006 | 22871907.85 | 184419.1335 | |
2007 | 30543780.84 | 297538.0745 | |
76494758.25 | 527507.9262 |
Com ROLLUPGROUP
A adição de ROLLUPGROUP dentro de uma sintaxe ROLLUP pode ser usada para evitar subtotais parciais em rollup linhas. ROLLUPGROUP só pode ser usado dentro de uma ROLLUP, ROLLUPADDISSUBTOTAL, orROLLUPISSUBTOTAL expressão.
Exemplo
O exemplo a seguir mostra apenas o total geral de all anos and categorias sem o subtotal de cada year com all categorias:
SUMMARIZE(ResellerSales_USD
, ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Devolve a seguinte tabela,
DateTime[Ano Calendário] | ProductCategory[ProductCategoryName] | [Valor de vendas (USD)] | [Valor do desconto (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Componentes | 2008052.706 | 39.9266 |
2005 | Componentes | 574256.9865 | 0 |
2006 | Componentes | 3428213.05 | 948.7674 |
2007 | Componentes | 5195315.216 | 4226.0444 |
2008 | Vestuário | 366507.844 | 4151.1235 |
2005 | Vestuário | 31851.1628 | 90.9593 |
2006 | Vestuário | 455730.9729 | 4233.039 |
2007 | Vestuário | 815853.2868 | 12489.3835 |
2008 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
76494758.25 | 527507.9262 |
Com ISSUBTOTAL
Com ISSUBTOTAL, você pode criar outra coluna na expressão SUMMARIZE que retorna Trueif linha contains subtotal values para a coluna dada como argumento para ISSUBTOTAL, caso contrário, retorna False. ISSUBTOTAL só pode ser usado dentro de uma expressão SUMMARIZE.
Exemplo
O sample a seguir gera uma coluna ISSUBTOTAL para cada uma das colunas ROLLUP na chamada de função SUMMARIZE dada:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
, "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])
, "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])
)
Devolve a seguinte tabela,
[é subtotal para DateTimeCalendarYear] | [é subtotal para ProductCategoryName] | DateTime[Ano Calendário] | ProductCategory[ProductCategoryName] | [Valor de vendas (USD)] | [Valor do desconto (USD)] |
---|---|---|---|---|---|
FALSE |
FALSE |
||||
FALSE |
FALSE |
2008 | Bikes | 12968255.42 | 36167.6592 |
FALSE |
FALSE |
2005 | Bikes | 6958251.043 | 4231.1621 |
FALSE |
FALSE |
2006 | Bikes | 18901351.08 | 178175.8399 |
FALSE |
FALSE |
2007 | Bikes | 24256817.5 | 276065.992 |
FALSE |
FALSE |
2008 | Componentes | 2008052.706 | 39.9266 |
FALSE |
FALSE |
2005 | Componentes | 574256.9865 | 0 |
FALSE |
FALSE |
2006 | Componentes | 3428213.05 | 948.7674 |
FALSE |
FALSE |
2007 | Componentes | 5195315.216 | 4226.0444 |
FALSE |
FALSE |
2008 | Vestuário | 366507.844 | 4151.1235 |
FALSE |
FALSE |
2005 | Vestuário | 31851.1628 | 90.9593 |
FALSE |
FALSE |
2006 | Vestuário | 455730.9729 | 4233.039 |
FALSE |
FALSE |
2007 | Vestuário | 815853.2868 | 12489.3835 |
FALSE |
FALSE |
2008 | Accessories | 153299.924 | 865.5945 |
FALSE |
FALSE |
2005 | Accessories | 18594.4782 | 4.293 |
FALSE |
FALSE |
2006 | Accessories | 86612.7463 | 1061.4872 |
FALSE |
FALSE |
2007 | Accessories | 275794.8403 | 4756.6546 |
FALSE |
TRUE |
||||
FALSE |
TRUE |
2008 | 15496115.89 | 41224.3038 | |
FALSE |
TRUE |
2005 | 7582953.67 | 4326.4144 | |
FALSE |
TRUE |
2006 | 22871907.85 | 184419.1335 | |
FALSE |
TRUE |
2007 | 30543780.84 | 297538.0745 | |
TRUE |
TRUE |
76494758.25 | 527507.9262 |