Ô 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!