# For..next

Оператор управления for..next представляет собой компонент итерации скрипта со счетчиком. Операторы внутри цикла, которые находятся между разделами for и next, будут выполняться для каждого значения переменной счетчика в пределах указанных минимального и максимального значений.

Синтаксис:

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.

Примечание к информацииПоскольку оператор for..next является оператором управления и заканчивается точкой с запятой или знаком конца строки, каждое из трех его возможных предложений (for..to..step, exit for и next) не должно выходить за границу строки.

Аргументы:

Аргументы

| Аргумент | Описание |
| --- | --- |
| counter | Имя переменной. Если переменная counter задана после next, она должна иметь такое же имя переменной, как указано после соответствующего предложения for. |
| expr1 | Выражение, определяющее первое значение переменной counter, для которой должен выполняться цикл. |
| expr2 | Выражение, определяющее последнее значение переменной counter, для которой должен выполняться цикл. |
| expr3 | Выражение, которое определяет значение приращения переменной counter при каждом выполнении цикла. |
| condition | логическое выражение, имеющее значение True или False. |
| statements | Любая группа, состоящая из одного или нескольких операторов скрипта Qlik Sense. |

Пример 1: Загрузка последовательности файлов

`// LOAD 
 files file1.csv..file9.csv` `for a=1 
 to 9`

> `LOAD * from 
>  file$(a).csv;`

`next`

Пример 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`

## Подробнее

* [For each..next](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/For%20Each.htm)
* [Next](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/Next.htm)
* [To](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/To.htm)
* [Exit](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/Exit.htm)