Utilisation des variables dans l'éditeur de chargement de données

Dans Qlik Sense, 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 l'application, les modifications que vous lui apportez sont répercutées dans toutes ses occurrences. Vous pouvez définir des variables à partir de la vue d'ensemble des variables ou dans le script à l'aide de l'éditeur de chargement de données. Pour spécifier la valeur d'une variable, utilisez des instructions Let ou Set dans le script de chargement de données.

Conseil: Vous pouvez également manipuler les variables Qlik Sense à partir de la vue d'ensemble des variables, lors de l'édition d'une feuille. Utilisation des variables dans les expressions

Vue d'ensemble

Si le premier caractère d'une valeur de variable est un signe égal (=), Qlik Sense tente d'évaluer la valeur comme une formule (expression Qlik Sense), 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 Qlik Sense au début de l'exécution du script, quelle que soit leur valeur précédente.

Définition d'une variable

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.

Remarque: Il est déconseillé d'utiliser le même nom pour un champ et une fonction dans Qlik Sense

Examples:  

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.

Suppression d'une variable

Si vous supprimez une variable du script et rechargez les données, la variable est conservée dans l'application. Si vous souhaitez retirer complètement la variable de l'application, vous devez également la supprimer de la vue d'ensemble des variables.

Pour plus d'informations, voir Suppression d'une variable.

Chargement d'une valeur de variable comme valeur de champ

Si vous souhaitez charger une valeur de variable comme valeur de champ dans une instruction LOAD et que le résultat de l'expansion de dollar est du texte plutôt qu'une valeur numérique ou une expression, vous devez placer la variable étendue entre guillemets simples.

Example:  

Cet exemple illustre le chargement de la variable système contenant la liste d'erreurs de script dans une table. Vous pouvez noter que l'expansion de ScriptErrorCount dans la clause If ne nécessite pas de guillemets, contrairement à celle de ScriptErrorList.

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

Calcul des variables

Qlik Sense 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 :

Résultats
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.