Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
MRitter
Employee
Employee

Master Calendar Question

My app has 6 key dates in it.  My initial approach was to create a DateLink table with entries for each date type and then build the master calendar based on all of them.  This process worked.  But I am concerned that the app may not function correctly when dates are filtered.

Many of my expressions are calculating the interval between two of these dates.  If the two dates in the expression say fall in two different months and you filter by month what happens?  Which month does the filter base on?

If this approach is not good what is the best way to handle so many key dates in the same app?

2 Replies
dplr-rn
Partner - Master III
Partner - Master III

canonical dates is usually the way to go in such cases

https://community.qlik.com/t5/Qlik-Design-Blog/Canonical-Date/ba-p/1463578

MRitter
Employee
Employee
Author

Thank you.  I reviewed this and am still not sure how to proceed.

I have the DateLink table created which consists of the SRId, date, date type just like in the example.  I created a master calendar based on this DateLink table.

In my app I have an expression like this in a single chart. As you can see there are many dates in this expression.  In my master calendar I have a field called FiscalYear.  If I choose a fiscal year from a filter how does it react to this expression?  

If this will not work I am really not sure what I need to change at this point.  I literally have 8 or 9 date fields that could be used throughout this app.  I don't think a separate master calendar for each date is going to work well.

If (ValueList('Withdrawn','Rejected','Approved','Discarded') = 'Withdrawn',

       Avg(Interval(WithdrawnTimeStamp - SubmittedTimeStamp,'hh')),

  If (ValueList('Withdrawn','Rejected','Approved','Discarded') = 'Approved',

       Avg(Interval(ApprovedTimeStamp - SubmittedTimeStamp,'hh')),

     If (ValueList('Withdrawn','Rejected','Approved','Discarded') = 'Discarded',

       Avg(Interval(DiscardTimeStamp - SubmittedTimeStamp,'hh')),

        If (ValueList('Withdrawn','Rejected','Approved','Discarded') = 'Rejected',

          Avg(Interval(RejectedTimeStamp - SubmittedTimeStamp,'hh'))))))