For each..next
for each..next 제어 문은 쉼표로 구분된 목록의 각 값을 대상으로 하나 또는 여러 문을 실행하는 스크립트 반복 구조입니다. 목록의 각 값에 대해 for와 next로 묶인 루프 내의 문이 실행됩니다.
구문:
특수한 구문을 사용하면 현재 디렉터리 내의 파일과 디렉터리 이름으로 목록을 생성할 수 있습니다.
for each var in list
[statements]
[exit for [ ( when | unless ) condition ]
[statements]
next [var]
인수:
인수 | 설명 |
---|---|
var | 각 루프 실행을 위해 목록에서 새 값을 가져오는 스크립트 변수 이름입니다. var가 next 다음에 지정된 경우, 이 이름은 해당하는 for each 다음에 오는 이름과 동일해야 합니다. |
var 변수의 값은 루프 내의 문에서 변경할 수 있지만 이것은 좋은 프로그래밍 방법이 아닙니다.
루프 내에서 exit for 절이 나올 경우 스크립트 실행이 루프의 끝을 나타내는 next 절 다음 첫 번째 문으로 전환됩니다. 선택적으로 when 또는 unless 접미사를 사용하여 exit for 절을 조건부로 만들 수 있습니다.
구문:
list := item { , item }
item := constant | (expression) | filelist mask | dirlist mask | fieldvaluelist mask
인수 | 설명 |
---|---|
constant | 임의의 숫자 또는 문자열입니다. 스크립트에 직접 포함되는 문자열은 작은따옴표로 묶어야 합니다. 작은따옴표가 없는 문자열은 변수로 해석되며 변수의 값이 사용됩니다. 숫자는 작은따옴표로 묶을 필요가 없습니다. |
expression | 임의의 표현식입니다. |
mask | 표준 와일드카드 문자 * 및 ?를 비롯한 유효한 파일 이름 문자를 포함할 수 있는 파일 또는 디렉터리 이름 마스크입니다. 절대 파일 경로 또는 lib:// 경로를 사용할 수 있습니다. |
condition | True 또는 False로 평가되는 논리 표현식입니다. |
statements | 하나 이상의 Qlik Sense 스크립트 문의 그룹입니다. |
filelist mask | 이 구문을 사용하면 현재 디렉터리에서 파일 이름 마스크와 일치하는 모든 파일의 쉼표로 구분된 목록이 생성됩니다. |
dirlist mask | 이 구문을 사용하면 현재 폴더에서 폴더 이름 마스크와 일치하는 모든 폴더의 쉼표로 구분된 목록이 생성됩니다. |
fieldvaluelist mask | 이 구문은 Qlik Sense로 이미 로드된 필드 값을 통해 반복합니다. |
예 1: 파일 목록 로드
예 2: 디스크의 파일 목록 만들기
이 예에서는 폴더에 있는 모든 Qlik Sense 관련 파일 목록을 로드합니다.
예 3: 필드 값 a를 통해 반복
이 예에서는 로드된 FIELD 값의 목록을 통해 반복하고 새 필드인 NEWFIELD를 생성합니다. FIELD의 각 값에 대해서는 두 NEWFIELD 레코드가 생성됩니다.
결과 테이블은 다음과 같습니다.
NEWFIELD |
---|
one-1 |
one-2 |
two-1 |
two-2 |
three-1 |
three-2 |