Ga naar hoofdinhoud

Uitbreiding met dollarteken met behulp van een variabele

OP DEZE PAGINA

Uitbreiding met dollarteken met behulp van een variabele

Als u een variabele gebruikt voor het vervangen van tekst in het script of in een uitdrukking, wordt de volgende syntaxis gebruikt:

$(variablename)      

$(variablename) wordt uitgebreid tot de waarde in de variabele. Als variablename niet bestaat, is de uitbreiding de lege tekenreeks.

Voor uitbreiding met numerieke variabelen wordt de volgende syntaxis gebruikt:

$(#variablename)      

Er wordt altijd een geldige notatie met decimale punt gebruikt bij de numerieke waarde van de variabele, mogelijk met exponentiële notatie (voor zeer grote/kleine getallen). Als variablename niet bestaat of geen numerieke waarde bevat, wordt de naam uitgebreid tot 0.

Example:  

SET DecimalSep=',';

LET X = 7/2;

De uitbreiding met dollarteken $(X) wordt uitgebreid tot 3,5, terwijl $(#X) wordt uitgebreid tot 3.5.

Example:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

Gegevens worden geladen vanuit C:\MyDocs\Files\abc.csv.

Example:  

Set CurrentYear=1992;

...

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

Rijen met Year=1992 worden geselecteerd.

Example:  

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

In dit voorbeeld worden alle .txt bestanden in de directory geladen met het prefix Concatenate. Dit kan nodig zijn als de velden enigszins verschillen. In dat geval werkt automatische samenvoeging niet. De variabele vConcatenate wordt eerst ingesteld op een lege tekenreeks, aangezien het prefix Concatenate niet kan worden gebruikt bij de eerste load-opdracht. Als de directory drie bestanden bevat met de namen file1.txt, file2.txt en file3.txt, wordt de LOAD-opdracht tijdens de drie herhalingen uitgebreid tot:

LOAD * FROM[.\file1.txt];

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

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

Variabelen uitbreiden in alternatieve states

De variabele heeft slechts één waarde en deze wordt gebruikt in alle alternatieve states. Als u een variabele uitbreidt dan blijft de waarde hetzelfde, ongeacht waar deze is gemaakt en wat de state van het object is.

Als de variabele een berekende variabele is, de definitie begint met hetzelfde teken, wordt de berekening in de standaardstate uitgevoerd, tenzij u een alternatieve state in de definitie van de variabele opgeeft.

Example:  

Als u een state hebt met de naam MyState en een variabele met de naam vMyVar:

vMyvar: =only({MyState} MyField)

De definitie van de variabele inhoud, met een expliciete verwijzing naar de naam van de alternatieve state, bepaalt in welke state de variabele inhoud wordt geëvalueerd.