Saltar al contenido principal

Expansión de signo dólar empleando una variable

EN ESTA PÁGINA

Expansión de signo dólar empleando una variable

Cuando se utiliza una variable para reemplazo de texto en el script o en una expresión, se utiliza la sintaxis siguiente:

$(variablename)      

$(variablename) se expande al valor en la variable. Si variablename no existe, la expansión devolverá una cadena vacía.

Para expansiones de variables numéricas se emplea la sintaxis siguiente:

$(#variablename)      

Siempre produce una representación de decimal válida del valor numérico de la variable, posiblemente con notación exponencial (para números muy grandes/pequeños). Si variablename no existe o no contiene un valor numérico, se expandirá a 0 en vez.

Example:  

SET DecimalSep=',';

LET X = 7/2;

La expansión de signo dólar $(X) se expandirá a 3,5 mientras que $(#X) se expandirá a 3.5.

Example:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

Los datos se cargarán desde C:\MyDocs\Files\abc.csv.

Example:  

Set CurrentYear=1992;

...

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

Las filas con Year=1992 se seleccionarán.

Example:  

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

En este ejemplo, todos los archivostxt del directorio se cargan empleando el prefijo Concatenate. Esto puede ser necesario si los archivos difieren significativamente, en cuyo caso la auto-concatenación no funciona. La variable vConcatenate se configura inicialmente como una cadena vacía, dado que el prefijo Concatenate no puede utilizarse en el primer load. Si el directorio contiene tres archivos denominados file1.txt, file2.txt y file3.txt, la sentencia LOAD durante las tres interacciones se expandirá a:

LOAD * FROM[.\file1.txt];

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

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

Expandir variables en estados alternos

La variable tiene un solo valor y se utiliza en todos los estados alternos. Cuando expande una variable, el valor también es el mismo, independientemente de dónde se haya creado y del estado del objeto.

Si la variable es una variable calculada, es decir, la definición comienza con un signo igual, el cálculo se realiza en el estado predeterminado, a menos que especifique un estado alterno en la definición de variable.

Example:  

Si tiene un estado denominado MiEstado y una variable denominada vMiVar:

vMyvar: =only({MyState} MyField)

El contenido de la definición de la variable, con una referencia explícita al nombre del estado alternativo, determina en qué estado se evaluará el contenido de la variable.