Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
mgranillo
Specialist
Specialist

Dynamic Variable Name

Is it possible to set a variable name to include the current year?

For example:

set vCurrentYear=year(today());

set v&$(vCurrentYear)&Parm1 = .05;

I want this to evaluate to v2016Parm1=.05.

Thanks,

Mike

1 Solution

Accepted Solutions
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

You are right. I totally misread the question. I believe the solution would be:

Let vCurrentYear=year(today());

set v$(vCurrentYear)Parm1 = .05;

-Rob

View solution in original post

8 Replies
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

LET vMyVar = 'v' & $(vCurrentYear)& 'Parm1 = .05';


-Rob

http://masterssummit.com

http://qlikviewcookbook.com

alexdataiq
Partner - Creator III
Partner - Creator III

So wouldn't this create a vMyVar variable with 'v2016Parm1 = .05' as value instead of a v2016Parm1 variable with '.05' as value?

Or you just need to use $(vMyVar) in place of the whole variable in the desired expression?

Regards

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

You are right. I totally misread the question. I believe the solution would be:

Let vCurrentYear=year(today());

set v$(vCurrentYear)Parm1 = .05;

-Rob

mgranillo
Specialist
Specialist
Author

Thanks Rob, 

The proper syntax was really getting me here and I couldn't find another post on this. 

I really appreciate it.

Mike

mgranillo
Specialist
Specialist
Author

I have one additional question about this topic: Does my variable need to be script defined?  I tried defining it in the app and couldn't get it to evaluate correctly. 

Thanks,

Mike

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

I don't think there is any way to use a dynamic variable name from the UI Variable Overview.

-Rob

mgranillo
Specialist
Specialist
Author

Thanks for confirming

SimonDB
Contributor III
Contributor III

Really helped me get a timestamp variable for each tab in my script. Thank you Rob!

// MAIN TAB
LET vTAB = 0;


// EVERY TAB IN SCRIPT
LET vTAB = $(vTAB)+1;
LET vTimeTab_$(vTAB) = TIMESTAMP(NOW());