LIVE 001 – Funções FILTER e ALL da DAX no Power BI

Esta foi a primeira live da série dedicada à linguagem DAX dentro do Power BI. O foco da sessão foi apresentar e explicar duas funções fundamentais de tabela: FILTER e ALL.

Durante a transmissão, o professor demonstrou na prática como utilizar essas funções para manipular tabelas, criar filtros específicos e, principalmente, como a combinação delas com a função CALCULATE pode potencializar seus cálculos e análises.

A live abordou conceitos essenciais para qualquer pessoa que deseja avançar na criação de medidas e colunas calculadas no Power BI, entendendo como o contexto de avaliação é afetado pelas funções de tabela.

Função FILTER: como funciona

A função FILTER percorre cada linha de uma tabela e retorna apenas as linhas que atendem a uma condição especificada. Ela é extremamente útil quando você precisa criar um subconjunto de dados com base em critérios específicos.

Sintaxe básica:

FILTER( tabela, condição )

Por exemplo, para filtrar uma tabela de vendas e retornar apenas as linhas onde a quantidade é maior que 100, você usaria algo como FILTER(Vendas, Vendas[Quantidade] > 100). A tabela resultante conterá apenas essas linhas filtradas.

Uma característica importante da FILTER é que ela avalia a condição linha por linha, o que a torna uma função iteradora. Isso significa que, em grandes volumes de dados, ela pode impactar o desempenho se usada de forma inadequada. Por isso, é recomendável aplicar filtros sempre que possível antes de usar FILTER, aproveitando o mecanismo de otimização do motor DAX.

Função ALL: removendo filtros

A função ALL retorna todas as linhas de uma tabela ou coluna, ignorando quaisquer filtros que estejam sendo aplicados no contexto atual. Ela é fundamental para criar cálculos que precisam considerar o conjunto completo de dados, independentemente dos filtros visuais ou do contexto de linha.

Sintaxe básica:

ALL( tabela ) ou ALL( tabela[coluna] )

Quando você usa ALL em uma tabela inteira, todos os filtros sobre essa tabela são removidos. Quando usa em uma coluna específica, apenas os filtros sobre aquela coluna são removidos, preservando os demais.

Um caso clássico de uso é calcular a porcentagem de cada categoria em relação ao total geral. Sem ALL, o total seria recalculado para cada linha do contexto; com ALL, você força o cálculo sobre o conjunto completo.

Combinando FILTER e ALL com CALCULATE

O verdadeiro poder dessas funções se revela quando elas são combinadas com CALCULATE. A função CALCULATE modifica o contexto de avaliação de uma expressão, e tanto FILTER quanto ALL podem ser usados como modificadores de contexto dentro dela.

Quando você passa FILTER como modificador de contexto para CALCULATE, está criando um filtro explícito que será aplicado antes da avaliação da expressão. Quando usa ALL, está removendo filtros existentes para que a expressão avalie um escopo mais amplo.

Essa combinação abre possibilidades enormes: cálculos percentuais, rankings, comparações entre períodos, acumulados e muitos outros cenários de análise de dados.

Exemplos práticos abordados na live

Durante a sessão, foram apresentados exemplos que mostram a aplicação dessas funções em cenários reais de análise:

  • Vendas por região com filtro dinâmico: usando FILTER para isolar dados de uma região específica e CALCULATE para agregar valores.
  • Participação percentual no total: combinando ALL com DIVIDE para calcular a fatia de cada categoria em relação ao total geral.
  • Filtros encadeados: aplicando múltiplos filtros dentro de CALCULATE para refinar ainda mais os resultados.
  • Comparativo entre períodos: usando ALL para remover filtros de data e comparar o desempenho atual com o período anterior.

Cada exemplo foi acompanhado de uma demonstração ao vivo no Power BI Desktop, permitindo que os participantes acompanhassem o passo a passo da construção das fórmulas.

Por que essas funções são importantes

FILTER e ALL são consideradas funções de nível intermediário a avançado no DAX. Dominar elas é essencial para quem quer ir além das medidas simples e começar a criar análises mais sofisticadas. Elas aparecem constantemente em cenários de inteligência temporal, cálculos dinâmicos e modelagem de dados avançada.

Para quem está começando a estudar DAX, recomenda-se primeiro entender bem o contexto de avaliação antes de mergulhar nessas funções. A live cobriu essa base também, explicando como o contexto de linha e de filtro influenciam o resultado final de qualquer medida.

Esta live faz parte da série "Semana DAX", um conjunto de sessões ao vivo focadas em ensinar os fundamentos e técnicas avançadas da linguagem DAX.

Assista à gravação completa para acompanhar todos os exemplos e dúvidas respondidas durante o evento.