Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
qlikeers
Creator II
Creator II

Current month in variable

Hi!

I have such a prosaic problem. How do I create a variable that will contain the month in the form "YYYY/MM"? 

I have let xxx = peek ('abc') where abc is the month in the correct format. But a variable divides two numbers by itself instead of keeping them as text. I also tried SET instead of LET but then peek doesn't work.

1 Solution

Accepted Solutions
tresesco
MVP
MVP

Where and how are you using this variable? If you are using it in the front end - try using it without $ expansion, or with single quotes around the dollar expansion.

vCurrMonth    or  '$(vCurrMonth)'

View solution in original post

9 Replies
Joseph_Musekura
Support
Support

Hi,

I am  not sure if I understand what you want to achieve.
Do you have only month as field in your data model? If you also have a date, you could well  extract "YYYY/MM" from the date field and then create a variable to contain that new field (ex: YearMonth)

------- ex

Load *,
year(Date) & '/' & Month(Date) as YearMonth

.

.

---------

qlikeers
Creator II
Creator II
Author

In the data model, I have exactly what you wrote.

Now I want to save this month (exactly in the same form) in a variable. Now the variable assigns me, for example, 168.4166666666667 (So the result of the division) instead of 2021/12.

Joseph_Musekura
Support
Support

Hi @qlikeers ,
I just did a quick check using set vMonth = YearMonth; in the script and the result is as expected

the result is displayed in "text &image" object.

set variable vMonth.png

Which version of Qlik sense are you using?

Can you share your sample QVF?
Regards

Joseph_Musekura
Support
Support

Sorry!
I just noticed that you are using for example numeric 12 as month instead of text "Dec". Did you used dual() in your script?

Please share your sample qvf
/joseph

qlikeers
Creator II
Creator II
Author

No, I didn't use dual. How do I get this to work?

Joseph_Musekura
Support
Support

Hi @qlikeers ,
To make it easy, share your qvf (make it very sample, few lines in scripts + 1 sheet showing the value-result of used variable).
I am not sure to check it directly because I am busy today.
/joseph

qlikeers
Creator II
Creator II
Author

I don't really know how to do it, because I don't have access to disk space.

But here I really wrote everything 🙂

In the code:

(...)
date (num (AddYears (date (Max (% JOIN_InvoiceDate)), 0)), 'YYYY / MM') as% Curr_Month,
(...)

And then:
let vCurrMonth = peek('%Curr_Month');

In this case, the variable holds the result of dividing the year by the month (e.g. 168.416666 as the result of dividing 2021/12), instead of the string '2021/12'.

tresesco
MVP
MVP

Where and how are you using this variable? If you are using it in the front end - try using it without $ expansion, or with single quotes around the dollar expansion.

vCurrMonth    or  '$(vCurrMonth)'

qlikeers
Creator II
Creator II
Author

Of course!

'$(vCurrMonth)' - it works fine. Thanks @tresesco!