Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.