Ir para conteúdo principal

Expansão de sinal de dólar usando uma variável

NESTA PÁGINA

Expansão de sinal de dólar usando uma variável

Ao utilizar uma variável para a substituição de texto no script ou em uma expressão, é usada a seguinte sintaxe:

$(variablename)      

$(variablename) expande para o valor na variável. Se variablename não existir, a expansão resultará em uma string vazia.

Para expansões variáveis numéricas, use a seguinte sintaxe:

$(#variablename)      

Ela sempre gera uma representação de ponto decimal válido do valor numérico da variável, possivelmente com notação exponencial (para números muito grandes/pequenos). Se variablename não existir ou não contiver um valor numérico, expandirá para 0.

Example:  

SET DecimalSep=',';

LET X = 7/2;

A expansão de sinal de dólar $(X) expande para 3,5 e $(#X) expande para 3.5.

Example:  

Set Mypath=C:\MyDocs\Files\;

...

LOAD * from $(MyPath)abc.csv;

Os dados serão carregados de C:\MyDocs\Files\abc.csv.

Example:  

Set CurrentYear=1992;

...

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

As linhas com Year=1992 serão selecionadas.

Example:  

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

Neste exemplo, todos os arquivos .txt no diretório são carregados usando o prefixo Concatenate. Isso pode ser necessário se os campos forem ligeiramente diferentes e, nesse caso, a concatenação automática não funciona. A variável vConcatenate é inicialmente configurada como uma string vazia, pois o prefixo Concatenate não pode ser usado no primeiro carregamento. Se o diretório contiver três arquivos chamados file1.txt, file2.txt e file3.txt, a declaração LOAD durante as três iterações será expandida para:

LOAD * FROM[.\file1.txt];

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

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

Expandindo Variáveis em Estados Alternados

Você pode especificar qual estado usar ao expandir uma variável. As alterações em um estado específico não afetam os valores de variáveis que são expandidos em outro estado. Se você não especificar um estado, a variável será expandida no estado padrão.

Example:  

Se você tem um estado chamado MyState e uma variável chamada vMyVar:

  • $(vMyVar) expandirá a variável no estado padrão.
  • $({MyState} vMyVar) expandirá a variável no estado de MyState.