Saltar al contenido principal Saltar al contenido complementario

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.

Nota de sugerenciaCuando utilice variables en las expresiones, puede cambiar la expresión utilizada en un rango de gráficos simultáneamente simplemente editando la variable.

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.

Ejemplos de cómo se interpretan los nombres
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:

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

 

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:

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.

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.