LIVE 002 – Entendendo o contexto de linha e o contexto de filtro

A Live 002 da Semana DAX abordou um dos temas mais fundamentais — e frequentemente confundidos — da linguagem DAX no Power BI: a diferença entre contexto de linha e contexto de filtro. Essa distinção é essencial para qualquer pessoa que deseja criar measures e colunas calculadas com precisão e eficiência.

Contexto de linha

O contexto de linha (row context) ocorre quando o Power BI avalia uma expressão DAX para cada linha de uma tabela individualmente. Em uma coluna calculada, por exemplo, cada célula recebe seu próprio contexto de linha, permitindo que referências a outras colunas da mesma tabela sejam resolvidas automaticamente. Esse contexto também é ativado em iterações, como nas funções ADDCOLUMNS, SUMX e MAXX, onde a expressão é avalizada linha a linha dentro de uma tabela temporária.

Contexto de filtro

O contexto de filtro (filter context) é o conjunto de filtros ativos que determinam quais linhas são consideradas ao avaliar uma medida. Ele é construído automaticamente por filtros visuais (como slicers, segmentações e drill-down), por filtros de contexto de linha anteriores e, de forma explícita, pelas funções FILTER, ALL, VALUES e especialmente CALCULATE. Entender como CALCULATE modifica o contexto de filtro é o passo decisivo para dominar DAX.

Por que essa distinção importa

Muitos erros em fórmulas DAX surgem justamente por confundir os dois contextos. Uma medida que parece correta pode retornar valores inesperados quando aplicada a diferentes visuais, justamente porque o contexto de filtro muda com cada interação do usuário. Domine esses conceitos e você passará a escrever fórmulas DAX com muito mais confiança e precisão.