Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
shamitshah
Partner - Creator
Partner - Creator

Calendar

Hi,

I am having an issue with the script below to create a temp calendar. Strangely, it used to work but now it is coming with an error message.Not sure how to resolve it.

Temp: 

Load 

               Min(SaleDate) as MinDate, 

               Max(SaleDate) as MaxDate 

Resident SALES; 

 

Let vMinDate = Num(Peek('MinDate', 0, 'Temp')); 

Let vMaxDate = Num(Peek('MaxDate', 0, 'Temp')); 

 

TempCalendar: 

LOAD 

$(vMinDate) + Iterno()-1 As Num, 

Date($(vMinDate) + IterNo() - 1) as TempDate 

AutoGenerate 1 While $(vMinDate) + IterNo() -1 <= $(vMaxDate);

DROP Table Temp;

Thanks

Shamit

1 Solution

Accepted Solutions
sorrakis01
Specialist
Specialist

HI,

It works:

SALES:

LOAD * INLINE [

SaleDate

10/01/2016

30/03/2016

];

Temp:

Load

               Min(SaleDate) as MinDate,

               Max(SaleDate) as MaxDate

Resident SALES;

Let vMinDate = Num(Peek('MinDate', 0, 'Temp'));

Let vMaxDate = Num(Peek('MaxDate', 0, 'Temp'));

TempCalendar:

LOAD

$(vMinDate) + Iterno()-1 As Num,

Date($(vMinDate) + IterNo() - 1) as TempDate

AutoGenerate 1 While $(vMinDate) + IterNo() -1 <= $(vMaxDate);

DROP Table Temp;

Regards

View solution in original post

3 Replies
Frank_Hartmann
Master II
Master II

Try like this:

TempCalendar:

LOAD

$(vMinDate) + RowNo() - 1 AS Num,

Date($(vMinDate) + RowNo() - 1) AS TempDate

AUTOGENERATE 1

WHILE $(vMinDate)+IterNo()-1<= $(vMaxDate);

hope that helps

sorrakis01
Specialist
Specialist

HI,

It works:

SALES:

LOAD * INLINE [

SaleDate

10/01/2016

30/03/2016

];

Temp:

Load

               Min(SaleDate) as MinDate,

               Max(SaleDate) as MaxDate

Resident SALES;

Let vMinDate = Num(Peek('MinDate', 0, 'Temp'));

Let vMaxDate = Num(Peek('MaxDate', 0, 'Temp'));

TempCalendar:

LOAD

$(vMinDate) + Iterno()-1 As Num,

Date($(vMinDate) + IterNo() - 1) as TempDate

AutoGenerate 1 While $(vMinDate) + IterNo() -1 <= $(vMaxDate);

DROP Table Temp;

Regards

shamitshah
Partner - Creator
Partner - Creator
Author

Hi Jordi,

Thanks , I tried it again and it appears to work.

I think the issue I had was that SALES table had no values due to an incorrect filter.

Shamit