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.

Formas de usar variables en una expresión

Una variable puede utilizarse de dos maneras diferentes: en una referencia directa o en una expansión de signo dólar. Si utiliza una referencia directa, el valor de la variable se usará en el cálculo. Si utiliza una expansión de signo dólar, toda la expansión de signo dólar será reemplazada por el valor de la variable antes de analizar la expresión. Por lo tanto, los dos métodos diferentes pueden devolver resultados diferentes.

Ejemplo: Usar una variable con expansión de signo dólar

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.

Ejemplo: una variable con expansión de signo dólar en tabla pivotante

Suponga que tiene una Tabla dinámica o un objeto dinámico que contiene lo siguiente:

  • Las dimensiones son Product Type y Product Name.

  • Las medidas son Sum(Sales) y Count (distinct InvoiceNumber).

  • Los elementos en las Columnas son Valores (predeterminado) y el campo Quarter.

Puede usar variables para fomentar el análisis interactivo. Supongamos que también crea una variable vUserInteraction con una definición en blanco. A continuación, crea dos gráficos de Botón en su hoja, configurados con la acción Fijar valor de variable:

  • Mostrar más detalles: al hacer clic en este botón se establece vUserInteraction como un valor de ='Yes'.

  • Mostrar menos detalles: al hacer clic en este botón se establece vUserInteraction como un valor de ='No'.

En su tabla dinámica podría añadir una serie de medidas adicionales al gráfico, como Count(Quantity) y Sum(Cost). A continuación, configure cada columna de medidas para que tenga el siguiente valor para Mostrar columna si:

'$(Reference)'='Yes'

Esto permite que el gráfico se adapte a si el usuario desea o no información adicional. Si el usuario hace clic en el botón Mostrar más detalles, se añadirán medidas adicionales a la tabla. En caso contrario, o si hacen clic en Mostrar menos detalles, se eliminarán las medidas adicionales.

Más ejemplos: utilizar variables en expansiones de signo dólar

Las expansiones de signo dólar son una herramienta versátil y potente en Qlik Sense, con muchos usos posibles. Vea más ejemplos en Expansiones de signo dólar.

Ejemplo: referenciación directa de una variable en una expresión

Usar una variable como referencia directa es menos común, pero sigue siendo útil. Por ejemplo:

Supongamos que en su modelo de datos tiene un campo TransactionSummary que contiene resúmenes de las transacciones en texto libre. Este campo puede contener información complementaria sobre las transacciones. Por ejemplo, una transacción podría tener un breve resumen para documentar que el cliente compró un artículo con un crédito de la tienda, o para documentar cualquier problema que surgió durante la venta.

En su app puede que quiera usar TransactionSummary pero desee poner los datos en contexto sin afectar al modelo de datos o al script de carga, y sin almacenarlos en otra parte del gráfico.

Podría hacer lo siguiente:

  1. Cree una variable llamada vIntroStatement en el diálogo de variables con la siguiente definición:

    ='The following summary was provided by the vendor: '
  2. Añada la siguiente medida a un Gráfico de texto e imagen:

    vIntroStatement & TransactionSummary

Almacenar la sentencia de introducción como una variable permite controlar de forma centralizada el uso de un valor. Por ejemplo, la variable vIntroStatement podría utilizarse en múltiples gráficos, y dentro de un número de medidas diferentes (por ejemplo, podría haber un gráfico aparte que a veces contenga texto describiendo cuántas unidades se vendieron durante la transacción). Al utilizar una variable, puede simplificar enormementre el proceso de actualización de expresiones en la app. Para hacer un cambio en la redacción, simplemente actualice la variable y los cambios se reflejarán en toda la app.

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ónXXX interpretado como
XXXmedida, 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.

Como práctica recomendada, considere la posibilidad de utilizar una convención de nomenclatura estandarizada para las variables que cree en una app. Por ejemplo, podría asegurarae de que todos los nombres de sus variables comienzan por v. Por ejemplo: vUserText. Esto ayuda a que las variables se reconozcan rápidamente como variables y se diferencien de las medidas, campos y funciones.

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)
A3501560
B4701560
C7401560

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.