(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
DAX

Variáveis em DAX: medidas mais legíveis e mais rápidas

João Barros 19 de September de 2025 2 min de leitura

Introduzidas no DAX 2015, as variáveis (VAR/RETURN) são talvez a adição mais impactante à linguagem. Permitem dar nomes a sub-expressões, tornando o código mais legível e potencialmente mais rápido.

Sintaxe

Medida =
VAR vVendas = SUM(fVendas[Receita])
VAR vCusto  = SUM(fVendas[Custo])
VAR vMargem = vVendas - vCusto
RETURN
    DIVIDE(vMargem, vVendas)

Benefícios de legibilidade

Compare com a versão sem variáveis:

-- Sem variáveis (difícil de ler e manter)
Margem % = DIVIDE(
    SUM(fVendas[Receita]) - SUM(fVendas[Custo]),
    SUM(fVendas[Receita])
)

Com variáveis, cada parte tem um nome semântico. Outros membros da equipa (ou você daqui a 6 meses) percebem imediatamente a intenção.

Benefícios de performance

Uma variável é avaliada uma única vez no contexto de filtro em que é declarada. Se a mesma sub-expressão aparece três vezes na medida, sem variáveis é avaliada três vezes; com variáveis, é avaliada uma vez e o resultado reutilizado.

Variáveis para debugging

Debug Medida =
VAR vBase   = CALCULATE(SUM(fVendas[Receita]), REMOVEFILTERS())
VAR vFiltro = SUM(fVendas[Receita])
RETURN
    "Base: " & vBase & " | Filtrado: " & vFiltro

Mude o RETURN para revelar valores intermédios durante o desenvolvimento, sem alterar a lógica final.

Limitação importante

Uma variável captura o contexto de filtro no momento da sua declaração. Se o contexto mudar depois (e.g., dentro de um CALCULATE), a variável não é reavaliada. Este comportamento é intencional e consistente, mas importa conhecer.

Conclusão

Use VAR/RETURN em todas as medidas com mais de uma sub-expressão. O custo é zero e os ganhos em legibilidade e manutenção são enormes.

Partilhar: