Dollarteckenexpansion med variabler

När en skriptvariabel används för att ersätta text inom skriptet eller inom en sats, används syntaxen

$(variablename)      

$(variablename) expanderar till värdet i variabeln. Om variablename inte är angivet blir resultatet en tom sträng.

Om man vill använda en skriptvariabel för numerisk variabelexpansion används följande syntax:

$(#variablename)      

Det resulterar alltid i ett giltigt decimal-kommatal som återspeglar variabelns talvärde, eventuellt med en exponentiell notation (för mycket stora/små tal). Om variablename inte innehåller ett numeriskt värde eller saknas helt expanderas det istället till 0.

Example:  

SET DecimalSep=',';

LET X = 7/2;

Dollarteckenexpansionen $(X) expanderar till 3,5 medan $(#X) expanderar till 3.5.

Example:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

Data laddas från C:\MyDocs\Files\abc.csv.

Example:  

Set CurrentYear=1992;

...

SQL SELECT * FROM table1 WHERE Year=$(CurrentYear);

Rader med Year=1992 väljs.

Example:  

Set vConcatenate = ; For each vFile in FileList('.\*.txt') Data: $(vConcatenate) LOAD * FROM [$(vFile)]; Set vConcatenate = Concatenate ; Next vFile

I det här exempletladdas alla txt-filer i katalogen med Concatenate-prefixet. Detta kan behövas om fälten skiljer sig något åt, eftersom auto-konkatenering inte fungerar då. vConcatenate-variabeln är från början satt till en tom sträng, eftersom Concatenate-prefixet inte kan användas på den första laddningen. Om katalogen innehåller tre filer med namnen file1.txt, file2.txt och file3.txt, så kommer LOAD-satsen under de tre iterationerna att expanderas till:

LOAD * FROM[.\file1.txt];

Concatenate LOAD * FROM[.\file2.txt];

Concatenate LOAD * FROM[.\file3.txt];