Skip to main content
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());