TUTORIEL · QLIK SENSE

Maîtriser les variables dans Qlik

SET, LET, dollar-sign expansion, expressions, paramètres et Set Analysis : comprendre enfin ce que Qlik évalue réellement.

À quoi sert une variable ?

Une variable Qlik est un conteneur nommé qui peut stocker une valeur statique ou une définition de calcul. Elle permet de centraliser une information et de la réutiliser dans le script ou dans les expressions.

L’idée simple

Au lieu d’écrire la même valeur ou la même expression partout, on lui donne un nom. Si elle change, on la modifie à un seul endroit.

Une variable est utile quand une valeur ou une logique doit être centralisée, paramétrée ou réutilisée.

Exemple · Premier exemple

VariableSET vSociete = 'SOSBI';Utilisation : $(vSociete)
ContenuValeur ou calcul
CréationScript ou interface Variables
RéutilisationScript · expressions · titres · Set Analysis

SET ou LET ?

SET affecte le texte situé à droite du signe égal. LET évalue d’abord l’expression, puis affecte le résultat à la variable.

Repère simple

SET garde la recette. LET calcule la recette et garde le résultat.

Cette différence explique une grande partie des comportements surprenants avec les variables.

Exemple

SET vA = 3+4;
LET vB = 3+4;

// $(vA) → 3+4
// $(vB) → 7
SETStocke 3+4
LETStocke 7
Question à se poserTexte ou résultat ?

Comprendre $(vVariable)

La dollar-sign expansion remplace $(vVariable) par le contenu de la variable avant que l’expression finale soit interprétée.

Imagine un copier-coller

Qlik remplace d’abord $(vCA) par son contenu, puis analyse l’expression obtenue.

Pour déboguer une variable, demande-toi toujours : « quel texte Qlik voit-il après expansion ? ».

Exemple

SET vCA = Sum(Montant);

// Expression :
$(vCA)

// Qlik interprète finalement :
Sum(Montant)
VariablevCA = Sum(Montant)
Expansion$(vCA)
Expression finaleSum(Montant)

Variable avec ou sans =

Une définition qui commence par = peut être calculée avant son expansion. Une définition sans = peut au contraire servir de morceau d’expression à injecter.

Différence importante

Sum(Montant) peut être injecté comme expression. =Sum(Montant) représente une variable calculée : son résultat peut être développé avant le calcul de l’objet.

Ne mets pas = automatiquement devant toutes les variables : choisis selon l’usage recherché.

Exemple

// vCA contient :
Sum(Montant)

// vCAFixe contient :
=Sum(Montant)
vCAExpression réutilisable
vCAFixeValeur calculée
ImpactLe contexte de calcul peut être différent

Bien nommer ses variables

Une convention de nommage permet de comprendre immédiatement le rôle d’une variable. Le préfixe v est courant et lisible.

On peut aller plus loin avec des conventions simples : vDateMax, vAnneeCourante, vExprCA, vCouleurAlerte, vSeuilMarge.

Le nom doit dire ce que contient la variable, pas seulement où elle est utilisée.

Exemple

LET vAnneeCourante = Year(Today());
SET vExprCA = Sum(Montant);
LET vSeuilMarge = 0.25;
Préfixev
NomDécrire le rôle
À éviterv1 · test2 · toto

Variables dans le script

Les variables sont très utiles pour centraliser des chemins, dates, paramètres de reload ou morceaux de script.

Une variable calculée avec LET pendant le reload conserve la valeur obtenue à ce moment-là.

Pour les chemins et paramètres d’environnement, centraliser évite les remplacements manuels dispersés.

Exemple

LET vDateReload = Now();
SET vCheminQVD = lib://QVD/;

VENTES:
LOAD *
FROM [$(vCheminQVD)Ventes.qvd] (qvd);
CheminCentralisable
Date de reloadLET + Now()
UsageParamétrer le script

Réutiliser une expression

Une variable peut contenir une expression complète et être réutilisée dans plusieurs visualisations.

C’est pratique pour une expression technique, mais pour un indicateur métier partagé dans l’interface, une Master Measure reste souvent plus visible et gouvernable.

Variables et Master Measures sont complémentaires, pas concurrentes.

Exemple

SET vExprMarge =
Sum(Marge) / Sum(Montant);

// Dans une mesure :
Num($(vExprMarge), '0.0%')
VariableBonne pour logique technique
Master MeasureBonne pour bibliothèque métier
ChoixDépend de la gouvernance

Variables et Set Analysis

