変数を使用したドル記号展開
スクリプトや数式でのテキスト置換に変数を使用する場合は、次の構文が使用されます。
$(variablename)
$(variablename) により、変数内の値に展開されます。variablename が存在しない場合は、空の文字列に展開されます。
数値の変数展開では、次の構文が使用されます。
$(#variablename)
これは、常に変数の数値の有効な少数点値を生成します。非常に大きいまたは小さい数値の場合は、指数表記が使用されることもあります。variablename が存在しない場合、または数値が含まれていない場合は、0 に展開されます。
Example:
SET DecimalSep=',';
LET X = 7/2;
ドル記号展開 $(X) は 3,5 に展開され、$(#X) は 3.5 に展開されます。
Example:
Set Mypath=C:\MyDocs\Files\;
...
LOAD * from $(MyPath)abc.csv;
データは C:\MyDocs\Files\abc.csv からロードされます。
Example:
Set CurrentYear=1992;
...
SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);
Year=1992 の行が選択されます。
Example:
この例では、ディレクトリ内のすべての .txt ファイルが Concatenate プレフィックスによりロードされます。これは、項目がわずかに異なる際に必要となることがあります。この場合、自動連結は機能しません。vConcatenate 変数は最初、空の文字列に設定されます。これは、最初のロードでは、Concatenate プレフィックスを使用できないためです。ディレクトリに file1.txt、file2.txt、file3.txt という名前の 3 つのファイルが含まれている場合、LOAD ステートメントは 3 回の反復中、以下に展開されます。
LOAD * FROM[.\file1.txt];
Concatenate LOAD * FROM[.\file2.txt];
Concatenate LOAD * FROM[.\file3.txt];
代替ステートの変数の展開
変数を展開するときに使用するステートを指定できます。特定のステートの変更は、別のステートで展開される変数値には影響しません。ステートを指定しない場合、変数は既定のステートで展開されます。
Example:
MyStateという名前のステートおよびvMyVarという名前の変数がある場合:
- $(vMyVar)は、既定のステートで変数を展開します。
- $({MyState} vMyVar)は、MyStateステートで変数を展開します。