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 in alternatieve states uitbreiden

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

Als de variabele een berekende variabele is, dat wil zeggen dat de definitie start met een gelijkteken, wordt de berekening gemaakt in de standaardstate, tenzij u een alternatieve state opgeeft in de definitie van de variabele.

Example:  

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

vMyvar: =only({MyState} MyField)

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