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

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Merge Continuous Intervals

So I'm looking to merge a few intervals into a single table in QV, and I was wondering if anyone had any ideas.

Right now I have a simple table that breaks out intervals, however, a new interval is created every year if it crosses the calendar year.

I need to figure out to merge these back into single intervals.  Does anyone have suggestions on where to start?

Ex:

I have a table with the following structure.

IDStart

End

11/1/20103/7/2010
11/1/20115/31/2011
110/30/201112/31/2011
11/1/201212/31/2012
11/1/20133/31/2013
15/13/201312/31/2013
11/1/201412/31/2014

I'm looking to get the following:

IDStartEnd
11/1/20103/7/2010
11/1/20115/31/2011
110/31/20113/13/2013
15/13/201312/31/2014

I have some rough ideas how to get there, but they all involve some fairly large joins and I was hoping to avoid that since the source table is several million records.

1 Solution

Accepted Solutions
swuehl
MVP
MVP

Maybe like

SET DateFormat='M/D/YYYY';

INPUT:

LOAD ID,

    Start,

    End,

    if(peek(End)+1=Start, peek(Period), autonumber(recno(),ID)) as Period

FROM

[http://community.qlik.com/thread/109476]

(html, codepage is 1252, embedded labels, table is @1);

RESULT:

LOAD ID, Date(min(Start)) as Start, Date(max(End)) as End

Resident INPUT

group by ID, Period;

drop table INPUT;

View solution in original post

2 Replies
swuehl
MVP
MVP

Maybe like

SET DateFormat='M/D/YYYY';

INPUT:

LOAD ID,

    Start,

    End,

    if(peek(End)+1=Start, peek(Period), autonumber(recno(),ID)) as Period

FROM

[http://community.qlik.com/thread/109476]

(html, codepage is 1252, embedded labels, table is @1);

RESULT:

LOAD ID, Date(min(Start)) as Start, Date(max(End)) as End

Resident INPUT

group by ID, Period;

drop table INPUT;

Not applicable
Author

That did it.  Thanks!