# Espansione con simbolo del dollaro con una variabile

Nello script di caricamento o in un'espressione del grafico, utilizzare una variabile in un'espansione con simbolo del dollaro per:

* Testo di riferimento

* Riferimento a un valore numero

## Variabile di testo

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.

## Esempi: script di caricamento variabile di testo

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

#### Esempio 1: script di caricamento

Script di caricamento

Caricare i dati seguenti come un caricamento inline nell'editor caricamento dati.

```
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;
```

Per ulteriori informazioni sull'utilizzo di caricamenti inline, vedere [Utilizzo dei caricamenti inline per caricare i dati](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Spiegazione

Questo esempio dimostra:

* Come espandere una variabile in assegnazioni variabili.

* Come espandere variabili combinate con operazioni testuali.

Si tratta di una configurazione utile per creare etichette dinamiche e stringhe di testo generali che combinano un contenuto variabile con stringhe statiche.

Output

Creare la seguente tabella in Qlik Sense:

Tabella - Output dallo script di caricamento

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

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

#### Esempio 2: script di caricamento

Script di caricamento

Caricare i dati seguenti come un caricamento inline nell'editor caricamento dati.

```
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 ];
```

Spiegazione

Le istruzioni `Set` e `Let` sono utilizzate per assegnare valori a variabili nello script di caricamento. La differenza tra i due sta nel fatto che l'istruzione `Set` assegna una stringa alla variabile, mentre l'istruzione `Let` valuta il contenuto della stringa prima di valutare il valore risultante nella variabile. La tabella inline di caricamento in questo esempio viene integrata con due istruzioni di caricamento precedenti utilizzate per visualizzare varie valutazioni della variabile `vEvaluate` sia come stringa di testo sia come espressione corrispondente.

Output

Creare la seguente tabella in Qlik Sense:

Tabella - Output dallo script di caricamento

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

## Esempio: espressione del grafico della variabile di testo

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

#### Esempio: script di caricamento

Script di caricamento

Caricare i dati seguenti come un caricamento inline nell'editor caricamento dati.

```
// 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
];
```

Variabili

In un foglio in modalità modifica, aprire la finestra di dialogo Variabili dal pannello Risorse.

Aprire la finestra di dialogo variabili

Aprire la finestra di dialogo variabili

Aprire la finestra di dialogo variabili ![KPI che utilizzano i modificatori set.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_open_variable_dialog.png)

Creare le seguenti variabili:

Variabile da creare

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

Variabili

Variabili

Variabili ![KPI che utilizzano i modificatori set.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_variables_window_new.png)

Creare grafici KPI per visualizzare le espansioni.

KPI che utilizzano espansioni con simbolo del dollaro

KPI che utilizzano espansioni con simbolo del dollaro

KPI che utilizzano espansioni con simbolo del dollaro ![KPI che utilizzano espansioni con simbolo del dollaro.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_kpis.png)

## Espansione della variabile numerica

Per espansioni di variabili numeriche, è necessario utilizzare la seguente sintassi:

` (#variablename)
             `

L'espansione restituisce sempre una rappresentazione con punto decimale valida del valore numerico della variabile, se necessario con notazione esponenziale (per numeri molto grandi o piccoli). Se `variablename` non esiste o non contiene un valore numerico, verrà espansa a 0 invece che a NULL.

## Esempi: script di caricamento variabile numerica

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

#### Esempio 1: script di caricamento

Script di caricamento

Caricare i dati seguenti come un caricamento inline nell'editor caricamento dati.

```
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'); 
```

Spiegazione

L'espansione `#vVariable` restituisce sempre una rappresentazione con punto decimale valida del valore numerico della variabile. Ciò risulta utile quando la virgola, piuttosto che il punto, viene utilizzata come separatore decimale e sussiste il rischio di un conflitto con elenchi separati da virgole.

Il motivo principale per espandere queste variabili in una tabella inline di caricamento è che non è richiesta alcuna citazione aggiuntiva di `$(X)`.

Output

Creare la seguente tabella in Qlik Sense:

Tabella - Output dallo script di caricamento

| 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)

#### Esempio 2: script di caricamento

Script di caricamento

Caricare i dati seguenti come un caricamento inline nell'editor caricamento dati.

```
// 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');
```

Spiegazione

L'espansione #vVariable restituisce sempre una rappresentazione con punto decimale valida del valore numerico della variabile. Ciò risulta utile quando la virgola, piuttosto che il punto, viene utilizzata come separatore decimale e sussiste il rischio di un conflitto con elenchi separati da virgole. È anche molto importante notare che la precisione numerica verrà interessata a causa del troncamento della parte decimale quando le variabili vengono espanse senza un corretto separatore decimale.

Il motivo principale per espandere queste variabili in una tabella inline di caricamento è che non è richiesta alcuna citazione aggiuntiva di $(X).

Output

Creare la seguente tabella in Qlik Sense:

Tabella - Output dallo script di caricamento

| 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)

#### Esempio 3: script di caricamento

Script di caricamento

Caricare i dati seguenti come un caricamento inline nell'editor caricamento dati.

```
// 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
```

Spiegazione

L'espansione #vVariable restituisce sempre una rappresentazione con punto decimale valida del valore numerico della variabile. Ciò risulta utile quando la virgola, piuttosto che il punto, viene utilizzata come separatore decimale e sussiste il rischio di un conflitto con elenchi separati da virgole. È anche molto importante notare che la precisione numerica verrà interessata a causa del troncamento della parte decimale quando le variabili vengono espanse senza un corretto separatore decimale.

Il motivo principale per espandere queste variabili in una tabella inline di caricamento è che non è richiesta alcuna citazione aggiuntiva di $(X).

Output

Creare la seguente tabella in Qlik Sense:

Tabella - Output dallo script di caricamento

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

## Espansione di variabili con riferimento a stati alternati

La variabile ha solo un valore, che viene utilizzato in tutti gli stati alternati. Quando si espande una variabile, anche il valore è lo stesso, indipendentemente da dove viene effettuato, e dallo stato dell'oggetto.

Se la variabile è una variabile calcolata, ovvero la definizione inizia con un segno di uguale, il calcolo viene effettuato nello stato predefinito, a meno che non venga specificato uno stato alternato nella definizione della variabile.

Ad esempio, se si dispone di uno stato con nome MyState e di una variabile con nome vMyVar:

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

Il contenuto della definizione della variabile, con un riferimento esplicito al nome stato alternato, determina in quale stato verrà valutato il contenuto della variabile.

## Interazione tra variabili ed espressioni set esterne

Quando si fa riferimento a una variabile in un'espansione con il simbolo del dollaro che contiene anche un'espressione set esterna, si applica un ordine di valutazione specifico. Per i dettagli, vedere [Ricerca delle variabili](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/outer-set-expression-dollar-sign-expansion.htm#Variable).

## Ulteriori informazioni

* [Let](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Let.htm)

* [Set](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Set.htm)

* [Utilizzo delle variabili nell'editor caricamento dati](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm)