Pular para o conteúdo principal

DAX SUMMARIZE(): Um guia para agrupar e resumir dados

A função SUMMARIZE() do DAX cria tabelas de resumo agrupando dados e aplicando funções de agregação em ferramentas como o Power BI e o Excel Power Pivot. Continue lendo para saber como usar DAX SUMMARIZE() para agrupar e agregar seus dados e obter boas percepções.
Actualizado 11 de out. de 2024  · 9 min de leitura

Não tenha dificuldades com grandes conjuntos de dados. Domine a arte de agrupar e agregar dados usando a função DAX SUMMARIZE(), que permite que você descubra padrões ocultos e tome decisões melhores. Com o DAX SUMMARIZE(), você pode criar um minirrelatório dentro do seu conjunto de dados maior e escolher quais informações agrupar e quais números somar. É extremamente, extremamente útil.

Continue lendo e eu o ajudarei a entender o DAX SUMMARIZE() em detalhes para que você possa usá-lo de forma eficaz em vários cenários. ISe você for novato em DAX e quiser mais recursos, confira também nosso Tutorial de DAX do Power BI para iniciantes para ter uma visão mais geral. Você também pode fazer nosso curso Introdução ao DAX no Power BI para obter um treinamento real; o curso inclui técnicas básicas, mas também mais avançadas, portanto, é bom para profissionais de todos os níveis.  

O que é a função DAX SUMMARIZE()?

A função DAX SUMMARIZE() pega seus dados e os agrupa com base nas colunas que você escolher. Em seguida, ele calcula os totais ou outros resumos para cada grupo.

Por exemplo, suponha que você tenha uma grande lista de dados de vendas com informações sobre produtos, regiões e valores de vendas. Aqui, você pode usar o site SUMMARIZE() para agrupar todos esses dados por produto ou região e ver o total de vendas de cada grupo. 

Você encontrará o DAX em várias ferramentas da Microsoft, como:

Depois de entender SUMMARIZE(), você poderá organizar seus dados de forma eficiente, criando relatórios melhores e aprofundando-se nos dados para obter insights valiosos. Portanto, da próxima vez que você estiver trabalhando com um grande conjunto de dados e precisar entendê-lo rapidamente, use a função SUMMARIZE().

Domine o Power BI do zero

Não é necessário ter experiência - aprenda a trabalhar com dados por meio do Power BI.
Comece a aprender de graça

DAX SUMMARIZE() e agrupamento de dados

Veja como a função SUMMARIZE() cria tabelas de resumo com base em colunas e agregações especificadas:

SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)

Na sintaxe acima:

  • table é a tabela de origem de seus dados.

  • groupBy_columnName é a(s) coluna(s) pela(s) qual(is) você deseja agrupar.

  • name é o nome da sua nova coluna calculada.

  • expression é o cálculo que você deseja executar.

Você pode usar o SUMMARIZE() com qualquer tabela ou coluna em seu conjunto de dados, o que o torna muito versátil.

Agrupamento básico

Vamos dar uma olhada em um exemplo simples de agrupamento básico com SUMMARIZE().

Primeiro, importe o conjunto de dados para o Power BI. Para fazer isso, acesse aguia Home > Get Data. Selecione a opção correspondente ao arquivo salvo no menu suspenso e carregue-o. Neste exemplo, tenho um conjunto de dados com colunas para Year, Product e SalesAmount. Agora vou importar isso para o Power BI.

Uma tabela no Power BI que precisa ser agregada com DAX SUMMARIZE()

Uma tabela chamada vendas. Imagem do autor.

Depois que os dados forem importados, vá para a guiaModeling > New table (Nova tabela). Em seguida, insira a seguinte fórmula para agrupar por Ano e agregar o Total de vendas.

	SummaryTable =
	SUMMARIZE(
	    sales,
	    sales[Year],
	    "Total Sales", SUM(sales[SalesAmount])
	)

