A função COLLAPSEALL
no Power BI é um verdadeiro quebra-galho, daquelas que parecem um canivete suíço dos cálculos, só que num trem de dados. Sabe quando cê tem que simplificar aquele monte de hierarquia que tá parecendo árvore de Natal de tanta coisa pendurada? Pois é, é aí que entra a COLLAPSEALL
. Ela basicamente faz o seguinte: desmonta as hierarquias e combina tudo numa coisinha só, trazendo os dados que tão num nível mais alto e ignorando os outros detalhinhos.
Agora, vamo fazer um passeio nos exemplos, pra ver na prática:
Exemplo 1:
Você tem uma tabela com hierarquia de Categoria -> Subcategoria -> Produto, e quer dar uma limpada pra ver só a Categoria. Joga o COLLAPSEALL
pra funcionar:
DAXCopiar códigoCALCULATE(SUM(Sales[Total Sales]), COLLAPSEALL())
Pronto, tá vendo só a soma total de vendas por categoria.
Exemplo 2:
Quer sumarizar as vendas só no nível de Subcategoria? Não precisa preocupar, o COLLAPSEALL
resolve:
DAXCopiar códigoCALCULATE(SUM(Sales[Total Sales]), COLLAPSEALL('Products'[Subcategory]))
Agora só as subcategorias vão aparecer. O resto já foi pro saco.
Exemplo 3:
Vamo complicar um pouquinho mais? Digamos que você tem uma relação de Região -> País -> Cidade. Cansou de olhar todas essas regiões? Usa o seguinte:
DAXCopiar códigoCALCULATE(SUM(Sales[Total Sales]), COLLAPSEALL('Regions'[Region]))
Agora cê vai ver só o total de cada região, sem as firulas das cidades.
Exemplo 4:
Pra quem tá de dieta e só quer saber do essencial, se você tem uma tabela de Alimentos com Grupo -> Tipo -> Produto, usa o COLLAPSEALL
pra ver só o grupo de alimentos:
DAXCopiar códigoCALCULATE(SUM(Food[Calories]), COLLAPSEALL('Food'[Group]))
Lá se vai a batatinha frita, e ficam só os grupos tipo “Carboidratos”, “Proteínas”, sem muito detalhe.
Exemplo 5:
Tô com uma lista de Departamento -> Setor -> Equipe e quero ver o total por Departamento. O COLLAPSEALL
vai resolver:
DAXCopiar códigoCALCULATE(SUM(Employee[Headcount]), COLLAPSEALL('Employee'[Department]))
Fica só os departamentos, limpinho.
Exemplo 6:
Na empresa cê tem várias fábricas e tá cansado de ver os números separados por Fábrica -> Seção -> Máquina. Quer só as Fábricas? Usa:
DAXCopiar códigoCALCULATE(SUM(Factories[Production]), COLLAPSEALL('Factories'[Factory]))
Agora só vê os números por fábrica e o resto some.
Exemplo 7:
Sua tabela de filmes tem Gênero -> Diretor -> Filme e quer ver o total só por Gênero? Moleza:
DAXCopiar códigoCALCULATE(SUM(Movies[Revenue]), COLLAPSEALL('Movies'[Genre]))
Só os gêneros aparecem, sem spoiler dos diretores.
Exemplo 8:
Na lista de clientes tem País -> Estado -> Cidade, mas cê só quer ver os números por país? COLLAPSEALL
neles:
DAXCopiar códigoCALCULATE(SUM(Customers[Revenue]), COLLAPSEALL('Customers'[Country]))
Agora só os países vão aparecer.
Exemplo 9:
A hierarquia de projetos tem Cliente -> Projeto -> Tarefa, e cê tá a fim de ver só os clientes? Bora de COLLAPSEALL
:
DAXCopiar códigoCALCULATE(SUM(Projects[Budget]), COLLAPSEALL('Projects'[Client]))
Fica só os clientes e seus orçamentos.
Exemplo 10:
Último exemplo: tabela de cursos com Categoria -> Curso -> Aula, e cê quer ver só as categorias de curso? COLLAPSEALL
resolve isso:
DAXCopiar códigoCALCULATE(SUM(Courses[Enrollments]), COLLAPSEALL('Courses'[Category]))
Agora vê só as categorias de curso e pronto!
Resumindo, o COLLAPSEALL
é o tipo de função que faz faxina nos dados e te dá só o que é essencial. Usou, resolveu. Num tem enrolação. É que nem aquela mãe que manda limpar o quarto e num deixa você guardar bagunça debaixo da cama não!