VAR

Armazena o resultado de uma expressão como uma variável nomeada, que pode ser passada como um argumento para outras expressões de medida. Uma vez que os valores resultantes tenham sido calculados para uma expressão variável, esses valores não mudam, mesmo que a variável seja referenciada em outra expressão.

Sintaxe

VAR <name> = <expression>  

Parâmetros

Termo Definição
nome O nome da variável (identificador).
Não há suporte para delimitadores. Por exemplo, 'varName' ou [varName] resultará em um erro.
Conjunto de caracteres suportado: a-z, A-Z, 0-9.
0-9 não são válidos como primeiro caractere.
__ (sublinhado duplo) é permitido como um prefixo para o nome do identificador.
Nenhum outro caractere especial é suportado.
Palavras-chave reservadas não permitidas.
Nomes de tabelas existentes não são permitidos.
Não são permitidos espaços vazios.
expressão Uma expressão DAX que retorna um valor escalar ou de tabela.

Valor devolvido

Uma variável nomeada que contém o resultado do argumento de expressão.

Observações

  • Uma expressão passada como argumento para o VAR pode conter outra declaração VAR.

  • Ao fazer referência a uma variável:

    • As medidas não podem referir-se a variáveis definidas fora da expressão da medida, mas podem referir-se a variáveis de âmbito funcional definidas dentro da expressão.
    • As variáveis podem referir-se a medidas.
    • As variáveis podem referir-se a variáveis previamente definidas.
    • As colunas em variáveis de tabela não podem ser referenciadas por meio da sintaxe TableName[ColumnName].
  • Para obter as práticas recomendadas ao usar o VAR, consulte Usar variáveis para melhorar suas fórmulas DAX.

  • Para saber mais sobre como o VAR é usado em uma consulta DAX, consulte Consultas DAX.

Exemplo

Para calcular uma porcentagem do crescimento ano a ano sem usar uma variável, você pode criar três medidas separadas. Esta primeira medida calcula a Soma do Valor das Vendas:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

Uma segunda medida calcula o valor das vendas do ano anterior:

SalesAmount PreviousYear =
    CALCULATE([Sum of SalesAmount],
    SAMEPERIODLASTYEAR(Calendar[Date])
    )  

Em seguida, você pode criar uma terceira medida que combine as outras duas medidas para calcular uma porcentagem de crescimento. Observe que a medida Soma de SalesAmount é usada em dois lugares; primeiro para determinar se há uma venda, depois novamente para calcular uma porcentagem.

Sum of SalesAmount YoY%: = 
    IF([Sum of SalesAmount] ,  
        DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
    )  

Usando uma variável, você pode criar uma única medida que calcula o mesmo resultado:

YoY% = VAR Sales = SUM(SalesTable[SalesAmount])  

VAR SalesLastYear =
    CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

    return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))  

Usando uma variável, você pode obter o mesmo resultado, mas de uma forma mais legível. E como o resultado da expressão é armazenado na variável, o desempenho da medida pode ser significativamente melhorado porque não precisa ser recalculado cada vez que é usado.

Usar variáveis para melhorar suas fórmulas DAX
Consultas DAX