Saltar al contenido principal Saltar al contenido complementario

Trabajar con variables en el editor de carga de datos

Una variable en Qlik Sense es un contenedor que almacena un valor estático o un cálculo, por ejemplo un valor numérico o alfanumérico. Cuando utilice la variable en la app, cualquier cambio efectuado en la variable se aplica en todos los lugares en que se use la variable. Puede definir variables en el panel de variables o en el script, usando el Editor de carga de datos. Establece el valor de una variable usando las sentencias Let o Set en el script de carga de datos.

Nota de sugerenciaTambién puede trabajar con las variables de Qlik Sense desde el panel de variables cuando editamos una hoja. Utilizar variables en expresiones

General

Si el primer carácter del valor de una variable es un signo igual ' = ', Qlik Sense tratará de evaluar el valor como una fórmula (o expresión de Qlik Sense) y a continuación mostrará o devolverá el resultado en lugar del texto mismo de la fórmula.

Cuando se utiliza una variable, ésta es sustituida por su valor. Las variables se pueden utilizar en el script para expansión de signo dólar y en varias sentencias de control. Esto puede resultar de gran utilidad cuando la misma cadena se repite muchas veces en el script, por ejemplo, una ruta.

Hay algunas variables de sistema especiales que Qlik Sense fija al comienzo de la ejecución de script, independientemente de cuáles fueran sus valores previos.

Definir una variable

Las variables brindan la capacidad de almacenar valores estáticos o el resultado de un cálculo. Al definir una variable, utilice la siguiente sintaxis:

set variablename = string

o bien

let variable = expression

La sentencia Set se utiliza para la asignación de cadenas. Asigna el texto a la derecha del signo igual a la variable. La sentencia Let evalúa una expresión a la derecha del signo igual en el tiempo de ejecución del script y asigna el resultado de la expresión a la variable.

Las variables son sensibles a mayúsculas.

Nota informativaNo se recomienda utilizar el mismo nombre para un campo y una función en Qlik Sense

Ejemplos:  

set x = 3 + 4; // la variable obtendrá la cadena "3 + 4" como valor.

let x = 3 + 4; // devuelve 7 como valor.

set x = Today(); // devuelve "Today()" como valor.

let x = Today(); // devuelve la fecha de hoy como valor, por ejemplo, "27/9/2021".

Nombre de las variables

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.

Eliminar una variable

Si elimina una variable del script y vuelve a cargar los datos, la variable permanecerá en la app. Si desea eliminar completamente la variable de la app, también debe eliminarla del diálogo de variables.

Para más información, vea Eliminar una variable.

Cargar un valor de variable como un valor de campo

Si desea cargar un valor de una variable como un valor de campo en una sentencia LOAD y el resultado de la expansión dólar es de texto en vez de numérico o una expresión, entonces necesita encerrar la variable expandida entre comillas simples.

Ejemplo:  

El ejemplo a continuación carga la variable de sistema que contiene las lista de errores de script en una tabla. Puede observar que la expansión de ScriptErrorCount en la cláusula If no requiere comillas, mientras que la expansión de ScriptErrorList sí requiere comillas.

IF $(ScriptErrorCount) >= 1 THEN LOAD '$(ScriptErrorList)' AS Error AutoGenerate 1; END IF

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.

En este ejemplo, cargamos algunos datos inline:

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

Vamos a definir dos variables:

Let vSales = 'Sum(Sales)' ;
Let vSales2 = '=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.

Están disponibles las siguientes variables de script:

Más información

 

¿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.