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.

Sugerencia: Tambié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

Cuando se define una variable de script, la sintaxis:

set variablename = string

o

let variable = expression

se utiliza. El comando Set asigna el texto a la derecha del signo igual a la variable, mientras que el comando Let evalúa la expresión.

Las variables son sensibles a mayúsculas.

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

Examples:  

set HidePrefix = $ ; // la variable obtendrá el carácter '$' como valor.

let vToday = Num(Today()); // devuelve el número de serie de la fecha de hoy.

Eliminar una variable

Si elimina una variable del script y vuelve a cargar los datos, la variable permanece en la app. Si desea eliminar completamente la variable de la app, también debe eliminarla de la vista general 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.

Example:  

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.