Barra de fórmulas no Power BI usando a função SUMMARIZE()

Barra de fórmula. Imagem do autor.

Nessa fórmula:

  • SummarizedTable cria uma nova tabela.

  • SUMMARIZE( começa a agrupar e resumir os dados.

  • SalesData, é a tabela de origem.

  • SalesData[Year], grupos por Ano coluna.

  • "Total Sales", SUM(SalesData[SalesAmount]) cria uma nova coluna chamada Total de vendas que soma SalesAmount para cada ano.

Você resumiu o total de vendas usando a função DAX SUMMARIZE() no Power BI

Resultados resumidos. Imagem do autor.

Aqui, a função SUMMARIZE() cria uma tabela de resumo agrupando os dados por Ano e calcula o Total Sales (Vendas totais) somando o SalesAmount para cada ano.

Agrupamento múltiplo

SUMMARIZE() também pode lidar com agrupamentos mais complexos. Vamos entender isso com um exemplo. Aqui, , tenho um conjunto de dados com colunas para Year, Product, Region e SalesAmount.

Tabela de dados de vendas no Power BI

Uma tabela chamada sales_data. Imagem do autor.

Aqui, estou agrupando por Ano e Região para calcular o Total Sales (Vendas totais) para cada combinação.

	SummarizedTable =
	SUMMARIZE(
	    sales_data,
	    sales_data[Year],
	    sales_data[Region],
	    "Total Sales", SUM(sales_data[SalesAmount])
	)

Nessa fórmula: 

  • sales_data é a tabela em que seus dados estão armazenados.

  • sales_data[Year] é a primeira coluna a ser agrupada por Ano.

  • sales_data[Region] é a segunda coluna a ser agrupada por Região.

  • "Total Sales" é o nome da coluna personalizada para a soma das vendas.

  • SUM(SalesData[SalesAmount]) soma as vendas de cada grupo.

Usando a função DAX SUMMARIZE() no Power BI

Resumiu várias colunas. Imagem do autor.

Aqui, o agrupamento múltiplo nos ajudou a visualizar as tendências de vendas por região e ano. As regiões Norte e Leste apresentam crescimento de 2021 a 2023. O Sul teve vendas altas em 2022, enquanto o Oeste só tem dados para 2022-2023 .

Técnicas avançadas com DAX SUMMARIZE()

Embora o SUMMARIZE() seja útil, você pode combiná-lo com outras funções DAX para experimentar recursos de análise de dados ainda mais sofisticados. Então, vamos explorar alguns exemplos para ver como as técnicas avançadas podem aproveitar o SUMMARIZE() para agregações e resumos complexos.

Usando SUMMARIZE() com ROLLUP()

O recurso ROLLUP() em SUMMARIZE() adiciona linhas de subtotal às tabelas de resumo para mostrar subtotais em diferentes níveis de agrupamento e fornecer resumos hierárquicos mais detalhados. Se você trabalha na área financeira ou em qualquer função de análise relevante, isso será particularmente útil para realizar agregações em vários níveis.

  1. Adicione a palavra-chave ROLLUP() após as colunas de agrupamento em SUMMARIZE().

  2. Especifique quais colunas devem ser incluídas no cálculo do ROLLUP().

SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, ROLLUP(<groupBy_columnName>[,< groupBy_columnName>…])][, <name>, <expression>]…)

Por exemplo, esse conjunto de dados mostra as vendas e a quantidade de cada produto em uma determinada região. Agora, preciso encontrar o resumo de vendas em Region e Product, com subtotais e totais.

DAX SUMMARIZE() usado com ROLLUP() no Power BI

Uma tabela chamada sales_rollup. Imagem do autor.

Para isso, uso a seguinte fórmula:

	SalesWithRollup =
	SUMMARIZE(
	    sales_rollup,
	    ROLLUP(sales_rollup[Region], sales_rollup[Product]),
	    "Total Sales", SUM(sales_rollup[Sales]),
	    "Total Quantity", SUM(sales_rollup[Quantity])
	)

