Vai al contenuto principale

Espansione con simbolo del dollaro con una variabile

IN QUESTA PAGINA

Espansione con simbolo del dollaro con una variabile

Quando si utilizza una variabile per effettuare una sostituzione di testo nello script o in un'espressione, viene utilizzata la sintassi seguente:

$(variablename)      

$(variablename) si espande nel valore contenuto nella variabile. Se variablename non esiste, l'espansione sarà una stringa vuota.

Per espansioni di variabili numeriche, è necessario utilizzare la seguente sintassi:

$(#variablename)      

Restituisce sempre una rappresentazione con punto decimale valida del valore numerico della variabile, se necessario con notazione esponenziale (per numeri molto alti/bassi). Se variablename non esiste o non contiene un valore numerico, verrà espansa a 0.

Example:  

SET DecimalSep=',';

LET X = 7/2;

L'espansione con simbolo del dollaro $(X) si espanderà a 3,5, mentre $(#X) si espanderà a 3.5.

Example:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

I dati verranno caricati da C:\MyDocs\Files\abc.csv.

Example:  

Set CurrentYear=1992;

...

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

Verranno selezionate le righe con Year=1992.

Example:  

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

In questo esempio, tuttii file .txt nella directory vengono caricati utilizzando il prefisso Concatenate. Questa operazione potrebbe essere richiesta se i campi differiscono leggermente, nel qual caso la concatenazione automatica non funziona. La variabile vConcatenate viene inizialmente impostata su una stringa vuota perché il prefisso Concatenate non può essere utilizzato nel primo caricamento. Se la directory contiene tre file denominati file1.txt, file2.txt e file3.txt, l'istruzione LOAD durante le tre iterazioni si espanderà a:

LOAD * FROM[.\file1.txt];

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

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

Espansione di variabili con stati alternati

La variabile ha solo un valore, che viene utilizzato in tutti gli stati alternati. Quando si espande una variabile, anche il valore è lo stesso, indipendentemente da dove viene effettuato, e dallo stato dell'oggetto.

Se la variabile è una variabile calcolata, ovvero la definizione inizia con un segno di uguale, il calcolo viene effettuato nello stato predefinito, a meno che non venga specificato uno stato alternato nella definizione della variabile.

Example:  

Se si dispone di uno stato con nome MyState e di una variabile chiamata vMyVar:

vMyvar: =only({MyState} MyField)

Il contenuto della definizione della variabile, con un riferimento esplicito al nome stato alternato, determina in quale stato verrà valutato il contenuto della variabile.