Les dollar-sign expansions sont très utilisées pour injecter une valeur calculée dans un élément de Set Analysis.

Ordre de lecture

Qlik calcule d’abord l’expansion, injecte son résultat, puis interprète le Set Analysis.

Pour les chaînes et les dates, pense au format et aux guillemets attendus après expansion.

Exemple

LET vAnnee = Year(Today());

Sum({
  <Annee={$(vAnnee)}>
} Montant)
1Calcul / expansion
2Injection dans le Set
3Évaluation de l’expression

$(=expression)

Une dollar-sign expansion peut contenir directement une expression. Dans ce cas, le contenu entre parenthèses commence par = et est évalué avant injection.

C’est utile pour rechercher dynamiquement la dernière année, le dernier mois ou une valeur dépendant des sélections.

Si le calcul doit ignorer les sélections, son propre Set Analysis peut être nécessaire.

Exemple

Sum({
  <Annee={$(=Max(Annee))}>
} Montant)
Syntaxe$(=expression)
Exemple$(=Max(Annee))
DépendanceSélections courantes par défaut

Chaînes, nombres et dates

Le résultat d’une expansion doit respecter la syntaxe attendue par l’expression finale. Les chaînes ont généralement besoin de quotes ; les dates doivent être formatées de façon compatible avec le champ.

Le piège n’est pas la variable elle-même : c’est souvent le texte final produit après expansion.

Quand ça ne marche pas, écris à la main l’expression que tu penses obtenir et compare.

Exemple

SET vPays = France;

Sum({
  <Pays={'$(vPays)'}>
} Montant)
ChaîneQuotes autour de l’expansion
NombreFormat numérique compatible
DateFormat compatible avec le champ

Variables avec paramètres

Une variable peut utiliser des paramètres formels $1, $2, $3… et fonctionner comme un petit gabarit réutilisable.

Lors de l’expansion, les paramètres réels remplacent les paramètres formels avant que le résultat soit interprété.

Puissant, mais à réserver aux cas où le gain de réutilisation compense la complexité.

Exemple

SET vRatio = Sum($1) / Sum($2);

// Utilisation :
$(vRatio(Marge,Montant))
Paramètres$1 · $2 · $3
Appel$(vRatio(Marge,Montant))
IntérêtGabarit d’expression

Variables côté interface

Les variables peuvent aussi être créées et consultées depuis l’interface Variables de Qlik Sense. Une modification se répercute partout où la variable est utilisée.

Elles peuvent servir à piloter une mesure, un seuil, un affichage ou une interaction utilisateur selon les objets et contrôles disponibles.

Dans une application publiée, les possibilités d’édition dépendent du contexte et des contrôles disponibles.

Exemple

vSeuil100000→ utilisé dans plusieurs expressions et conditions
CréationScript ou interface
ModificationRépercutée dans les usages
UsageCalculs et interactions

Déboguer une variable

La méthode la plus fiable consiste à observer ce que l’expansion produit réellement. Décompose l’expression complexe en étapes simples.

Méthode SOSBI

1. Affiche la variable seule. 2. Vérifie son contenu. 3. Remplace mentalement $(v...). 4. Teste l’expression finale sans variable. 5. Réintroduis la variable.

L’éditeur d’expression peut afficher un aperçu des dollar-sign expansions, ce qui aide énormément.

Exemple

// Tester d'abord :
=$(vAnnee)

// Puis :
Sum({<Annee={$(vAnnee)}>} Montant)
Étape 1Vérifier la valeur
Étape 2Vérifier l’expansion
Étape 3Tester l’expression finale

Les pièges classiques

Les erreurs les plus fréquentes viennent de SET/LET, du signe =, des quotes, du format des dates, d’une expansion calculée dans un contexte inattendu ou d’une variable devenue trop complexe.

Une variable n’est pas automatiquement une bonne abstraction. Si personne ne comprend ce qu’elle injecte, elle complique l’application au lieu de la simplifier.

Évite les chaînes de variables qui appellent des variables qui appellent encore d’autres variables sans nécessité.

Exemple

Question réflexeQue voit Qlik après expansion ?→ souvent la meilleure piste de diagnostic
SET/LETTexte ≠ résultat
QuotesVérifier la syntaxe finale
ContexteSélections et état de l’objet

Références Qlik

Ce tutoriel s’appuie sur la documentation officielle Qlik. Les exemples et explications SOSBI sont reformulés dans une progression pratique, du premier SET aux expansions paramétrées.