SUMMARIZE() usado com ROLLUP() no Power BI usando DAX

Usando a função ROLLUP(). Imagem do autor.

Você pode ver - aqui a função SUMMARIZE() agrupa os dados de vendas por Região e Produto para calcular Total de vendas e Quantidade total. ROLLUP() adiciona linhas de subtotal e total geral para fornecer um resumo hierárquico do desempenho de vendas em diferentes níveis de detalhes.

Combinando SUMMARIZE() com ADDCOLUMNS()

Você também pode estender o site SUMMARIZE() com ADDCOLUMNS() para incluir colunas com cálculos personalizados nos dados agrupados. Isso pode ser útil se você quiser adicionar medidas ou cálculos complexos à sua tabela de resumo.

Por exemplo, eu uso o mesmo conjunto de dados e aplico a seguinte fórmula para adicionar uma nova coluna desta vez:

	SalesWithAddColumns =
	ADDCOLUMNS(
	    SUMMARIZE(
	        sales_rollup,
	        sales_rollup[Region],
	        sales_rollup[Product],
	        "Total Sales", SUM(sales_rollup[Sales]),
	        "Total Quantity", SUM(sales_rollup[Quantity])
	    ),
	    "Average Sales per Unit",
	        DIVIDE(SUM(sales_rollup[Sales]), SUM(sales_rollup[Quantity]), 0)
	)

DAX SUMMARIZE() usado com ADDCOLUMNS() no Power BI

Combinação de SUMMARIZE() e ADDCOLUMNS(). Imagem do autor.

Aqui, a função SUMMARIZE() agrupa as vendas por Região e Produto para calcular Total de vendas e Quantidade total. ADDCOLUMNS() calcula, então, as Vendas médias por unidade dividindo o total de vendas pela quantidade total de cada grupo.

Problemas comuns de DAX e como resolvê-los

Ao usar o site SUMMARIZE(), você pode encontrar alguns problemas. Mas não se preocupe, todos nós já passamos por isso. Vou mostrar a você alguns desafios comuns e como lidar com eles.

Evitar resultados ambíguos

Às vezes, o site SUMMARIZE() pode fornecer a você resultados que não fazem muito sentido. Isso geralmente acontece quando o modelo de dados ou os relacionamentos não estão claros. Veja como você pode evitar isso:

  1. Verifique novamente seu modelo de dados: Verifique se todas as mesas estão conectadas corretamente.

  2. Use nomes de colunas claros: Evite nomes duplicados em tabelas diferentes.

  3. Especifique os nomes das tabelas: Ao se referir a colunas, inclua o nome da tabela (como Orders[OrderDate]) para evitar confusão.

Considerações sobre o desempenho

Embora o SUMMARIZE() seja uma função útil, ele pode consumir muitos recursos e tornar as coisas mais lentas ao processar grandes conjuntos de dados. Isso significa que seus relatórios podem demorar um pouco mais para serem atualizados, especialmente se você estiver usando a função em medidas complexas ou com muitas colunas agrupadas.

Aqui estão algumas dicas para que você mantenha suas consultas rápidas:

  • Considere as colunas calculadas: Para resumos usados com frequência, crie colunas calculadas em vez de usar SUMMARIZE() todas as vezes.

  • Remova colunas desnecessárias: Elimine colunas irrelevantes para sua análise, como chaves primárias ou colunas que podem ser calculadas a partir de outras.

  • Use filtros: Use DAX SUMMARIZE() com Filter() antes de resumir para reduzir a quantidade de dados processados.

Alternativas DAX para SUMMARIZE()

Embora o SUMMARIZE() seja uma função útil, às vezes outras ferramentas podem fazer o trabalho melhor. Vamos examinar algumas alternativas e quando você pode querer usá-las.

SUMMARIZECOLUMNS()

