Gå till huvudinnehåll Gå till ytterligare innehåll

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:

{<Year={2024}>} 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). 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:

{<Year={2024}>} $(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):

{<Year={2024}>} 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 (som är Sum Sales).

I det här exemplet kommer alltså det yttre set-uttrycket {<Year={2024}>} 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, 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 (som är Sum Sales).

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!