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 stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!