Accéder au contenu principal

Expansion $ comprenant une variable

SUR CETTE PAGE

Expansion $ comprenant une variable

Lorsque vous utilisez une variable pour remplacer du texte dans le script ou dans une expression, respectez la syntaxe suivante :

$(variablename)      

$(variablename) développe l'expression de la valeur dans la variable. Si variablename n'existe pas, l'expansion correspond à une chaîne vide.

La syntaxe suivante est utilisée pour les expansions de variables numériques :

$(#variablename)      

Cette notation produit toujours une représentation en point décimal valide de la valeur numérique de la variable, éventuellement avec une notation exponentielle (pour les nombres très grands/petits). Si variablename n'existe pas ou ne contient pas de valeur numérique, la chaîne est développée en 0.

Example:  

SET DecimalSep=',';

LET X = 7/2;

L'expansion $ $(X) se développe en 3,5 tandis que $(#X) se développe en 3.5.

Example:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

Les données sont chargées à partir du fichier C:\MyDocs\Files\abc.csv.

Example:  

Set CurrentYear=1992;

...

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

Les lignes où Year=1992 sont sélectionnées.

Example:  

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

Dans cet exemple, tous les fichiers .txt du répertoire sont chargés à l'aide du préfixe Concatenate. Cela peut être obligatoire si les champs diffèrent légèrement, auquel cas la concaténation automatique ne fonctionne pas. Initialement, la variable vConcatenate définie correspond à une chaîne vide, car le préfixe Concatenate ne peut pas être utilisé pour le premier chargement. Si le répertoire contient trois fichiers intitulés file1.txt, file2.txt et file3.txt, lors des trois itérations, l'instruction LOAD sera développée de la façon suivante :

LOAD * FROM[.\file1.txt];

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

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

Développement de variables dans des états alternatifs

La variable n'a qu'une seule valeur et celle-ci est utilisée dans tous les états alternatifs. Lorsque vous développez une variable, la valeur est également la même, quels que soient l'endroit où elle est effectuée et l'état de l'objet.

Si la variable est une variable calculée, à savoir, si la définition commence par un sign égal, le calcul est effectué dans l'état par défaut, sauf si vous spécifiez un état alternatif dans la définition de la variable.

Example:  

Si vous avez un état nommé MyState et une variable nommée vMyVar :

vMyvar: =only({MyState} MyField)

Le contenu de la définition de la variable, avec une référence explicite au nom de l'état alternatif, détermine l'état dans lequel le contenu de la variable sera évalué.