변수를 사용한 달러 기호 확장
스크립트 또는 표현식 내의 텍스트 대체에 변수를 사용하는 경우 다음과 같은 구문이 사용됩니다.
$(variablename)
$(variablename) 은 변수의 값으로 확장됩니다. variablename이 존재하지 않을 경우 확장 결과는 빈 문자열이 됩니다.
숫자 변수 확장의 경우 다음과 같은 구문이 사용됩니다.
$(#variablename)
항상 변수의 숫자 값의 유효한 소수점 표현을 산출하며, 지수 표기도 가능할 수 있습니다(매우 크거나 작은 수의 경우). variablename이 존재하지 않거나 숫자 값을 포함하지 않는다면 0으로 확장됩니다.
SET DecimalSep=',';
LET X = 7/2;
달러 기호 확장 $(X)는 3,5로 확장되고 $(#X)는 3.5로 확장됩니다.
Set Mypath=C:\MyDocs\Files\;
...
LOAD * from $(MyPath)abc.csv;
데이터는 C:\MyDocs\Files\abc.csv에서 로드됩니다.
Set CurrentYear=1992;
...
SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);
Year=1992인 행이 선택됩니다.
이 예에서는Concatenate 접두사를 사용하여 디렉터리의 모든 .txt 파일을 로드합니다. 필드가 약간 달라서 자동 연결이 작동하지 않는 경우에 이 작업이 필요할 수 있습니다. 첫 번째 로드에서는 Concatenate 접두사를 사용할 수 없으므로 vConcatenate 변수가 초기에는 빈 문자열로 설정됩니다. 디렉터리에 file1.txt, file2.txt 및 file3.txt의 3개 파일이 포함되어 있으면 3회 반복 중에 LOAD 문이 다음과 같이 확장됩니다.
LOAD * FROM[.\file1.txt];
Concatenate LOAD * FROM[.\file2.txt];
Concatenate LOAD * FROM[.\file3.txt];
대체 상태의 변수 확장
변수에는 하나의 값만 있으며 이는 모든 대체 상태에서 사용됩니다. 변수를 확장하면 이 값이 생성 위치 및 개체 상태에 관계 없이 동일합니다.
변수가 계산된 변수인 경우, 즉 정의가 등호 기호로 시작하는 경우 변수 정의에서 대체 상태를 지정하지 않는 한 기본 상태에서 계산이 수행됩니다.
이름이 MyState인 상태와 이름이 vMyVar인 변수가 있는 경우:
대체 상태 이름에 대한 명시적 참조가 있는 변수 정의 내용에 따라 변수 내용이 평가되는 상태가 결정됩니다.