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

No script de carregamento ou em uma expressão de gráfico, use uma variável em uma expansão de sinal de dólar para:

* Fazer referência a um texto

* Fazer referência a um valor numérico

## Variável de texto

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.

## Exemplos: scripts de carregamento de variáveis de texto

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-variable.htm)

#### Exemplo 1: script de carregamento

Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor da carga de dados:

```
Set x = 'red';  	// Assign the value "red" to variable x
Set y = 'blue'; 	 // Assign the value "blue" to variable y
Set z = '$(x) $(y)';    // Expands x and y, returns "red blue" in variable z

// Expand x and y, return "red green blue" in variable MyString

Let MyString='$(x)'&' green '&'$(y)';

// Create table MyTable, load variable values for x, y, z into fields X, Y, Z
// Concatenate with variable MyString into field NewString

MyTable:
Load '$(x)' as X, '$(y)' as Y, '$(z)' as Z, '$(MyString)' as NewString autogenerate 1;
```

Para obter mais informações sobre como usar carregamentos inline, consulte [Usando carregamentos inline para carregar dados](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Explicação

Esse exemplo demonstra:

* Como expandir uma variável em atribuições de variáveis.

* Como expandir variáveis combinadas com operações textuais.

Essa é uma configuração útil para criar rótulos dinâmicos e sequências de caracteres de texto geral que combinam um conteúdo de variável com sequências de caracteres estáticas.

Saída

Crie a seguinte tabela no Qlik Sense:

Tabela - Saída do script de carregamento

| X | Y | Z | NewString |
| --- | --- | --- | --- |
| red | blue | red blue | red green blue |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-variable.htm)

#### Exemplo 2: script de carregamento

Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor da carga de dados:

```
Set vFunction = 'upper';  // Assign the string “upper” to variable vFunction
Set vField = 'String';    // Assign the string "String" to variable vField
Let vEvaluate = '$(vFunction)'&'('&'$(vField)'&')';

// The variable vEvaluate returns the value "upper(string)"

MyTable: // Create table called MyTable
Load *, $(vEvaluate) as Upper;          // vEvaluate expanded as a dynamic expression
Load *, '$(vEvaluate)' as Expression;   // vEvaluate expanded as string
Load * inline [
ID, String
1, abc
2, def
3, ghi
4, jkl ];
```

Explicação

As instruções `Set` e `Let` são usadas para atribuir valores a variáveis no script de carregamento. A diferença entre os dois é que a instrução `Set` atribui uma string à variável, enquanto a instrução `Let` avalia o conteúdo da sequência de caracteres antes de atribuir o valor resultante à variável. A tabela inline de carregamento neste exemplo é complementada com duas instruções de carregamento anteriores que são usadas para visualizar diferentes avaliações da variável `vEvaluate`, tanto como uma sequência de caracteres de texto quanto como a expressão correspondente.

Saída

Crie a seguinte tabela no Qlik Sense:

Tabela - Saída do script de carregamento

| ID | String | Expression | Upper |
| --- | --- | --- | --- |
| 1 | abc | upper(String) | ABC |
| 2 | def | upper(String) | DEF |
| 3 | ghi | upper(String) | GHI |
| 4 | jkl | upper(String) | JKL |

## Exemplo: expressão de gráfico de variável de texto

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-variable.htm)

#### Exemplo: script de carregamento

Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor da carga de dados:

```
// Create table SalesByCountry
SalesByCountry:
Load * Inline [
Country, Year, Sales
Argentina, 2014, 66295.03
Argentina, 2015, 140037.89
Austria, 2014, 54166.09
Austria, 2015, 182739.87
Belgium, 2014, 182766.87
Belgium, 2015, 178042.33
Brazil, 2014, 174492.67
Brazil, 2015, 2104.22
Canada, 2014, 101801.33
Canada, 2015, 40288.25
Denmark, 2014, 45273.25
Denmark, 2015, 106938.41
Finland, 2014, 107565.55
Finland, 2015, 30583.44
France, 2014, 115644.26
France, 2015, 30696.98
Germany, 2014, 8775.18
Germany, 2015, 77185.68
];
```

Variáveis

Em uma pasta no modo de edição, abra a caixa de diálogo Variáveis no painel Ativos.

Diálogo Abrir variáveis

Diálogo Abrir variáveis

Diálogo Abrir variáveis ![KPIs usando modificadores de conjunto.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_open_variable_dialog.png)

Crie as seguintes variáveis:

Variável para criar

| Nome | Definição |
| --- | --- |
| vSales | Sum(Sales) |
| vSales2014 | Sum({&lt;Year={2014}&gt;}Sales) |
| vSales2015 | Sum({&lt;Year={2015}&gt;} Sales) |
| vSalesAllYears | $(vSales2014) +$(vSales2015) |
| vSalesDifference | $(vSales2015)/$(vSales2014) - 1 |

Variáveis

Variáveis

Variáveis ![KPIs usando modificadores de conjunto.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_variables_window_new.png)

Crie gráficos de KPI para ver as expansões.

KPIs usando expansões de cifrão.

KPIs usando expansões de cifrão.

KPIs usando expansões de cifrão. ![KPIs usando expansões de cifrão.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_kpis.png)

## Expansão de variável numérica

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

` (#variablename)
             `

A expansão 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, ela será expandida para 0 em vez de NULL.

## Exemplos: scripts de carregamento de variáveis numéricas

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-variable.htm)

#### Exemplo 1: script de carregamento

Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor da carga de dados:

