Ejemplos de uso de una variable en una expresión
Una variable en Qlik Sense es una entidad con nombre propio que contiene un valor de datos. Cuando se utiliza una variable en una expresión, es sustituida por su valor o la definición de la variable.
Ejemplo:
La variable x contiene la cadena de texto Sum(Sales).
En un gráfico, usted define la expresión $(x)/12. El efecto es exactamente el mismo que tener la expresión de gráfico Sum(Sales)/12.
No obstante, si cambia el valor de la variable x, por ejemplo a Sum(Budget), los datos en el gráfico se recalculan inmediatamente con la expresión interpretada como Sum(Budget)/12.
Cómo se interpretan los nombres
No se recomienda utilizar el mismo nombre para un campo y una función en Qlik Sense Pero si lo hace, debe saber cómo utilizarlas en una expresión.
Ejemplo:
La cadena XXX representa un campo, una variable, una función o una medida. XXX se interpretará como cualquiera de ellos dependiendo de cómo creemos la expresión.
Expresión | XXX interpretado como |
---|---|
XXX | medida, variable o campo |
$(XXX) | variable |
Count(XXX) | campo o variable |
XXX() | función |
Al nombrar una entidad, evite asignar el mismo nombre a más de un campo, variable o medida. Existe un orden estricto de precedencia para resolver conflictos entre entidades con nombres idénticos. Este orden se refleja en cualquier objeto o contexto en el que se utilicen estas entidades. Este orden de precedencia es el siguiente:
-
Dentro de una agregación, un campo tiene prioridad sobre una variable. Los nombres de las medidas no son relevantes en las agregaciones y no se priorizan.
-
Fuera de una agregación, una etiqueta de medida tiene prioridad sobre una variable, que a su vez tiene prioridad sobre un nombre de campo.
-
Además, fuera de una agregación, se puede reutilizar una medida haciendo referencia a su etiqueta, a menos que la etiqueta sea de hecho una etiqueta calculada. En esa situación, la medida pierde importancia para reducir el riesgo de autorreferencia y, en este caso, el nombre siempre se interpretará primero como una etiqueta de medida, en segundo lugar como un nombre de campo y en tercer lugar como un nombre de variable.
Cálculo de variables
Hay varias maneras de utilizar variables con valores calculados en Qlik Sense y el resultado depende de cómo se defina y de cómo se denomine en una expresión.
Este ejemplo requiere que se carguen los datos siguientes en el editor de carga de datos:
Vamos a definir dos variables desde el diálogo de variables:
- Nombre vSales Definición'Sum(Sales)'
- Nombre vSales2 Definición'=Sum(Sales)'
En la segunda variable, añadimos un signo igual antes de la expresión. De este modo la variable se calculará antes de que se expanda y se evalúe la expresión.
Si utiliza la variable vSales tal como está, por ejemplo, en una medida, el resultado será la cadena Sum(Sales), es decir, no se realizará ningún cálculo.
Si agrega una expansión de signo de dólar y llama a $(vSales) en la expresión, la variable se expandirá y se mostrará la suma de Sales.
Por último, si llama a $(vSales2), la variable se calculará antes de expandirse. Esto significa que el resultado mostrado será la suma total de Sales. La diferencia entre usar =$(vSales) y =$(vSales2) como expresiones de medida se ve en este cuadro que muestra los resultados:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Como se puede observar, $(vSales) da como resultado la suma parcial de un valor de dimensión, mientras que $(vSales2) da como resultado la suma total.