SUMMARIZECOLUMNS() é outra função DAX que facilita a criação de tabelas de resumo quando você trabalha com dados grandes ou situações complicadas. É semelhante ao SUMMARIZE(), mas com algumas diferenças.

  • Você pode adicionar filtros diretamente ao site SUMMARIZECOLUMNS(), o que o torna mais rápido.

  • Com o site SUMMARIZECOLUMNS(), você pode incluir medidas diretamente no seu resultado. Não há necessidade de funções extras, como ADDCOLUMNS().

  • SUMMARIZECOLUMNS() lida com linhas em branco automaticamente, para que você não tenha que se preocupar com elas.

SUMMARIZECOLUMNS(
    <groupBy_columnName> [, <groubBy_columnName>] …, [<filterTable>] … [, <name>, <expression>] …
)

Por exemplo, tenho um conjunto de dados e quero resumir os salários dos funcionários por região e departamento e, ao mesmo tempo, filtrar os funcionários com o primeiro nome Raven. Usarei a função SUMMARIZECOLUMNS() para calcular o salário total da Raven em diferentes regiões e departamentos.

DAX SUMMARIZE() e SUMMARIZECOLUMNS() no Power BI

Uma tabela chamada employee_data. Imagem do autor.

Para isso, uso a seguinte fórmula:  

	SalarySummary =
	SUMMARIZECOLUMNS(
	    employee_data[Name],
	    employee_data[Region],
	    employee_data[Department],
	    FILTER(employee_data, employee_data[Name] = "Raven"),
	    "Total Salary", SUM(employee_data[Salary])
	)

Na fórmula acima: 

  • SalarySummary é o nome dado à tabela calculada que está sendo criada.

  • SUMMARIZECOLUMNS(...) cria uma tabela de resumo com base nas colunas e cálculos especificados.

  • employee_data[Name], employee_data[Region], employee_data[Department] são as colunas pelas quais os dados serão agrupados.

  • FILTER(employee_data, employee_data[Name] = "Raven") restringe os resultados para incluir apenas as linhas em que o Nome é Raven.

  • "Total Salary", SUM(employee_data[Salary]) cria uma coluna calculada no resultado.

  • SUM(employee_data[Salary]) calcula a soma de todos os valores de Salário para cada grupo.

Usando SUMMARIZECOLUMNS como uma alternativa de SUMMARIZE no Power Bi.

Use SUMMARIZECOLUMNS para resumir os resultados. Imagem do autor.

Você pode ver os resultados - a função SUMMARIZECOLUMNS() filtra o conjunto de dados e calcula os totais de salário da Raven em diferentes locais e departamentos. 

GROUPBY()

GROUPBY() é outra função que às vezes pode substituir SUMMARIZE() quando você precisa apenas agrupar dados e realizar cálculos nesses grupos. Ele pode ser mais eficiente do que o site SUMMARIZE() para operações simples de agrupamento.

Enquanto o SUMMARIZE() pode funcionar em tabelas relacionadas, o GROUPBY() se concentra no agrupamento e na agregação em uma única tabela, o que melhora o desempenho em determinados cenários.

Vamos ver um exemplo. Preciso criar um conjunto de dados de inventário para rastrear itens, categorias, unidades vendidas e preços unitários e, em seguida, agrupar os dados por categoria para calcular a receita total de cada uma.

DAX SUMMARIZE() comparado a GROUPBY() no Power BI

Tabela de inventário. Imagem do autor.

Para isso, uso a seguinte fórmula:  

	SummaryGroupBY =
	GROUPBY(
	    Inventory,
	    Inventory[Category],
	    "Total Revenue",
	    SUMX(
	        CURRENTGROUP(),
	        Inventory[Units Sold] * Inventory[Unit Price]
	    )
	)

Na fórmula acima:

  • GROUPBY() agrupa os dados por Categoria.

  • CURRENTGROUP() refere-se a cada grupo de categoria (por exemplo, eletrônicos, móveis ou eletrodomésticos).

  • SUMX() calcula a receita total de cada grupo multiplicando Unidades vendidas com o Preço unitário.

