# Uitbreiding met dollarteken met behulp van een variabele

In het load-script of een diagramuitdrukking kunt u een variabele in een uitbreiding met dollarteken gebruiken voor het volgende:

* Verwijzen naar tekst

* Verwijzen naar een numerieke waarde

## Tekstvariabele

Als u een variabele gebruikt voor het vervangen van tekst in het script of in een uitdrukking, wordt de volgende syntaxis gebruikt:

` $(variablename)
             `

`$(variablename)` wordt uitgebreid tot de waarde in de variabele. Als `variablename` niet bestaat, is de uitbreiding de lege tekenreeks.

## Voorbeelden: load-scripts met tekstvariabelen

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

#### Voorbeeld 1: load-script

Load-script

Laad de volgende gegevens als een inline-load in de editor voor laden van gegevens:

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

Voor meer informatie over inline loads, raadpleegt u [Inline-ladingen gebruiken om gegevens te laden](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

Uitleg

Dit voorbeeld laat het volgende zien:

* Hoe u een variabele in variabeletoewijzingen uitbreidt.

* Hoe u variabelen uitbreidt die zijn gecombineerd met tekstuele handelingen.

Dit is een handige instelling voor het maken van dynamische labels en algemene teksttekenreeksen die een variabele content combineren met statische strings.

Uitvoer

Maak de volgende tabel in Qlik Sense:

Tabel - Uitvoer van load-script

| X | Y | Z | NewString |
| --- | --- | --- | --- |
| rood | blauw | rood blauw | rood groen blauw |

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

#### Voorbeeld 2: load-script

Load-script

Laad de volgende gegevens als een inline-load in de editor voor laden van gegevens:

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

Uitleg

De opdrachten `Set` en `Let` worden gebruikt om in het load-script waarden toe te wijzen aan variabelen. Het verschil tussen de twee is dat de opdracht `Set` een tekenreeks toewijst aan de variabele, terwijl de opdracht `Let` de inhoud van de tekenreeks beoordeelt alvorens de resulterende waarde aan de variabele toe te wijzen. De load-inline-tabel in dit voorbeeld wordt aangevuld met twee voorgaande load-opdrachten die worden gebruikt om verschillende beoordelingen te visualiseren van de variabele `vEvaluate`, als een teksttekenreeks en als de overeenkomstige uitdrukking.

Uitvoer

Maak de volgende tabel in Qlik Sense:

Tabel - Uitvoer van load-script

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

## Voorbeeld: diagramuitdrukking met tekstvariabele

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

#### Voorbeeld: load-script

Load-script

Laad de volgende gegevens als een inline-load in de editor voor laden van gegevens:

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

Variabelen

Open in een werkblad in bewerkingsmodus het dialoogvenster Variabelen van het venster Bedrijfsmiddelen.

Open dialoogvenster Variabelen

Open dialoogvenster Variabelen

Open dialoogvenster Variabelen ![KPI's die gebruikmaken van set-modificaties.](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_open_variable_dialog.png)

Maak de volgende variabelen:

Variabele om te maken

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

Variabelen

Variabelen

Variabelen ![KPI's die gebruikmaken van set-modificaties.](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_variables_window_new.png)

Maak KPI-diagrammen om de uitbreidingen te zien.

KPI's die uitbreidingen met dollarteken gebruiken

KPI's die uitbreidingen met dollarteken gebruiken

KPI's die uitbreidingen met dollarteken gebruiken ![KPI's die uitbreidingen met dollarteken gebruiken.](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_dollar_kpis.png)

## Uitbreiding met numerieke variabelen

Voor uitbreiding met numerieke variabelen wordt de volgende syntaxis gebruikt:

` (#variablename)
             `

Voor de uitbreiding wordt altijd een geldige notatie met decimale punt gebruikt bij de numerieke waarde van de variabele, mogelijk met exponentiële notatie (voor zeer grote of kleine getallen). Als `variablename` niet bestaat of geen numerieke waarde bevat, wordt de naam in plaats daarvan uitgebreid tot 0 of NULL.

## Voorbeelden: load-scripts met numerieke variabelen

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

#### Voorbeeld 1: load-script

Load-script

Laad de volgende gegevens als een inline-load in de editor voor laden van gegevens:

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

Uitleg

Voor de `#vVariable` uitbreiding wordt altijd een geldige notatie met decimale punt gebruikt bij de numerieke waarde van de variabele. Dit is handig als in plaats van een punt een komma wordt gebruikt als scheidingsteken voor decimalen en het risico bestaat van een conflict met kommagescheiden lijsten.

De belangrijkste reden voor het uitbreiden van deze variabelen in een load-inline-tabel is dat geen aanvullende quoting van `$(X)` is vereist.

Uitvoer

Maak de volgende tabel in Qlik Sense:

Tabel - Uitvoer van load-script

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

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

#### Voorbeeld 2: load-script

Load-script

Laad de volgende gegevens als een inline-load in de editor voor laden van gegevens:

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

Uitleg

Voor de #vVariable uitbreiding wordt altijd een geldige notatie met decimale punt gebruikt bij de numerieke waarde van de variabele. Dit is handig als in plaats van een punt een komma wordt gebruikt als scheidingsteken voor decimalen en het risico bestaat van een conflict met kommagescheiden lijsten. Ook moet worden opgemerkt dat de numerieke precisie wordt beïnvloed doordat het decimale deel wordt afgekapt als variabelen worden uitgebreid zonder correct scheidingsteken voor decimalen.

De belangrijkste reden voor het uitbreiden van deze variabelen in een load-inline-tabel is dat geen aanvullende quoting van $(X) is vereist.

Uitvoer

Maak de volgende tabel in Qlik Sense:

Tabel - Uitvoer van load-script

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

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

#### Voorbeeld 3: load-script

Load-script

Laad de volgende gegevens als een inline-load in de editor voor laden van gegevens:

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

Uitleg

Voor de #vVariable uitbreiding wordt altijd een geldige notatie met decimale punt gebruikt bij de numerieke waarde van de variabele. Dit is handig als in plaats van een punt een komma wordt gebruikt als scheidingsteken voor decimalen en het risico bestaat van een conflict met kommagescheiden lijsten. Ook moet worden opgemerkt dat de numerieke precisie wordt beïnvloed doordat het decimale deel wordt afgekapt als variabelen worden uitgebreid zonder correct scheidingsteken voor decimalen.

De belangrijkste reden voor het uitbreiden van deze variabelen in een load-inline-tabel is dat geen aanvullende quoting van $(X) is vereist.

Uitvoer

Maak de volgende tabel in Qlik Sense:

Tabel - Uitvoer van load-script

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

## Variabelen uitbreiden die verwijzen naar alternatieve states

De variabele heeft slechts één waarde en deze wordt gebruikt in alle alternatieve states. Als u een variabele uitbreidt dan blijft de waarde hetzelfde, ongeacht waar deze is gemaakt en wat de state van het object is.

Als de variabele een berekende variabele is, de definitie begint met hetzelfde teken, wordt de berekening in de standaardstate uitgevoerd, tenzij u een alternatieve state in de definitie van de variabele opgeeft.

Als u bijvoorbeeld een state hebt met de naam MyState en een variabele met de naam vMyVar:

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

De definitie van de variabele inhoud, met een expliciete verwijzing naar de naam van de alternatieve state, bepaalt in welke state de variabele inhoud wordt geëvalueerd.

## Interactie tussen variabelen en buitenste set-uitdrukkingen

Als u verwijst naar een variabele in een uitbreiding met dollarteken die ook een buitenste set-uitdrukking bevat, is een specifieke volgorde van evaluatie van toepassing. Ga voor meer informatie naar [Variabele opzoeken](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/outer-set-expression-dollar-sign-expansion.htm#Variable).

## Meer informatie

* [Let](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Let.htm)

* [Set](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Set.htm)

* [Werken met variabelen in de editor voor het laden van gegevens](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm)