VAR

Armazena o resultado de uma expressão como uma variável nomeada, que depois podes passar como argumento a outras expressões de medida. Depois de DAX calcular os valores para uma expressão de variável, esses valores não mudam, mesmo que faça referência à variável noutra expressão.

Sintaxe

VAR <name> = <expression>

Parâmetros

Vigência Definição
name O nome da variável (identificador).
Delimitadores não são suportados. Por exemplo, 'varName' ou [varName] resultam num erro.
Conjunto de caracteres suportado: a-z, A-Z, 0-9.
0-9 não são válidos como primeira personagem.
__ (sublinhado duplo) é permitido como um prefixo para o nome do identificador.
Nenhum outro caractere especial é suportado.
Palavras-chave reservadas não são permitidas.
Nomes de tabelas existentes não são permitidos.
Não são permitidos espaços vazios.
expression Uma DAX expressão que devolve um valor escalar ou de tabela.

Valor de retorno

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

Comentários

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

  • Quando referencias uma variável:

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

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

Exemplo

Exemplos neste artigo podem ser usados com o modelo de exemplo do Power BI Desktop do Adventure Works DW 2020. Para obter o modelo, consulte DAX exemplo de modelo.

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 Sales Amount =
SUM ( Sales[Sales Amount] )

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

Sales Amount PreviousYear =
CALCULATE ( [Sum of Sales Amount], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )

Em seguida, você pode criar uma terceira medida que combine as outras duas medidas para calcular uma porcentagem de crescimento. Note que a Soma do Valor das Vendas é usada em dois locais: primeiro para verificar se existe uma venda, depois novamente para calcular uma percentagem.

Sum of SalesAmount YoY%: =
IF (
    [Sum of Sales Amount] && [Sales Amount PreviousYear],
    DIVIDE (
        ( [Sum of Sales Amount] - [Sales Amount PreviousYear] ),
        [Sales Amount PreviousYear]
    )
)

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

YoY% =
VAR Sales =
    SUM ( Sales[Sales Amount] )
VAR SalesLastYear =
    CALCULATE ( SUM ( Sales[Sales Amount] ), SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
RETURN
    IF ( Sales && SalesLastYear, DIVIDE ( Sales - SalesLastYear, SalesLastYear ) )

Ao usar uma variável, pode obter o mesmo resultado de forma mais legível. E como o resultado da expressão é armazenado na variável, o desempenho da medida melhora significativamente porque DAX não a recalcula sempre que é usada.