QlikWorld 2020 글로벌 컨퍼런스 데이터를 최대한 활용하는 방법을 알아 보려면 가입하십시오. 서두르세요. 지금 등록하면 할인된 가격으로 제공됩니다.

For..next

for..next 제어 문은 카운터를 사용하는 스크립트 반복 구조입니다. 지정된 하한 및 상한 사이의 각 카운터 변수 값에 대해 fornext로 묶인 루프 내의 문이 실행됩니다.

Syntax:  

For counter = expr1 to expr2 [ step expr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

 

expr1, expr2expr3 표현식은 루프에 처음 진입할 때만 평가됩니다. counter 변수의 값은 루프 내의 문에서 변경할 수 있지만 이것은 좋은 프로그래밍 방법이 아닙니다.

루프 내에서 exit for 절이 나올 경우 스크립트 실행이 루프의 끝을 나타내는 next 절 다음 첫 번째 문으로 전환됩니다. 선택적으로 when 또는 unless 접미사를 사용하여 exit for 절을 조건부로 만들 수 있습니다.

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

Arguments:  

인수 설명
counter 변수 이름입니다. counternext 다음에 지정된 경우, 이 이름은 해당하는 for 다음에 오는 이름과 동일해야 합니다.
expr1 루프를 실행할 counter 변수의 첫 번째 값을 결정하는 표현식입니다.
expr2 루프를 실행할 counter 변수의 마지막 값을 결정하는 표현식입니다.
expr3 루프가 실행될 때마다 counter 변수의 증가분을 나타내는 값을 결정하는 표현식입니다.
condition True 또는 False로 평가되는 논리 표현식입니다.
statements 하나 이상의 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.csvx9.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