Variables de script

Dans QlikView, une variable désigne un conteneur qui stocke un calcul ou une valeur statique, par exemple une valeur numérique ou alphanumérique. Lorsque vous utilisez la variable dans le document, les modifications que vous lui apportez sont répercutées dans toutes ses occurrences. Les variables sont définies dans le script à l'aide de l'éditeur de script, où la variable acquiert sa valeur à partir d'une instruction Let, Set ou de toute autre instruction de contrôle figurant dans le script de chargement.

Si le premier caractère d'une valeur de variable est un signe égal (=), QlikView tente d'évaluer la valeur comme une formule (expression QlikView), puis affiche ou renvoie le résultat plutôt que le texte de la formule proprement dit.

Lorsqu'une variable est utilisée, elle est remplacée par sa valeur. Il est possible d'utiliser des variables dans le script pour les expansions $ et dans plusieurs instructions de contrôle. Cette technique s'avère très pratique lorsque la même chaîne (un chemin d'accès, par exemple) est répétée à de nombreuses reprises dans le script.

Certaines variables système particulières sont définies par QlikView au début de l'exécution du script, quelle que soit leur valeur précédente.

La syntaxe :

set variablename = string

ou

let variable = expression

est utilisée pour définir une variable. La commande Set attribue à la variable le texte situé à droite du signe égal alors que la commande Let évalue l'expression.

Les variables sont sensibles à la casse.

Exemples :  

set HidePrefix = $ ; // la valeur de la variable est le caractère $.

let vToday = Num(Today()); // renvoie le numéro de série de la date d'aujourd'hui.

Calcul des variables

QlikView offre différentes façons d'utiliser des variables dont les valeurs sont calculées. Le résultat dépend de la façon dont elles sont définies et appelées dans une expression.

Dans cet exemple, des données intégrées sont chargées :

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

Définissons deux variables :

Let vSales = 'Sum(Sales)' ;
Let vSales2 = '=Sum(Sales)' ;

Dans la seconde variable, un signe égal est ajouté avant l'expression. Ceci entraîne le calcul de la variable avant qu'elle ne soit étendue et l'expression évaluée.

Si vous utilisez la variable vSales telle quelle, par exemple dans une mesure, le résultat correspond à la chaîne Sum(Sales), c'est-à-dire qu'aucun calcul n'est réalisé.

Si vous ajoutez une expansion $ et appelez $(vSales) dans l'expression, la variable est étendue et la somme des ventes (Sales) est affichée.

Enfin, si vous appelez $(vSales2), la variable est calculée avant d'être étendue. En d'autres termes, le résultat affiché correspond à la somme totale des ventes (Sales). Le graphique suivant illustrant les résultats montre la différence entre l'utilisation de =$(vSales) et de =$(vSales2) comme expressions de mesure :

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

Comme vous pouvez le constater, $(vSales) aboutit à la somme partielle d'une valeur de dimension tandis que $(vSales2) donne la somme totale.

Voir aussi :