VAR

Armazena o resultado de uma expressão como uma variável com nome, que pode ser passada como argumento para outras expressões de medida. Depois que os valores resultantes tiverem sido calculados para uma expressão variável, esses valores não serão alterados, 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 erro.
Conjunto de caracteres compatíveis: a-z, A-Z, 0-9.
Os caracteres 0-9 não são válidos como primeiro caractere.
O sublinhado duplo (__) é permitido como prefixo do nome do identificador.
Nenhum outro caractere especial é compatível.
Palavras-chave reservadas não são permitidas.
Nomes de tabelas existentes não são permitidos.
Espaços vazios não são permitidos.
expressão Uma expressão DAX que retorna um valor escalar ou de tabela.

Valor retornado

Uma variável com nome que contém o resultado do argumento da expressão.

Comentários

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

  • Ao referenciar uma variável:

    • As medidas não podem se referir a variáveis definidas fora da expressão de medida, mas podem se referir a variáveis de escopo funcional definidas dentro da expressão.
    • As variáveis podem se referir a medidas.
    • As variáveis podem se referir a variáveis definidas anteriormente.
    • As colunas nas variáveis de tabela não podem ser referenciadas por meio da sintaxe TableName [ColumnName].
  • Para melhores práticas ao usar VAR, confira Use 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 um percentual de crescimento em relação ao ano anterior sem usar uma variável, você pode criar três medidas separadas. A primeira medida calcula a soma do valor de vendas:

Sum of SalesAmount = SUM(SalesTable[SalesAmount])  

A segunda medida calcula o valor de vendas no ano anterior:

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

Em seguida, você pode criar uma terceira medida que combina as outras duas medidas a fim de calcular o percentual de crescimento. Observe que a soma da medida SalesAmount é usada em dois lugares: primeiro, para determinar se há uma venda, depois novamente para calcular o percentual.

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

Usando uma variável, você poderá 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ê poderá obter o mesmo resultado, mas de uma maneira mais legível. E como o resultado da expressão é armazenado na variável, o desempenho da medida pode ser significativamente aprimorado porque não precisa ser recalculado toda vez que ela é usada.

Usar variáveis para melhorar as fórmulas DAX
Consultas do DAX