# 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 절 다음 첫 번째 문으로 전환됩니다. 선택적으로 when 또는 unless 접미사를 사용하여 exit for 절을 조건부로 만들 수 있습니다.

정보 메모for..next 문은 제어 문이므로 세미콜론이나 줄 끝(EOL)으로 끝나며 여기에 포함될 수 있는 세 절(for..to..step,exit for 및 next)은 줄 경계를 넘지 않아야 합니다.

인수:

For 인수

| 인수 | 설명 |
| --- | --- |
| counter | 변수 이름입니다. counter가 next 다음에 지정된 경우, 이 이름은 해당하는 for 다음에 오는 이름과 동일해야 합니다. |
| expr1 | 루프를 실행할 counter 변수의 첫 번째 값을 결정하는 표현식입니다. |
| expr2 | 루프를 실행할 counter 변수의 최대 값을 결정하는 표현식입니다. |
| expr3 | 루프가 실행될 때마다 counter 변수의 증가분을 나타내는 값을 결정하는 표현식입니다. |
| condition | True 또는 False로 평가되는 논리 표현식입니다. |
| statements | 하나 이상의 QlikView 스크립트 문의 그룹입니다. |

예 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/ko-KR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/For%20Each.htm)
* [Next](https://help.qlik.com/ko-KR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/Next.htm)
* [To](https://help.qlik.com/ko-KR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/To.htm)
* [Exit](https://help.qlik.com/ko-KR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptControlStatements/Exit.htm)