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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Dynamically swap between Default Calendars on selecting new Tab

I am relatively new to QlikView and would like to swap between Default Calendars dynamically when I select a new Tab without having to use Field Event Triggers.  If I could use Variable Event Triggers, I would not have to define separate Field Event triggers for each different Calendar.  I am afraid there is quite a lot to read here before I get to the problem.  Either I have over-complicated things and someone will say "just press the Magic Calendar Button" (perhaps something perhaps not quite that simple) or that there is a simpler way than my approach.  Any help would be much appreciated.

So far I have successfully:

  1. Load Script
    • SET Date and Time formats
    • Created the Month and Day names
    • Created a Month Sort order based upon our Financial Year
    • Created the Master Calendars
  2. Application
    • Created “”From” and “To” Calendar Objects using variables:
      • vStartDateRange
        • =Min({1} $(eStartDate))
        • =Max({1} $(eStartDate))
      • vEndDateRange
        • =vStartDateRange
        • =Max({1} $(eStartDate))
    • Created "OnActivate Sheet" Triggers
      • Date Name Label Prefix = lDatePrefix (e.g. "Gate ")
      • Date Name Expression Prefix = eDatePrefix (e.g. "Gate")
      • Date Name Abbreviation = DateAbbreviation  (e.g. " Gt ")
      • Date Name Financial Year = eDateFY (e.g. ==eDatePrefix & ' FY')
      • Date Name Quarter = eDateQuarter (e.g. ==eDatePrefix & ' Quarter')
      • Date Name Month= eDateMonth(e.g. ==eDatePrefix & ' Month')
      • Date Name Start = eStartDate (e.g. "GateStartDate").  This is the date field I will filter on for this particular Tab.
    • Created List Boxes for Financial Year, Quarter and Month Using Expressions to identify the Fields
      • [$(eDateFY)] to identify the Field as [Gate FY]

      • [$(eDateQuarter)] to identify the Field as [Gate Quarter]
      • [$(eDateMonth)] to identify the Field as [Gate Month]
    • Created "OnChange" Variable Event Triggers:
      • vStartDateRange
        • Field: =eStartDate
        • Search String: ='>='&vStartDateRange & '<='&vEndDateRange
        • Others that just clear eDateFY, eDateQuarter and eDateMonth fileds (e.g. Field: =eDateFY )
      • vEndDateRange (as above for the Start Date)


Here is the problem:

I have created Field Event Triggers for each of the Date Fields ([Gate FY], [Gate Quarter] and [Gate Month]).  Is there a way that I could use Variable Event Triggers to replicate the actions of the Field Event Triggers shown below?

If these could be Variable Event Triggers, I wouldn't have to repeat the work every time I add a new Calendar.  So, for example (I have done the same for FY, Quarter and Month):

  1. For the Field [Gate FY] I have created:
    • OnSelect Field Event Triggers
      • Set Variable
        • Variable: vStartDateRange
        • Value: =minstring($(eStartDate))
      • Set Variable
        • Variable: vEndDateRange
        • Value: =maxstring($(eStartDate))
      • Clear Field
        • Field: ==eDateQuarter
    • OnChange Field Event Triggers (these are convoluted statements to reset the vStartDateRange and vEndDateRange Date Variables.
      • For example
        • =if((GetSelectedCount([$(eDateFY)])=0 and GetSelectedCount([$(eDateQuarter)])=0 and GetSelectedCount([$(eDateMonth)])=0), Minstring($(eStartDate)),  if((GetS..............., nul()))))
0 Replies