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.
Vista 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, esta es sustituida por su valor. Las variables se pueden utilizar en el script para expansiones de signo dólar y en varias sentencias de control. Esto puede resultar de gran utilidad cuando la misma cadena de caracteres 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:
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 distinguen entre mayúsculas y minúsculas.
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 el valor, por ejemplo, "27/9/2021".
Dar nombre a 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.
Opciones adicionales al definir variables
Esta sección muestra características adicionales que puede utilizar para mejorar la potencia de las variables que define en el script de carga.
Restringir valores de variables
Puede utilizar sentencias Constrain para restringir las variables de script a definiciones específicas, evitando que se carguen valores no deseados. Las sentencias Constrain pueden utilizarse para asegurar la calidad, la colaboración mejorada durante el desarrollo conjunto de scripts y la seguridad elevada para las aplicaciones de análisis. En Qlik Cloud, las sentencias de restricción o Constrain también se pueden utilizar en combinación con la API de desarrollador para actualizaciones dinámicas de variables en tiempo de recarga.
Para más información, vea Constrain.
Definición de variables solo de script
Puede usar la variable de sistema ScriptOnlyVariables para establecer variables solo de script. Una variable solo de script únicamente está disponible en el script de carga y no se muestra, por ejemplo, en la vista de hoja de la aplicación.
Para más información, vea ScriptOnlyVariables.
Eliminación de variables
Puede utilizar una sentencia Drop variable para eliminar variables del script. Eliminar una variable es útil cuando desea usar una variable solo para realizar cálculos o definir campos en el contexto del modelo de datos.
Para más información, vea Drop variable.
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, puede hacer lo siguiente:
Elimine la variable del diálogo de variables.
Descarte la variable en el script mediante una sentencia Drop variable.
Configure las variables que no sean necesarias en el diálogo de variables como variables de solo script mediante el uso de la variable de sistema ScriptOnlyVariables en el script.
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.
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:
Vamos a definir dos variables:
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.
Están disponibles las siguientes variables de script:
- Variables de error
- Variables de interpretación numérica
- Variables del sistema
- Variables de manejo de valores