Exemplos de como usar uma variável em uma expressão
No Qlik Sense, uma variável é uma entidade nomeada, contendo um valor de dados.
Exemplo:
A variável x contém a string de texto Sum(Sales).
Em um gráfico, você define a expressão $(x)/12. O efeito é exatamente o mesmo de ter uma expressão de gráfico Sum(Sales)/12.
No entanto, se você alterar o valor da variável x para, por exemplo, Sum(Budget), os dados do gráfico são recalculados imediatamente com a expressão interpretada como Sum(Budget)/12.
Como os nomes são interpretados
No Qlik Sense, não é recomendado dar a uma variável o nome de um campo ou função. Mas se fizer, você deverá saber como usá-los em uma expressão.
Exemplo:
A string XXX representa um campo, uma variável, uma função ou uma medida. XXX será interpretado como um deles, dependendo de como a expressão for criada.
Expressão | XXX interpretado como |
---|---|
XXX | medida, variável ou campo |
$(XXX) | variável |
Count(XXX) | campo ou variável |
XXX() | função |
Ao nomear uma entidade, evite atribuir o mesmo nome a mais de um campo, variável ou medida. Existe uma ordem estrita de precedência para resolver conflitos entre entidades com nomes idênticos. Essa ordem é refletida em quaisquer objetos ou contextos nos quais essas entidades são usadas. Esta ordem de precedência é a seguinte:
-
Dentro de uma agregação, um campo tem precedência sobre uma variável. Rótulos de medida não são relevantes em agregações e não são priorizados.
-
Fora de uma agregação, um rótulo de medida tem precedência sobre uma variável que, por sua vez, tem precedência sobre um nome de campo.
-
Além disso, fora de uma agregação, uma medida pode ser reutilizada ao se fazer referência ao seu rótulo, a menos que esse rótulo seja de fato um rótulo calculado. Nessa situação, a medida perde significado para reduzir o risco de autorreferência e, nesse caso, o nome sempre será interpretado primeiro como um rótulo de medida, segundo como um nome de campo e terceiro como um nome de variável.
Cálculo da variável
Existem várias maneiras de usar variáveis com valores calculados no Qlik Sense, e o resultado depende de como você as define e as chama em uma expressão.
Esse exemplo requer os seguintes dados carregados no editor da carregamento de dados:
Vamos definir duas variáveis no diálogo de variáveis:
- Nome vSales Definição'Sum(Sales)'
- Nome vSales2 Definição'=Sum(Sales)'
Na segunda variável, adicionamos um sinal de igual antes da expressão. Assim, a variável será calculada antes de ser expandida e a expressão será avaliada.
Se você usar a variável vSales como está, por exemplo, em uma medida, o resultado será a string Sum(Sales), ou seja, nenhum cálculo será realizado.
Se você adicionar uma expansão de sinal de dólar e chamar $(vSales) na expressão, a variável será expandida e a soma de Sales, exibida.
Por fim, se você chamar $(vSales2), a variável será calculada antes de ser expandida. Isso significa que o resultado exibido é a soma total de Sales. A diferença entre usar =$(vSales) e =$(vSales2) como expressões de medida é observado neste gráfico que mostra os resultados:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Como você pode ver, $(vSales) resulta na soma parcial para um valor de dimensão e $(vSales2) resulta na soma total.