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: 
stevietm
Creator
Creator

Month Loop problem

I am trying to Load monthly QVD files from one QVD data source with 3 year data.

The below scrip does not want to work, can anyone tell me what i am doing wrong. The Loop works and creates the qvd's but does not return any data in the QVD files.

USAGE_SQL_EXTRACT2:

LOAD SIM_NUMBER,

     USAGE_DATE,

     Date((USAGE_DATE),'YYYY') as YEAR,

     Date((USAGE_DATE),'MM') as MONTH,

     TOTAL_REV_CALC

FROM

(qvd) ;  

call create_qvd_Monthly ('USAGE_SQL_EXTRACT2','USAGE_SQL_EXTRACT2')

FOR year = 2014 to 2017

  FOR month = 01 to 12

MyTable:

LOAD SIM_NUMBER,

     USAGE_DATE,

     YEAR,

     MONTH,

     TOTAL_REV_CALC

FROM

(qvd)   

where YEAR = $(year) and MONTH = $(month);

STORE MyTable INTO C:\Users\Desktop\Qlikview\New Test\TrxHist$(year)$(month).qvd;

  NEXT

1 Solution

Accepted Solutions
sunny_talwar

You probably need two NEXTs for 2 FORs

USAGE_SQL_EXTRACT2:

LOAD SIM_NUMBER,

    USAGE_DATE,

    Year(USAGE_DATE) as YEAR,

    Num(Month(USAGE_DATE)) as MONTH,

    TOTAL_REV_CALC

FROM

(qvd) ;

call create_qvd_Monthly ('USAGE_SQL_EXTRACT2','USAGE_SQL_EXTRACT2')

FOR year = 2014 to 2017

  FOR month = 01 to 12

MyTable:

LOAD SIM_NUMBER,

    USAGE_DATE,

    YEAR,

    MONTH,

    TOTAL_REV_CALC

FROM

(qvd)

where YEAR = $(year) and MONTH = $(month);

STORE MyTable INTO C:\Users\Desktop\Qlikview\New Test\TrxHist$(year)$(month).qvd;

  NEXT


NEXT

View solution in original post

11 Replies
sunny_talwar

Try this:

USAGE_SQL_EXTRACT2:

LOAD SIM_NUMBER,

    USAGE_DATE,

    Year(USAGE_DATE) as YEAR,

    Num(Month(USAGE_DATE)) as MONTH,

    TOTAL_REV_CALC

FROM

(qvd) ; 

call create_qvd_Monthly ('USAGE_SQL_EXTRACT2','USAGE_SQL_EXTRACT2')

FOR year = 2014 to 2017

  FOR month = 01 to 12

MyTable:

LOAD SIM_NUMBER,

    USAGE_DATE,

    YEAR,

    MONTH,

    TOTAL_REV_CALC

FROM

(qvd) 

where YEAR = $(year) and MONTH = $(month);

STORE MyTable INTO C:\Users\Desktop\Qlikview\New Test\TrxHist$(year)$(month).qvd;

  NEXT

stevietm
Creator
Creator
Author

Hi

Still the same problem, also it only creates files for 2014

Thanks

sunny_talwar

You probably need two NEXTs for 2 FORs

USAGE_SQL_EXTRACT2:

LOAD SIM_NUMBER,

    USAGE_DATE,

    Year(USAGE_DATE) as YEAR,

    Num(Month(USAGE_DATE)) as MONTH,

    TOTAL_REV_CALC

FROM

(qvd) ;

call create_qvd_Monthly ('USAGE_SQL_EXTRACT2','USAGE_SQL_EXTRACT2')

FOR year = 2014 to 2017

  FOR month = 01 to 12

MyTable:

LOAD SIM_NUMBER,

    USAGE_DATE,

    YEAR,

    MONTH,

    TOTAL_REV_CALC

FROM

(qvd)

where YEAR = $(year) and MONTH = $(month);

STORE MyTable INTO C:\Users\Desktop\Qlikview\New Test\TrxHist$(year)$(month).qvd;

  NEXT


NEXT

stevietm
Creator
Creator
Author

That worked, thanks.

But still it does not return any data in the files.

Thanks

sunny_talwar

Is your MONTH field look like Jan, Feb or is it numbers like 1, 2, 3?

May be try this in case it is Jan, Feb, Mar.....

MyTable:

LOAD SIM_NUMBER,

    USAGE_DATE,

    YEAR,

    MONTH,

    TOTAL_REV_CALC

FROM

(qvd)

where YEAR = $(year) and Num(Month(Date#(MONTH, 'MMM'))) = $(month);

STORE MyTable INTO C:\Users\Desktop\Qlikview\New Test\TrxHist$(year)$(month).qvd;

stevietm
Creator
Creator
Author

It is set to numbers.

sunny_talwar

Can you show a screenshot from the source for Year and Month?

swuehl
MVP
MVP

Guess your table gets auto-concatenated to the original:

FOR year = 2014 to 2017

  FOR month = 01 to 12

MyTable:

NOCONCATENATE

LOAD SIM_NUMBER,

    USAGE_DATE,

    YEAR,

    MONTH,

    TOTAL_REV_CALC

FROM

(qvd)

where YEAR = $(year) and MONTH = $(month);

STORE MyTable INTO C:\Users\Desktop\Qlikview\New Test\TrxHist$(year)$(month).qvd;


DROP TABLE MyTable;


NEXT

  NEXT

stevietm
Creator
Creator
Author

Hi Thanks a lot for the help i have managed to make it work. I made a stupid mistake, i forgot that the qvd i copied from work only had 2017 data in. been a long day....