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. 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
Prazo | Definição |
---|---|
name |
O nome da variável (identificador). Não há suporte para delimitadores. Por exemplo, 'varName' ou [varName] resultará em um erro. Conjunto de caracteres com suporte: 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. Não há suporte para outros caracteres especiais. Palavras-chave reservadas não permitidas. Nomes de tabelas existentes não são permitidos. Espaços vazios não são permitidos. |
expression |
Uma expressão DAX que retorna um valor escalar ou de tabela. |
Valor de retorno
Uma variável nomeada que contém o resultado do argumento de expressão.
Observações
Uma expressão passada como um argumento para VAR pode conter outra declaração de 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.
- Variáveis podem se referir a medidas.
- Variáveis podem se referir a variáveis definidas anteriormente.
- Colunas em variáveis de tabela não podem ser referenciadas por meio da sintaxe TableName[ColumnName].
Para obter práticas recomendadas ao usar VAR, consulte Usar variáveis para melhorar suas fórmulas DAX.
Para saber mais sobre como VAR é usado em uma consulta DAX, consulte DAX consultas.
Exemplo
Para calcular um percentual de crescimento ano a ano sem usar uma variável, você pode criar três medidas separadas. Esta primeira medida calcula a Soma do Valor de Vendas:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
Uma segunda medida calcula o valor de vendas do 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 para calcular um percentual de crescimento. Observe que a medida Soma de SalesAmount é usada em dois locais; primeiro para determinar se há uma venda e, em seguida, 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 maneira mais legível. E como o resultado da expressão é armazenado na variável, o desempenho da medida pode ser significativamente melhorado porque ela não precisa ser recalculada cada vez que é usada.