For..next
Оператор управления for..next представляет собой компонент итерации скрипта со счетчиком. Операторы внутри цикла, которые находятся между разделами for и next, будут выполняться для каждого значения переменной счетчика в пределах указанных минимального и максимального значений.
Syntax:
For counter = expr1 to expr2 [ step expr3 ]
[statements]
[exit for [ ( when | unless ) condition ]
[statements]
Next [counter]
Выражения expr1, expr2 и expr3 рассчитываются только при первом входе в цикл. Значение переменной counter может быть изменено операторами внутри цикла, однако это делать не рекомендуется.
Если в цикле появляется предложение exit for, выполнение скрипта будет передано первому оператору после предложения next, указывающего на конец цикла. Предложение exit for можно сделать условным с помощью дополнительного использования суффикса when или unless.
Arguments:
Аргумент | Описание |
---|---|
|
Имя переменной. Если переменная counter задана после next, она должна иметь такое же имя переменной, как указано после соответствующего предложения for. |
|
Выражение, определяющее первое значение переменной counter, для которой должен выполняться цикл. |
|
Выражение, определяющее последнее значение переменной counter, для которой должен выполняться цикл. |
|
Выражение, которое определяет значение приращения переменной counter при каждом выполнении цикла. |
|
логическое выражение, имеющее значение |
|
Любая группа, состоящая из одного или нескольких операторов скрипта Qlik Sense. |
Example 1: Загрузка последовательности файлов
// LOAD files file1.csv..file9.csv
for a=1 to 9
LOAD * from file$(a).csv;
next
Example 2: Загрузка случайного числа файлов
В этом примере используются следующие файлы с данными: x1.csv, x3.csv, x5.csv, x7.csv и x9.csv. Загрузка остановлена в случайной точке с помощью условия 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