As funções ALL e ALLSELECTED em DAX são usadas para remover filtros e realizar cálculos mais flexíveis e personalizados.
No entanto, a diferença principal entre elas é:
- ALL: ignora todos os filtros da coluna ou tabela especificada.
- ALLSELECTED: respeita os filtros aplicados pelo usuário na visualização, como seleções feitas em segmentações ou gráficos.
Ou seja, essas funções são essenciais para criar medidas como percentual do total, médias gerais, ou ranking, mesmo com filtros ativos.
Vamos colocar em prática!
Importando Dados do Excel para o Power BI
Observe que, temos uma extensa planilha no Excel contendo o registro de vendas de uma determinada loja:

No caso, importamos a base de dados para o Power BI e tratamos elas no Power Query:

Além disso, criamos uma medida com a DAX SUM para trazer o total do faturamento adquirido no período registrado:
Total Vendas = SUM(Vendas[Valor Total])

Aplicando ALL no Power BI
Primeiramente, vamos criar uma medida com o Total Geral, mas, com a DAX ALL, pois, essa medida irá ignorar qualquer filtro, como filtro de Região ou Produto, por exemplo.
Ou seja, ela mostra o total geral absoluto, independentemente do que está visível ou filtrado no relatório.
Então, vá até a tabela de Vendas, clique com o botão direito e vá em Nova Medida:

Depois, nomeie a medida como Total Geral ALL, aplique a DAX CALCULTE, selecione a medida de Total Vendas, coloque a DAX ALL e selecione a tabela de Vendas:
Total Geral ALL = CALCULATE([Total Vendas],ALL(‘Vendas’))

Por fim, vamos criar uma medida para trazer o percentual do total geral.
Ou seja, esse percentual mostra quanto cada linha representa em relação ao total absoluto.
Então, usamos isso, por exemplo, para ver o peso de cada vendedor ou produto no total da empresa.
Sendo assim, vá em Nova Medida, nomeie ela como % do Total Geral, aplique a DAX DIVIDE, coloque o Total Vendas e o Total Geral ALL:
% do Total Geral = DIVIDE([Total Vendas], [Total Geral ALL])

Aplicando ALLSELECTED no Power BI
Por fim, precisamos criar a medida do total, mas, com ALLSELECTED.
Afinal, diferente de ALL, essa medida respeita as seleções feitas na tela como segmentações, filtros em gráficos e outros.
Ou seja, ela é útil para mostrar totais com base no que o usuário está vendo.
Então, vá em Nova Medida, nomeie ela como Total Selecionado ALLSELECTED, aplique a DAX CALCULATE, selecione o Total Vendas, aplique a DAX ALLSELECTED e selecione a tabela Vendas:
Total Selecionado ALLSELECTED = CALCULATE([Total Vendas],ALLSELECTED(‘Vendas’))

Posteriormente, vamos precisar calcular o percentual do total selecionada, pois, ele irá mostrar quanto cada item representa dentro da seleção atual do usuário.
Ou seja, é ideal para relatórios interativos, onde a pessoa filtra por região, produto e entre outros.
Então, volte em Nova Medida, nomeie como % do Total Selecionado, aplique a DAX DIVIDE, selecione as medidas de Total Vendas e Total Selecionado ALLSELECTED:
% do Total Selecionado = DIVIDE([Total Vendas], [Total Selecionado ALLSELECTED])

Diferença de ALL e ALLSELECTED no Power BI
Portanto, agora que temos todas as medidas criadas, temos que visualizar os resultados através de um visual do Power BI.
Então, selecione um visual de Tabela e coloque as opções de Vendedor, Total Vendas, % do Total Geral e % do Total Selecionado.
Lembre-se de configurar os valores como Moeda e Porcentagem, respectivamente.

Por fim, insira uma segmentação de dados por Região:

Assim, toda vez que você filtrar os dados com a segmentação de Região, você verá a diferença entre as medidas, onde:
- % do Total Geral não muda quando você filtra.
- % do Total Selecionado muda conforme você seleciona dados na tela.

Portanto, com as dicas acima, você vai conseguir identificar a diferença entre as DAX ALL e ALLSELECTED e saber em que situação a aplicar em suas medidas no Power BI.
Curso de Excel Completo: Do Básico ao Avançado.
Quer aprender Excel do Básico ao Avançado, passando por Dashboards? Clique na imagem abaixo e saiba mais sobre este Curso de Excel Completo.
Por fim, deixe seu comentário sobre se gostou deste post tutorial e se você irá usar essas técnicas em suas planilhas de Excel. E você também pode enviar a sua sugestão para os próximos posts. Até breve!