Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
burak_ersoy
Contributor III
Contributor III

Variables in Load Editor and CHR(39)

Dear All,

Hope you are doing great and I will appreciate it if you can help me with this problem. I created a variable in a sheet named as vBetweenRolling5 and defined as

{"$(= '>=' & FirstDayMonthRolling5 & '<=' & LastDayMonthRolling5)"}

Everything was working as it suppose to; however, I wanted to transfer all my variables to data load level. Therefore, I created the load script as

LET vBetweenRolling5 = '{"$(= ' & CHR(39) & '>=' & CHR(39) & ' & FirstDayMonthRolling5 & '& CHR(39) & '<=' & CHR(39) & ' & LastDayMonthRolling5)"}';

However, the variable was created in debug as

{""}

Please see the screenshot:

Capture.PNG

Any suggestions?

Thanks a million in advance!

1 Solution

Accepted Solutions
burak_ersoy
Contributor III
Contributor III
Author

cleveranjos‌, got it! However, my confusion was about using & character as the dummy. Because I have other & characters in the script; therefore, your solution was fixing all of it. I changed the code as

LET vBetweenRolling5 = '{"%(= '&CHR(39)&'>='&CHR(39)&' & FirstDayMonthRolling5 & '&CHR(39)&'<='&CHR(39)&' & LastDayMonthRolling5)"}';

LET vBetweenRolling5 = REPLACE(vBetweenRolling5 ,'%','$');

So using % instead of & character fixed the issue. Thank you very much for this answer!

View solution in original post

6 Replies
Clever_Anjos
Employee
Employee

Try with this, it´s a known issue

LET vBetweenRolling5 = '{"&(= ' & CHR(39) & '>=' & CHR(39) & ' & FirstDayMonthRolling5 & '& CHR(39) & '<=' & CHR(39) & ' & LastDayMonthRolling5)"}'; 

Let vBetweenRolling5  = Replace(vBetweenRolling5 ,'&','$')

burak_ersoy
Contributor III
Contributor III
Author

cleveranjos‌, thank you for your answer. It looks like it works in debugger. I will check and try it in the real app ASAP. However, can you please explain how the replace function fixes this issue?

Clever_Anjos
Employee
Employee

The main reason is when Qlik parses the $ into your Let command it will try to evaluate you expression at that specific time.

Using another char ( & for example ) and replacing it later, the parsers does not 'touch' the string

burak_ersoy
Contributor III
Contributor III
Author

cleveranjos‌, got it! However, my confusion was about using & character as the dummy. Because I have other & characters in the script; therefore, your solution was fixing all of it. I changed the code as

LET vBetweenRolling5 = '{"%(= '&CHR(39)&'>='&CHR(39)&' & FirstDayMonthRolling5 & '&CHR(39)&'<='&CHR(39)&' & LastDayMonthRolling5)"}';

LET vBetweenRolling5 = REPLACE(vBetweenRolling5 ,'%','$');

So using % instead of & character fixed the issue. Thank you very much for this answer!

Clever_Anjos
Employee
Employee

good to read that

Would you mind markin my answer as "helpful"?

burak_ersoy
Contributor III
Contributor III
Author

My pleasure!