Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products.
All content is subject to change and is provided without warranty.
Ir para conteúdo principal Pular para conteúdo complementar

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. Quando uma variável é utilizada em uma expressão, ela é substituída por seu valor ou sua definição.

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.

Nota de dicaAo usar variáveis em expressões, é possível alterar a expressão usada no intervalo de gráficos simultaneamente ao editar a variável.

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.

Exemplos de como os nomes são interpretados
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:

LOAD * INLINE [ Dim, Sales A, 150 A, 200 B, 240 B, 230 C, 410 C, 330 ];

 

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:

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.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!