変数を使用したドル記号展開
スクリプトや数式でのテキスト置換に変数を使用する場合は、次の構文が使用されます。
$(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 の行が選択されます。
この例では、ディレクトリ内のすべての.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];
並列ステートの変数の展開
変数には値が 1 つだけあり、すべての代替ステートで使用されます。変数を拡張する場合は値も同様で、作成された場所とオブジェクトのステートとは無関係です。
変数が計算変数である場合、つまり定義が等号で始まる場合、変数定義で代替ステートを指定する場合を除き、計算は既定のステートで作成されます。
MyState という名前のステートと vMyVar という名前の変数がある場合:
代替ステート名を明示的に参照する変数定義のコンテンツは、変数コンテンツが評価されるステートを決定します。