Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
klewis94
Contributor II
Contributor II

Help with triggers and alternate states

I am new to the forum, with beginner to intermediate experience in QlikView, and need some guidance/assistance. I will try my best to explain my situation and issue.

1. I have two table boxes that contain the same type of data, but I have a filter set to display a certain criteria on both table boxes.

2. I have set those to their own unique Alternate States.

3. I have setup a List Box that contains date values from within the data.

4. I have setup Field Event Triggers, one each for the 2 different Alternate States.

However, in one table box I have a date of 9/1/2018. But the data in my other table box doesn't contain that date.

Thus, when I setup my List Box that has the date selections, the date of 9/1/2018 is grayed out.

What I want to have happen is for that date to be available for selection, and since that date doesn't exist in one of the table boxes, then have no data display in that table box.

Any assistance is appreciated.

I have this in my Search box in the Action of the Trigger:

=if(GetSelectedCount([Date),'('&concat({$}[Date],'|')&')','')

7 Replies
jobsonkjoseph
Creator III
Creator III

Hi Keith,

We have a concept called Master Calendar in QV for getting the missing dates.

I suggest you try it here and get the missing dates first and check.

this will help you to begin with.

Understanding the Master Calendar - Qlik Sense and QlikView - YouTube

sunny_talwar

If both states are using the same field for list box, how come one of them have 9/1/2018 and other one doesn't? Or am I missing something here?

klewis94
Contributor II
Contributor II
Author

Sunny,

Here is a screenshot of my setup.

Here, I have two table boxes that both contain a date column called Proc Dt.

For one table, I have a filter set on it to filter only a value from a column called Select.

For the other table, I have a filter set on it to filter a specific value from that same Select column.

For instance, for the table called CC-NoOtech, there is a date with all the data for 9/1/2018. But, CC-Otech does not contain data for 9/1/2018.

Thus, my List Box selection has 9/1/2018 grayed out because that date doesn't exist between both tables.

What I need is for 9/1/2018 to be selectable, and when selected, just have the CC-Otech table just not display anything. Make anymore sense?  I'm trying to explain the best I can.

Example.PNG

sunny_talwar

I think what you are looking for is against how QlikView works. There are ways around it like for instance you can have all possible dates for each Select field and you might be able to make this work, but that could multiply your data tremendously based on how many select and how many dates you have.

Alternatively, you can look into using a straight table instead of using a table box. Straight table would allow you to use set analysis within which you can be creative enough to meet your requirement much easily.

CathyRDuvall
Contributor III
Contributor III

I agree with Jobson, you need to create a Master Calendar.  9/1/2019 lands on a Saturday and all of your dates are excluding the weekend dates.  Also, please check your ETL to ensure that you are not eliminate the weekends from your date field in the SET clauses.

SET ThousandSep=',';

SET DecimalSep='.';

SET MoneyThousandSep=',';

SET MoneyDecimalSep='.';

SET MoneyFormat='$#,##0.00;($#,##0.00)';

SET TimeFormat='h:mm:ss TT';

SET DateFormat='M/D/YYYY';

SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';


This is the original group of SET clauses used by QV.  Ensure that if you have made changes it will not affect your weekend dates.

klewis94
Contributor II
Contributor II
Author

Thank you to all you 3.

I do have the set day implemented already: SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun'; 


I believe what I am trying to do, might not be possible according to what Sunny says.

Again, to reiterate, in the results of CC-NoOtech, the data of 9/1/2018 does exist in the data set.

But, 9/1/2018 does NOT exist in the results of CC-Otech.

That is why 9/1/2018 is grayed out in my List Box that has the dates. I am guessing it is grayed out because it is a date that doesn't exist in both data sets.

I am going to switch my tables over to a Straight Table to see if I can do anymore manipulation.

klewis94
Contributor II
Contributor II
Author

I have this resolved with the Master Calendar.

The other piece I used once I developed the Master Calendar, was creating Filters within the Filters section of NgPrinting, to capture the individual values from a specified column, and used the Verify option. Once the Excel is created, if there is no data within the specified date or dates selected, then the tab in the spreadsheet for that type of data selection is just blank like I needed.

Thank you 3 for your guidance and suggestions on this!  I had to use some trickery to get my end result, and the Master Calendar was the final major solution.