```
Set DecimalSep = ',';  // Set decimal comma as separator for this example.
Let X = 7/2;           // Assign the expression 7/2 to variable X.

MyTable:   // Create an inline table labeled “MyTable”
Load 1 as ID, * inline [  
DecimalComma	DecimalPoint
$(X)	$(#X) ] 
(delimiter is '\t'); 
```

Explicação

A expansão `#vVariable` sempre gera uma representação de ponto decimal válido do valor numérico da variável, possivelmente com notação exponencial. Isso é útil quando a vírgula, em vez do ponto final, é usada como separador decimal e há riscos de conflito com listas separadas por vírgulas.

A principal razão para expandir essas variáveis em uma tabela inline de carregamento é que nenhuma citação adicional de `$(X)` é necessária.

Saída

Crie a seguinte tabela no Qlik Sense:

Tabela - Saída do script de carregamento

| DecimalComma | DecimalPoint |
| --- | --- |
| 3,5 | 3.5 |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-variable.htm)

#### Exemplo 2: script de carregamento

Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor da carga de dados:

```
// The three Set statements below are required to mimic and initialize
// Format specifiers that are relevant to this particular example

Set ThousandSep=' '; 		// Set example thousand separator
Set DecimalSep=','; 		// Set example decimal separator
Set TimestampFormat='YYYY-MM-DD hh:mm:ss';	 // Set example date format
Let vRaw = today()-1/1440;  		 // Timestamp minus one minute
Let vFormat = timestamp($(#vRaw));	 // Formatted as timestamp

// Create MyTable as an inline table to expand variables as field values
						
MyTable:
Load * inline [
DecimalComma	DecimalPoint	FormattedNumber
$(vRaw)	$(#vRaw)	$(vFormat) ] (delimiter is '\t');
```

Explicação

A expansão #vVariable sempre gera uma representação de ponto decimal válido do valor numérico da variável, possivelmente com notação exponencial. Isso é útil quando a vírgula, em vez do ponto final, é usada como separador decimal e há riscos de conflito com listas separadas por vírgulas. Também é importante notar que a precisão numérica será afetada devido ao truncamento da parte decimal quando as variáveis são expandidas sem o separador decimal correto.

A principal razão para expandir essas variáveis em uma tabela inline de carregamento é que nenhuma citação adicional de $(X) é necessária.

Saída

Crie a seguinte tabela no Qlik Sense:

Tabela - Saída do script de carregamento

| DecimalComma | DecimalPoint | FormattedNumber |
| --- | --- | --- |
| 44 470,00 | 44469.999305556 | 2021-09-18 23:59:00 |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-variable.htm)

#### Exemplo 3: script de carregamento

Script de carregamento

Carregue os seguintes dados como um carregamento inline no editor da carga de dados:

```
// The three Set statements below are required to mimic and initialize
// format specifiers that are relevant to this particular example

Set ThousandSep=' '; 		// Set example thousand separator
Set DecimalSep=','; 		// Set example decimal separator
Set TimestampFormat='YYYY-MM-DD hh:mm:ss';	// Set example date format

// Assign a numerical value and a valid format specifier to vStart

Let vStart = timestamp#('2021-03-23 12:34:56','$(TimestampFormat)');

// Calculate timestamp (vStart + 3 hours) with valid decimal separator: "."

Let vStop = timestamp($(#vStart)+1/8,'YYYY-MM-DD hh:mm:ss');

// Create MyTable as an inline table to expand variables as field values

MyTable:
Load * inline [
StartTime	StopTime
$(vStart)	$(vStop) ] (delimiter is '\t');

// This is a tab delimited inline table
// Tab delimited tables are useful for avoiding conflicting list separators
```

Explicação

A expansão #vVariable sempre gera uma representação de ponto decimal válido do valor numérico da variável, possivelmente com notação exponencial. Isso é útil quando a vírgula, em vez do ponto final, é usada como separador decimal e há riscos de conflito com listas separadas por vírgulas. Também é importante notar que a precisão numérica será afetada devido ao truncamento da parte decimal quando as variáveis são expandidas sem o separador decimal correto.

A principal razão para expandir essas variáveis em uma tabela inline de carregamento é que nenhuma citação adicional de $(X) é necessária.

Saída

Crie a seguinte tabela no Qlik Sense:

Tabela - Saída do script de carregamento

| StartTime | StopTime |  |
| --- | --- | --- |
| 2021-03-23 12:34:56 | 2021-03-23 15:34:56 |  |

## Expandindo variáveis que fazem referência a estados alternados

A variável tem apenas um valor, e esse é usado em todos os estados alternados. Quando você expande uma variável, o valor também é o mesmo, independente de onde a expansão é feita e do estado do objeto.

Se a variável for uma variável calculada, ou seja, a definição começa com um sinal de igual, o cálculo será feito no estado padrão, a menos que você especifique um estado alternado na definição da variável.

Por exemplo, se você tem um estado chamado MyState e uma variável chamada vMyVar:

```
vMyvar: =only({MyState}MyField)
```

O conteúdo da definição da variável, com uma referência explícita ao nome do estado alternado, determina em que estado o conteúdo da variável será avaliado.

## Interações entre variáveis e expansões de conjunto externo

Quando você faz referência a uma variável em uma expansão de sinal de dólar que também contém uma expressão de conjunto externo, uma ordem específica de avaliação é aplicada. Para obter detalhes, consulte [Pesquisa de variáveis](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/outer-set-expression-dollar-sign-expansion.htm#Variable).

## Saiba mais

* [Let](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Let.htm)

* [Set](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Set.htm)

* [Trabalhando com variáveis no editor de carregamento de dados](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm)