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

Announcements
Qlik Connect 2026! Turn data into bold moves, April 13 -15: Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Problem with do while

Hi All

i have problem with my do while looop .Its not exiting as per requirement ..Here is my code .

My loop has to end on weekend of 30th july 2015  i.e 05-07-2015.

But it is not ending there but loop seems to continuous .

LET vStartDateKey  = makedate(2015,06,25);

LET vEndDateKey    = MakeDate(2015,06,30);

let vweekstart = num(num#(WeekStart(vStartDateKey)));

let vweekend = num(Num#(WeekStart(vEndDateKey)));

do while weekstart(vStartDateKey)<=Weekend(vEndDateKey)

let vnewweekend =date(date#(vweekstart)+6);

FCT_SALES:

SELECT

DATE_KEY,

SALES_DATE,

STORE_KEY,

DEPT_KEY

WHERE

DATE_KEY BETWEEN '$(vweekstart)' AND '$(vnewweekend)';

let file = Year(date#(vweekstart))&week(date#(vweekstart));

trace file= $(file);

//Store and Drop Table

STORE FCT_DAILY_SALES INTO [./Qvd/$(file).QVD];

DROP TABLE FCT_SALES;

let vweekstart = date(date#(vweekstart)+7);

LOOP;

10 Replies
Kushal_Chawda

try like this. its working for me

LET vStartDateKey  = num(Date#('2015-06-25','YYYY-MM-DD'));

LET vEndDateKey    = num(Date#('2015-06-30','YYYY-MM-DD'));

let vweekstart = num(WeekStart('$(vStartDateKey)'));

let vweekend = num(WeekStart('$(vEndDateKey)')+6);

do while vweekstart <= vweekend

let vnewweekend =num('$(vweekstart)'+6);

FCT_SALES:

SELECT

DATE_KEY,

SALES_DATE,

STORE_KEY,

DEPT_KEY

WHERE

DATE_KEY BETWEEN '$(vweekstart)' AND '$(vnewweekend)';

let file = Year('$(vweekstart)')&week('$(vnewweekend)');

trace file= $(file);

//Store and Drop Table

STORE FCT_SALES INTO [./Qvd/$(file).QVD];

DROP TABLE FCT_SALES;

let vweekstart = num('$(vweekstart)'+7);

LOOP;