Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Srinivas
Creator
Creator

Month wise Bucket

Hi All,

how to create buckets month wise i want to see current month to previous three months one bucket and current month to previous six months second bucket ,Please find the attached excel.

could u please help on this.

Advance Thanks

Munna

6 Replies
MK_QSL
MVP
MVP

Temp:

Load

  *,

  Interval(Today()-Date,'d') as NumberofDays;

Load

  Date(Date#(Year,'DD/MM/YYYY')) as Date,

  sales

Inline

[

  Year, sales

  01/01/2014, 10

  01/02/2014, 20

  01/03/2014, 30

  01/04/2014, 40

  01/05/2014, 50

  01/06/2014, 60

  01/07/2014, 70

  01/08/2014, 80

  01/09/2014, 90

  01/10/2014, 100

  01/11/2014, 110

  01/12/2014, 120

];

Final:

Load

  *,

  If(NumberofDays > 0 and NumberofDays <=90, '3Months') as Bucket

Resident Temp;

Load

  *,

  If(NumberofDays > 0 and NumberofDays <=180, '6Months') as Bucket

Resident Temp;

Drop Table Temp;

Not applicable

Just re-use Manish's scripts, you can do the calculation on monthly interval.

Temp:

Load

  *,

  Interval(Month(Today())-Month(Date)) as NumberOfMonths;

Load

  Date(Date#(Year,'DD/MM/YYYY')) as Date,

  sales

Inline

[

  Year, sales

  01/01/2014, 10

  01/02/2014, 20

  01/03/2014, 30

  01/04/2014, 40

  01/05/2014, 50

  01/06/2014, 60

  01/07/2014, 70

  01/08/2014, 80

  01/09/2014, 90

  01/10/2014, 100

  01/11/2014, 110

  01/12/2014, 120

];

Final:

Load

  *,

  If(NumberOfMonths >=0 and NumberOfMonths <=2, '3Months') as Bucket //3 month bucket include current month

Resident Temp;

Load

  *,

  If(NumberOfMonths >=0 and NumberOfMonths <=5, '6Months') as Bucket //6 month bucket include current month

Resident Temp;

Drop Table Temp;

its_anandrjs

Hi,

Another way with the help of date functions we can achieve this

Temp:

Load

  Date(Date#(Year,'DD/MM/YYYY')) as Date,

  sales

Inline

[

  Year, sales

  01/01/2014, 10

  01/02/2014, 20

  01/03/2014, 30

  01/04/2014, 40

  01/05/2014, 50

  01/06/2014, 60

  01/07/2014, 70

  01/08/2014, 80

  01/09/2014, 90

  01/10/2014, 100

  01/11/2014, 110

  01/12/2014, 120

];

Final:

LOAD Distinct *,

if(Date > AddMonths( Today(), -3 ) and Date <= Today(),'3Months') as Bucket

Resident Temp;

LOAD Distinct * ,

if(Date > AddMonths( Today(), -6 ) and Date <= Today(),'6Months') as Bucket

Resident Temp;

DROP Table Temp;

Let me know if any changes required, And you get.

3-6Buckets.png

Regards

Anand

MarcoWedel

Hi,

one solution could be:

QlikCommunity_Message_140484_Pic6.JPG.jpg

QlikCommunity_Message_140484_Pic7.JPG.jpg

tabSales:

LOAD *,

    Today()-Date as Numberofdays,

    Money(Ceil(Rand()*1000),'$#,##0;($#,##0)') as Sales;

LOAD Date(MakeDate(2010)+Floor(Rand()*(Today()-MakeDate(2010)))) as Date

AutoGenerate 100;

  

tabIntervals:

LOAD Distinct

  Numberofdays,

  Dual(3*pow(2,5-IterNo())&' Months',90*pow(2,5-IterNo())) as MonthBucket

Resident tabSales

While 90*pow(2,5-IterNo())>=RangeMax(Numberofdays,90);

QlikCommunity_Message_140484_Pic8.JPG.jpg

hope this helps

regards

Marco

MarcoWedel

Hi,

you might wish to follow this conversation as well:

How to create the 3 months and 6 months bucket

regards

Marco

sannidhikumar
Creator
Creator

Hi All ,

i am using this num(month([Due Date]),'00') as Month_1 for numbers ,

using buckets how to create 3months,6months,9months,1year and 1>year

any suggestions,

thanks