Quem escreve DAX com frequência logo percebe que algumas fórmulas ficam repetitivas, com o mesmo trecho de código aparecendo várias vezes na mesma expressão. As variáveis DAX resolvem esse problema de forma elegante, tornando as fórmulas mais legíveis, mais fáceis de depurar e, em muitos casos, mais rápidas de calcular. Neste artigo iremos mostrar como usar variáveis no DAX do Power BI.
O que são variáveis no DAX?
As variáveis DAX permitem armazenar o resultado de uma expressão em um nome temporário e reutilizá-lo várias vezes dentro da mesma fórmula. Elas são definidas com a palavra-chave VAR e retornadas com a palavra-chave RETURN.
Sintaxe básica
Nome da Medida = VAR TotalVendas = SUM(Vendas[Valor]) VAR TotalMeta = SUM(Metas[Valor]) RETURN DIVIDE(TotalVendas; TotalMeta; 0)
Por que usar variáveis?
Evitar repetição
Sem variáveis, você precisaria escrever a mesma expressão duas vezes:
-- Sem variáveis (código repetido) Variação = SUM(Vendas[Valor]) - CALCULATE(SUM(Vendas[Valor]); SAMEPERIODLASTYEAR(Calendário[Data]))
-- Com variáveis (código limpo) Variação = VAR Atual = SUM(Vendas[Valor]) VAR Anterior = CALCULATE(SUM(Vendas[Valor]); SAMEPERIODLASTYEAR(Calendário[Data])) RETURN Atual - Anterior
Facilitar a depuração
Com variáveis, você pode testar cada parte da fórmula substituindo o RETURN pela variável que quer verificar:
% Meta = VAR Vendas = [Total de Vendas] VAR Meta = [Meta de Vendas] VAR Percentual = DIVIDE(Vendas; Meta; 0) RETURN Percentual -- mude aqui para Vendas ou Meta para depurar
Melhorar o desempenho
Quando uma expressão é usada várias vezes na mesma fórmula, usar uma variável faz com que ela seja calculada apenas uma vez, o que pode melhorar o desempenho.
Variáveis com tabelas
As variáveis também podem armazenar tabelas, não apenas valores escalares:
Top 5 Clientes = VAR TabelaClientes = TOPN(5; Clientes; [Total de Vendas]) RETURN SUMX(TabelaClientes; [Total de Vendas])
Variáveis e o contexto de filtro
Um conceito importante: as variáveis no DAX capturam o contexto de filtro no momento em que são avaliadas. Isso significa que se você usar uma variável dentro de um CALCULATE, ela vai manter o valor calculado no contexto externo, não no contexto modificado pelo CALCULATE. Esse comportamento é diferente de simplesmente repetir a expressão dentro do CALCULATE.
Boas práticas com variáveis DAX
- Dê nomes descritivos às variáveis em CamelCase ou com underscores
- Use variáveis para cada cálculo intermediário significativo
- Não exagere: variáveis em excesso em fórmulas simples só adicionam ruído
- Adicione comentários para variáveis com lógica complexa
Se você curtiu esse artigo onde mostramos como usar variáveis no DAX do Power BI, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.