Usando GROUPBY() para agrupar os dados no Power BI.

Usando GROUPBY para agrupar os dados. Imagem do autor. 

Você pode ver que a função GROUPBY() calcula facilmente o Receita total multiplicando Unidades vendidas por preço unitário para cada item da categoria e resumindo essas receitas individuais.

Considerações finais sobre DAX SUMMARIZE()

Agora você sabe como a função SUMMARIZE() no DAX pode ajudá-lo a agrupar e analisar dados no Power BI, no Excel e em outras ferramentas. Desde o agrupamento básico até técnicas avançadas como ROLLUP() e ADDCOLUMNS(), SUMMARIZE() ajuda você a criar resumos detalhados.

Como a prática leva à perfeição, experimente essas técnicas com seus próprios dados para ver como elas podem ajudar você a descobrir insights úteis. Se você quiser aprimorar ainda mais suas habilidades em DAX, inscreva-se em nossa Introdução ao DAX no Power BI para se tornar um verdadeiro usuário avançado. 

Torne-se um analista de dados do Power BI

Domine a ferramenta de business intelligence mais popular do mundo.

Comece a aprender de graça

Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Sou um estrategista de conteúdo que adora simplificar tópicos complexos. Ajudei empresas como Splunk, Hackernoon e Tiiny Host a criar conteúdo envolvente e informativo para seus públicos.

Perguntas frequentes sobre DAX Summarize()

SUMMARIZE() diferencia maiúsculas de minúsculas?

Em geral, o DAX não diferencia maiúsculas de minúsculas, de modo que os nomes de coluna usados em SUMMARIZE() não precisam corresponder às maiúsculas e minúsculas dos dados originais.

Quais são os erros comuns ao usar SUMMARIZE()?

Os erros comuns incluem erros de sintaxe, nomes de colunas inexistentes e problemas de desempenho com grandes conjuntos de dados. Para evitar esses problemas, sempre verifique novamente os argumentos da função e seu modelo de dados.

Como SUMMARIZE() e SUMMARIZECOLUMNS() diferem em termos de contexto?

SUMMARIZE() retém os contextos de linha e filtro para agregações, enquanto o SUMMARIZECOLUMNS() tem apenas um contexto de filtro.

Temas

Aprenda a usar o PowerBI com o DataCamp

curso

Introduction to DAX in Power BI

3 hr
81.9K
Enhance your Power BI knowledge, by learning the fundamentals of Data Analysis Expressions (DAX) such as calculated columns, tables, and measures.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

tutorial

Como usar as funções SUMX do Power BI

Explore a função SUMX no Power BI, sua sintaxe, como ela funciona e as práticas recomendadas que você deve ter em mente.
Joleen Bothma's photo

Joleen Bothma

8 min

tutorial

Tutorial do Power BI Calculate

Aprenda a usar a função CALCULATE do Power BI e dê exemplos de como você pode usá-la.
Joleen Bothma's photo

Joleen Bothma

6 min

tutorial

Gráficos de colunas agrupadas no Excel: Como criá-los e personalizá-los

Este tutorial discute os gráficos de colunas agrupadas, por que o Excel é bom para criá-los e como criar e personalizar gráficos de colunas agrupadas no Excel.
Elena Kosourova's photo

Elena Kosourova

24 min

tutorial

Criando e personalizando tabelas dinâmicas no Power BI

Saiba como criar tabelas dinâmicas personalizáveis no Power BI com formatação condicional avançada e algumas dicas de otimização.
Joleen Bothma's photo

Joleen Bothma

9 min

tutorial

FUNÇÃO SQL COUNT()

COUNT() permite que você conte o número de linhas que correspondem a determinadas condições. Saiba como usá-lo neste tutorial.
Travis Tang 's photo

Travis Tang

3 min

Ver maisVer mais