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: 
ivanyang25
Contributor III
Contributor III

How to defind current date into Month/Quarter/Fiscal Year?

Dear QS Experts

I am new to Qlik Sense and I have question regarding to date in Qlik Sense Desktop

In my raw data there is a column named 'POD Date' stores data like '2017/7/20' , '2017/4/3', '2017/6/8' etc

I want to create a dimension in master item to define these date into relative Month/Quarter/Fiscal Year

For month I can use expression like =num (Month([POD Date])) to get the result I want (7,4,6)

How to acheive the same goal for Quarter (i.e Q1,Q2) / Fiscal Year (i.e 1718)?

PS: I want to solve this problem in front end instead of writing script from back end

Thank you for your advise in advance

Ivan

3 Replies
robert99
Specialist III
Specialist III

Hi

I usually use quartername. This gives Jan-Mar 2017 etc. Its a dual so is sortable by number. But other options are quarter end or start date

Fiscal Year I always do in script. In fact all calendars I do in script. And if you use data manager its done automatically using derived fields

Refer a good explanation on this

Fiscal Year

One recent example I did. Just replace DateCanonn and CallInDate with POD Date

Set vFM = 10 ;  // year Oct to Sept  First month of fiscal year

Calendar:  //inc fiscal years

//level 5

Load

Dual(fYear-1 &'/'& fYear, fYear) as YearFin,          // Dual fiscal year

Dual(Month, fMonth)                as MonthFin,           // Dual fiscal month for sorting

*

;

//level 4

Load

Year + If(Month>=$(vFM), 1, 0) as fYear,           // Numeric fiscal year

Mod(Month-$(vFM), 12)+1        as fMonth,          // Numeric fiscal month

*

;

Calendar: 

//level 3

load

DateCanon ,

Month(DateCanon) as Month,

Year(DateCanon) as Year,

Day (DateCanon) as Day,

weekday (DateCanon) as DayMonEtc,

weekend (DateCanon,0,-2) as WeekEnding  ,

Week (DateCanon) AS WeekNum,

Monthstart (DateCanon) as MthYear ;

//level 2

Load Date (MinDate+iterno()) as DateCanon While iterno() <= MaxDate - MinDate ;

//level 1

Load Min(CallInDate)-1 as MinDate, Max(CallInDate)+30 as MaxDate Resident SCCall ;

ivanyang25
Contributor III
Contributor III
Author

Robert

Thank you for the feedback

As I am a front end user thus it is a little bit difficult for me to read below material

Fiscal Year

Should I add the script in into below button or in Data Load Editior?

捕获.PNG

There are several datas in my raw data (order date/ship date/ POD date etc) and I need POD date for reference to show fiscal year and quarter in sheet 1 and Ship date in sheet 2. Which date in below script example should I replace with ship date/POD date?

On the other hand, how should we work quarter out?

It will be highly appreciated if you could share me a test apps for reference

2.PNG

Thanks

robert99
Specialist III
Specialist III

Try this

Put all this script in at the end using data load editor

This will create a master calendar for every day from a minimum starting date to an end date

And link it to POD Date

let me know if it works or not

Set vFM = 10 ;  // year Oct to Sept  First month of fiscal year set as appropriate >> required level 4

//level 5 reads in level 4 then drops these level 4 fields

Calendar:  //inc fiscal years

Load

Dual(fYear-1 &'/'& fYear, fYear) as YearFin,          // Dual fiscal year

Dual(Month, fMonth)                as MonthFin,           // Dual fiscal month for sorting

*                                                                              // Picks up fields in level 4

;

//level 4 reads in level 3 then drops these level 3 fields

Load

Year + If(Month>=$(vFM), 1, 0) as fYear,           // Numeric fiscal year

Mod(Month-$(vFM), 12)+1        as fMonth,          // Numeric fiscal month

*                                                                           // picks up fields in level 3

;

  //level 3 reads in level 2 then drops these level 2 fields

MASTERCalendar:

load

[POD Date],     ///LINK field

Month([POD Date]) as Month,   //PUT IN CALENDAR FIELDS AS REQUIRED

Year([POD Date]) as Year,

Day ([POD Date]) as Day,

Week ([POD Date]) AS WeekNum,   //if required

Monthstart ([POD Date]) as MthYear ;  //if required

//level 2 reads in level 1 then drops these level 1 fields

Load Date (MinDate+iterno()) as [POD Date] While iterno() <= MaxDate - MinDate

;

//level 1 //start of load .. must link to another table

Load Min([POD Date])-1 as MinDate,

Max([POD Date])+30 as MaxDate //change days (30) as required

Resident >>>your table Name ;  // link to the appropriate table that contains POD date