# Yttre set-uttryck med dollarteckenexpansioner

När en (eller flera) dollarteckenexpansioner används i ett större uttryck kommer varje dollarteckenexpansion att utvärderas separat innan resultatet infogas i resten av uttrycket. En konsekvens av den här utvärderingsmetoden är att set-uttryck utanför ett uttryck med dollarteckenexpansion inte påverkar resultatet. Detta skapar en effekt där det sker en dubbel utvärdering av information inom ett uttryck.

## Exempel – hur uttryck som innehåller yttre set-uttryck och dollarteckenexpansioner utvärderas

Anta att du har detta exempel på uttryck:

```
{<Year={2024}>} $(=Sum(Sales))
```

Inom uttrycket ovan finns det ett set-uttryck för att välja Year värden för 2024: `{<Year={2024}>}`. När hela exempeluttrycket är utvärderat tillämpas inte detta set-uttryck.

Istället utvärderas uttrycket med dollartecken `$(=Sum(Sales))` först.

I det här exemplet antar vi att `Sum(Sales)` utvärderas till ett resultat på 1500311. Vid utvärdering av uttrycket `{<Year={2024}>} $(=Sum(Sales))` infogas detta tal i det omgivande uttrycket. Denna utvärderingsordning resulterar i följande delvis utvärderade konfiguration (observera att detta inte är ett användbart Qlik Sense-uttryck, och visas endast för att demonstrera utvärderingsordningen):

```
{<Year={2024}>} 1500311
```

Därefter utvärderas uttrycket `{<Year={2024}>} 1500311` i sin helhet. Det uppställda uttrycket `{<Year={2024}>}` har ingen effekt eftersom uttrycket till höger om det bara är ett tal, inte någon typ av aggregerat uttryck.

Om man använder värdet `Sum(Sales)` som anges ovan i exemplet blir därför det utvärderade resultatet för hela uttrycket `{<Year={2024}>} $(=Sum(Sales))` 1500311.

## Skapa ett uttryck från delar

Användning av dollarteckenexpansioner i ett uttryck resulterar i en dubbel utvärderingseffekt. Du kan dra nytta av denna dubbla utvärderingseffekt genom att skapa ett uttryck med hjälp av delar.

### Exempel

Anta att du har detta exempel på uttryck:

```
{<Year={2024}>} $(='Sum(' & 'Sales' & ')')
```

I den första utvärderingsrundan utvärderas dollarteckenexpansionen $(='Sum(' & 'Sales' & ')'). I detta steg kombineras de tre strängarna till en enda sträng 'Sum(Sales)'. Eftersom det här är en sträng och inte ett uttryck utvärderas inte uttrycket inuti strängen vid detta tillfälle.

I detta skede av utvärderingen ska uttrycket tolkas av Qlik Sense på följande sätt:

{&lt;Year={2024}&gt;} Sum(Sales)

I det här fallet kommer set-analysuttrycket för den yttre uppsättningen att tillämpas på Sum-aggregeringen eftersom vi nu har producerat ett normalt uttryck, snarare än bara ett tal (som var fallet i det [första exemplet](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/outer-set-expression-dollar-sign-expansion.htm#Example1)). Observera att citattecknen tog upp den första utvärderingsrundan så att uttrycket bevarades (och konkatenerades med &) för den andra utvärderingsrundan.

## Variabelsökning

När en variabel dollarteckenexpansion används för att göra en variabelsökning infogas innehållet i variabeln i det omgivande uttrycket innan innehållet utvärderas.

### Exempel

Anta att du har detta exempel på uttryck:

{&lt;Year={2024}&gt;} $(Var1)

I det här exemplet kommer innehållet i variabeln Var1 att infogas i det omgivande uttrycket innan innehållet utvärderas.

#### Utfall A – definition av variabel utan likhetstecken

Om Var1 definieras som Sum(Sales), skulle det se ut så här efter expansion (observera att konfigurationen nedan är ett delvis utvärderat uttryck):

{&lt;Year={2024}&gt;} Sum(Sales)

Dialogrutan Variabler visar definition och värde för variabeln Var1, när ett likhetstecken inte placeras i början av variabeldefinitionen.

Dialogrutan Variabler visar definition och värde för variabeln Var1, när ett likhetstecken inte placeras i början av variabeldefinitionen.

Dialogrutan Variabler visar definition och värde för variabeln Var1Var1, när ett likhetstecken inte placeras i början av variabeldefinitionen.![Dialogrutan Variabler visar definition och värde för variabeln Var1, när ett likhetstecken inte placeras i början av variabeldefinitionen (som är Sum Sales).](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_variable-def-no-equal-sign.png)

I det här exemplet kommer alltså det yttre set-uttrycket {&lt;Year={2024}&gt;} att användas.

#### Utfall b – definition av variabel med likhetstecken

Om definitionen i Var1 däremot börjar med ett likhetstecken – det vill säga =Sum(Sales) – tillämpas inte det yttre set-uttrycket. Detta beror på att likhetstecknet gör att uttrycket för variabeln beräknas i förväg och isolerat. Detta leder till ett resultat som liknar det [första exemplet](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/outer-set-expression-dollar-sign-expansion.htm#Example1), där det finns ett yttre set-uttryck som ska utvärderas tillsammans med ett tal, vilket inte ger något användbart resultat.

Dialogrutan Variabler visar definition och värde för variabeln Var1, när ett likhetstecken placeras i början av variabeldefinitionen.

Dialogrutan Variabler visar definition och värde för variabeln Var1, när ett likhetstecken placeras i början av variabeldefinitionen.

Dialogrutan Variabler visar definition och värde för variabeln Var1Var1, när ett likhetstecken placeras i början av variabeldefinitionen.![Dialogrutan Variabler visar definition och värde för variabeln Var1, när ett likhetstecken placeras i början av variabeldefinitionen (som är Sum Sales).](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_variable-def-with-equal-sign.png)

## Mer information

* [Inre och yttre uppsättningsuttryck](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-expressions-inner-and-outer.htm)

* [Dollarteckenexpansioner](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansions.htm)

* [Skapa en variabel](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Variables/create-variable-using-dialog.htm)

* [Variabeldialog](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Sheets/variables-dialog.htm)