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

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
cancel
Showing results for 
Search instead for 
Did you mean: 
jyothish8807
Master II
Master II

date picker

Hi All

I am trying to auto populate the dates between MINDATE and MAXDATE:

Name    MINDate   MAXDate

A          Jan 2009   May 2009

Now i want to convert this table into this form:

Name Date

A        Jan 2009

A        Feb 2009

A        Mar 2009

A        Apr 2009

A       May 2009

Thanks & Regards

Jyothish KC

Best Regards,
KC
1 Solution

Accepted Solutions
tresesco
MVP
MVP

PFA.

Temp:
Load * Inline [
Name,    MINDate,   MAXDate

A,          Jan 2009,   May 2009
];

Load
Name,
Date(AddMonths(Date#(MINDate,'MMM YYYY'),IterNo()-1), 'MMM YYYY') as Date
Resident Temp While AddMonths(Date#(MINDate,'MMM YYYY'),IterNo()-1)<= Date#(MAXDate, 'MMM YYYY');

drop Table Temp;

View solution in original post

10 Replies
tresesco
MVP
MVP

PFA.

Temp:
Load * Inline [
Name,    MINDate,   MAXDate

A,          Jan 2009,   May 2009
];

Load
Name,
Date(AddMonths(Date#(MINDate,'MMM YYYY'),IterNo()-1), 'MMM YYYY') as Date
Resident Temp While AddMonths(Date#(MINDate,'MMM YYYY'),IterNo()-1)<= Date#(MAXDate, 'MMM YYYY');

drop Table Temp;

MK_QSL
MVP
MVP

Temp:

Load

  Name,

  Date(Date#(MINDate,'MMM YYYY'),'DD/MM/YYYY') as MinDate,

  Date(Date#(MAXDate,'MMM YYYY'),'DD/MM/YYYY') as MaxDate

Inline

[

  Name, MINDate,  MAXDate

  A,      Jan 2009, May 2009

];

NoConcatenate

Final:

Load

  Name,

  Date(AddMonths(MinDate,IterNo()-1),'MMM YYYY') as Date

Resident Temp

While AddMonths(MinDate,IterNo()-1)<=MaxDate;

Drop Table Temp;

its_anandrjs
Champion III
Champion III

Load your table like

Tab1:

LOAD * INLINE [

Name,MINDate,MAXDate

A,   Jan 2009,May 2009

];

Tab2:

LOAD

Name,

Num(Date#(MINDate,'MMM YYYY')) AS MinDate,

Num(Date#(MAXDate,'MMM YYYY')) AS MaxDate

Resident Tab1;

DROP Table Tab1;

LET vMin = Peek('MinDate',0,'Tab2');

LET vMax = Peek('MaxDate',0,'Tab2');

NoConcatenate

Data:

Load

  Name,

  Date(AddMonths($(vMin),IterNo()-1),'MMM YYYY') as Date

Resident Tab2

While AddMonths($(vMin),IterNo()-1) <= $(vMax);

Drop Table Tab2;

Regards

jyothish8807
Master II
Master II
Author

can i have the same in SQL?

Best Regards,
KC
jyothish8807
Master II
Master II
Author

Can you please share the same in SQL?

Best Regards,
KC
jyothish8807
Master II
Master II
Author

Can you please share the same in SQL also?

Best Regards,
KC
tresesco
MVP
MVP

What exactly do you want to perform in SQL?

anbu1984
Master III
Master III

In Oracle sql

SELECT SRC_TBL.MinDate,

    SRC_TBL.MaxDate,

    ADD_MONTHS(TRUNC(SRC_TBL.MinDate,'MM'),RNO-1) MTH_STRT_DT

  FROM SRC_TBL

  LEFT OUTER JOIN

    (SELECT ROWNUM RNO FROM DUAL CONNECT BY LEVEL <= 240 --Replace 240 by maximum no of months between min and max date

    ) RW

  ON 1 = 1

  WHERE ADD_MONTHS(TRUNC(MinDate,'MM'),RNO-1) <= MaxDate

jyothish8807
Master II
Master II
Author

Its not working. I am writing this in ms access.

Best Regards,
KC