Variables de script

Una variable en QlikView 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 el documento, cualquier cambio efectuado en la variable se aplica en todos los lugares en que se use la variable. Las variables se definen en el script utilizando el editor de script, mientras que la variable adquiere su valor de una sentencia Let, Set u otras sentencias de control en el script de carga.

Si el primer carácter del valor de una variable es un signo igual ' = ', QlikView tratará de evaluar el valor como una fórmula (o expresión de QlikView) 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 QlikView fija al comienzo de la ejecución de script, independientemente de cuáles fueran sus valores previos.

Cuando se define una variable de script, la sintaxis:

set variablename = string

or

let variable = expression

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

Las variables son sensibles a mayúsculas.

Examples:  

set HidePrefix = $ ; // la variable recibirá el carácterr "$" como valor.

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

Cálculo de variables

Hay varias maneras de utilizar variables con valores calculados en QlikView 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 se utiliza la variable vSales tal cual, como por ejemplo en una medida, el resultado será la cadena Sum(Sales), es decir, no se realiza ningún cálculo.

Si se añade una expansión de signo dólar y se llama a $(vSales) en la expresión, la variable se expande y se muestra la suma de Sales.

Por último, si se llama a $(vSales2), la variable se calculará antes de que se expanda. Esto significa que el resultado que se muestra es la suma total de Sales. La diferencia entre usar =$(vSales) y =$(vSales2) como expresiones de medida puede apreciarse en este gráfico, en el que se muestran los resultados:

Dim $(vSales) $(vSales2)
A 350 1560
B 470 1560
C 740 1560

Como se puede ver, $(vSales) da como resultado la suma parcial de un valor de dimensión, mientras que $(vSales2) da como resultado la suma total.