Ô trem bão, sô! Hoje nóis vai falar dessa função “ROLLUPGROUP” no Power BI, que parece nome de time de futebol, mas na verdade é um jeito maroto de agrupar dados e fazer aquele resumo esperto. E como mineiro gosta de uma conversa boa e uns exemplos, bora explicar isso com uns 10 casinhos práticos.
O que é a tal da ROLLUPGROUP?
Cê sabe quando tá ali no meio da correria e precisa dar uma resumida nos dados, mas só quer que certos níveis de agrupamento fiquem intocados? É aí que o tal do ROLLUPGROUP entra! Ele agrupa e resume os dados, mas com aquele jeitinho especial de preservar alguns níveis do agrupamento, como quem diz: “Esse aqui não mexe, uai!”
1. Exemplo: Vendas por Estado e Cidade
Vamos supor que cê tá trabalhando com as vendas por estado e cidade. A função ROLLUPGROUP vai permitir agrupar por estado e cidade, mas preservando os estados pra que o resumo seja bonitinho:
SUMMARIZECOLUMNS ( Vendas[Estado], ROLLUPGROUP( Vendas[Cidade], Vendas[Estado] ), "TotalVendas", SUM( Vendas[Valor] ) )
Aqui, nóis tá dizendo: “Agrupa pelas cidades, mas mantém o estado quietinho.”
2. Exemplo: Produtos por Categoria e Subcategoria
Imagine que cê tá organizando seus produtos por categoria e subcategoria. Com o ROLLUPGROUP, cê pode garantir que a categoria fique certinha enquanto mexe nas subcategorias:
SUMMARIZECOLUMNS ( Produtos[Categoria], ROLLUPGROUP( Produtos[Subcategoria], Produtos[Categoria] ), "TotalProdutos", SUM( Produtos[Quantidade] ) )
É tipo fazer um pão de queijo com um tantinho de goiabada no meio, sem mexer na massa!
3. Exemplo: Faturamento por Ano e Mês
Cê quer ver o faturamento por ano e mês, mas o ano precisa ser mantido firme? Bora usar o ROLLUPGROUP:
SUMMARIZECOLUMNS ( Faturamento[Ano], ROLLUPGROUP( Faturamento[Mês], Faturamento[Ano] ), "TotalFaturamento", SUM( Faturamento[Valor] ) )
Aqui o trem fica ajeitado, com o faturamento de cada ano separado bonitinho.
4. Exemplo: Despesas por Departamento e Tipo
Se o negócio é controlar despesas por departamento e tipo, o ROLLUPGROUP vai garantir que o departamento fique firme enquanto o tipo é agrupado:
SUMMARIZECOLUMNS ( Despesas[Departamento], ROLLUPGROUP( Despesas[Tipo], Despesas[Departamento] ), "TotalDespesas", SUM( Despesas[Valor] ) )
É igual pedir pro mineiro não mexer no queijo na mesa do café, só no pão!
5. Exemplo: Quantidade de Clientes por Região e Cidade
Agora se for pra ver quantos clientes cê tem por região e cidade, mas mantendo as regiões intactas:
SUMMARIZECOLUMNS ( Clientes[Região], ROLLUPGROUP( Clientes[Cidade], Clientes[Região] ), "TotalClientes", COUNT( Clientes[ID] ) )
As regiões ficam fixas enquanto as cidades vão sendo agrupadas.
6. Exemplo: Vendas por Produto e Loja
Cê tá analisando as vendas por produto e loja, e quer que as lojas fiquem agrupadas enquanto o produto é resumido:
SUMMARIZECOLUMNS ( Vendas[Loja], ROLLUPGROUP( Vendas[Produto], Vendas[Loja] ), "TotalVendas", SUM( Vendas[Valor] ) )
Aqui o ROLLUPGROUP segura a loja firme igual freio de boi brabo!
7. Exemplo: Funcionalidades de Produto por Versão
Digamos que cê tá contando as funcionalidades de um produto por versão, mas quer que a versão se mantenha:
SUMMARIZECOLUMNS ( Produto[Versão], ROLLUPGROUP( Produto[Funcionalidade], Produto[Versão] ), "TotalFuncionalidades", COUNT( Produto[Funcionalidade] ) )
A versão fica ali paradinha enquanto as funcionalidades são agrupadas.
8. Exemplo: Contagem de Pedidos por Cliente e Data
Cê tá vendo os pedidos por cliente e data, e quer que os clientes não sejam bagunçados no agrupamento:
SUMMARIZECOLUMNS ( Pedidos[Cliente], ROLLUPGROUP( Pedidos[Data], Pedidos[Cliente] ), "TotalPedidos", COUNT( Pedidos[ID] ) )
É tipo separar o cafezinho do bolo de fubá, mas sem misturar!
9. Exemplo: Horas Trabalhadas por Projeto e Fase
Se tá olhando as horas trabalhadas por projeto e fase, mas precisa que o projeto fique intacto:
SUMMARIZECOLUMNS ( Projeto[Nome], ROLLUPGROUP( Projeto[Fase], Projeto[Nome] ), "TotalHoras", SUM( Projeto[HorasTrabalhadas] ) )
Fase vai, fase vem, mas o projeto fica ali, igual mineiro na porta do boteco.
10. Exemplo: Estoque por Categoria e Produto
Agora cê quer ver o estoque por categoria e produto, mas não quer mexer nas categorias:
SUMMARIZECOLUMNS ( Estoque[Categoria], ROLLUPGROUP( Estoque[Produto], Estoque[Categoria] ), "TotalEstoque", SUM( Estoque[Quantidade] ) )
As categorias tão fixas igual muro de fazenda, enquanto os produtos são agrupados.
Finalizando o Raciocínio
Então, meu amigo, com essa tal de ROLLUPGROUP cê consegue mexer nos agrupamentos, sem bagunçar tudo! É igual aquele jeito mineiro de resolver as coisas: com calma, jeitinho e sem perder o trem de vista!
Agora é só aplicar e deixar os dados organizados como mineiro gosta: tudo no lugar certim!