Accéder au contenu principal Passer au contenu complémentaire

For..next

L'instruction de contrôle for..next est une construction d'itération de script avec compteur. Les instructions comprises entre for et next à l'intérieur de la boucle sont exécutées pour chaque valeur de la variable du compteur entre les limites inférieure et supérieure spécifiées.

 

For counter = expr1 to expr2 [ step expr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

 

Les expressions expr1, expr2 et expr3 ne sont évaluées que la première fois que le script entre dans la boucle. Il est possible de modifier la valeur de la variable counter à l'aide d'instructions placées à l'intérieur de la boucle, mais il ne s'agit pas une bonne méthode de programmation.

Si une clause exit for se trouve dans la boucle, l'exécution du script est transférée à la première instruction qui suit la clause next indiquant la fin de la boucle. Il est possible de rendre une clause exit for conditionnelle par l'utilisation facultative d'un suffixe when ou unless.

Note InformationsComme l'instruction for..next est une instruction de contrôle et, en tant que telle, se termine par un point-virgule ou une fin de ligne, aucune de ses trois clauses possibles (for..to..step,exit for et next) ne peut s'étendre sur plusieurs lignes.

 

Arguments
ArgumentDescription
counterNom de variable. Si l'argument counter est spécifié après next, il doit s'agir du même nom de variable que celui qui se trouve après le for correspondant.
expr1Expression qui détermine la première valeur de la variable counter pour laquelle la boucle doit être exécutée.
expr2Expression qui détermine la dernière valeur de la variable counter pour laquelle la boucle doit être exécutée.
expr3Expression qui détermine la valeur de l'incrément de la variable counter lors de chaque exécution de la boucle.
conditionExpression logique dont l'évaluation a pour résultat True ou False.
statementsTout groupe d'une ou plusieurs instructions de script Qlik Sense.

Chargement d'une séquence de fichiers

// LOAD files file1.csv..file9.csv

for a=1 to 9

LOAD * from file$(a).csv;

next

Chargement d'un nombre aléatoire de fichiers

Dans cet exemple, supposons les fichiers de données x1.csv, x3.csv, x5.csv, x7.csv et x9.csv. Le chargement est arrêté en un point aléatoire à l'aide de la condition if rand( )<0.5 then.

for counter=1 to 9 step 2

set filename=x$(counter).csv;

if rand( )<0.5 then

exit for unless counter=1

end if

LOAD a,b from $(filename);

next

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !