VAR
Armazena o resultado de uma expressão como uma variável nomeada, que pode então ser passada como um argumento para outras expressões measure. Depois que values resultantes tiverem sido calculadas para uma expressão variável, essas values fazem not alteração, evenif a variável é referenciada em outra expressão.
Sintaxe
VAR <name> = <expression>
Parâmetros
Prazo | Definição |
---|---|
name |
O nome da variável (identificador). Há suporte para delimitadores not. Por exemplo, 'varName' or [varName] resultará em um error. Conjunto de caracteres com suporte: a-z, A-Z, 0-9. 0-9 são not válidos como first caractere. __ (sublinhado duplo) é permitido como um prefixo para o nome do identificador. Não há suporte para outros caracteres especiais. Palavras-chave reservadas not permitidas. Os nomes das tabelas existentes são not permitidos. Espaços vazios são not permitidos. |
expression |
Uma expressão DAX que retorna uma tabela escalar orvalue. |
Retornar value
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 measure, 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 calculate uma porcentagem de crescimento year-over-year sem usar uma variável, você pode criar três medidas separadas. Este firstmeasure calcula Sum de Valor de Vendas:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
Um secondmeasure calcula o valor de vendas do previousyear:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Em seguida, você pode criar um terceiro measure que combina as outras duas medidas para calculate um percentual de crescimento. Observe que o Sum do measure SalesAmount é usado em dois locais; first determinar if há uma venda e, em seguida, novamente para calculate 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 measure 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. And porque o resultado da expressão é armazenado na variável, o desempenho do measurepode ser significativamente melhorado porque não precisa ser recalculado a cada time é usado.