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, tutti i 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 delle variabili in stati alternati

È possibile specificare quale stato utilizzare quando si espande una variabile. I cambiamenti in uno stato specifico non influiscono sui valori delle variabili che vengono espansi in un altro stato. Se non si specifica uno stato, la variabile viene espansa nello stato predefinito.

Example:  

Se si dispone di uno stato denominato MyState e di una variabile denominata vMyVar:

  • $(vMyVar) espande la variabile nello stato predefinito.
  • $({MyState} vMyVar) espande la variabile nello stato MyState.