Skip to main content
Announcements
July 15, NEW Customer Portal: Initial launch will improve how you submit Support Cases. IMPORTANT DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Passing a set of filters in qlikview

Hi all ,

I have this below given requirement to display as a table in the qlikview document with the set of filters passed for filtering the data.

surveyprod ctgcharchar typerate 1rate 2rate 3volume
s1catg 1factor1type 1846100
s1catg 1factor2type2766200
s1catg 1factor3type 3978300
s2catg 1factor1type 1957400
s2catg 1factor2type2977500
s2catg 1factor3type 3989600
s2catg 2factor4type 1747700
s2catg 2factor2type2867800
s2catg 2factor3type 3989900

the filters given on the report are :

1.survey

2.prod ctg

3.char

4. char type

5. range slicer(0-10)

output table displays the following columns

1.survey

2.prod ctg

3.char

4.char type

5.volume

the requirement is that the user must be allowed to pass 6 sets of filter.

set of filters include one from the available 5 filters(survey,prod ctg,char,char type,range slicer value)

OR condition needs to be applied when the filter values are passed.

for example: set1 filters OR set2 filters (output will now diplay the data for both the filters selected in set 1 and set 2 )

as i am new to qlikview , i have no idea how to solve this..

can this be handled by setanalysis ? if not then how can this be handled.

Kinldy help with any supportive expressions.

will be greatfull for any kind of help on this post .

thanks.

50 Replies
sunny_talwar

That makes sense... but when do you think QlikView should know that you are done making selections for your first set? I mean is there a way (programmatically thinking) for us to tell the application that the user has made his selection for the set 1.... can we know move along to set 2....

Also, let's say user now wants to do another comparison.... set 2 becomes set 1 now? or we start over... I am guessing start over... but how should QlikView know that we have ended set 2?

How about clicking a button at the end of the selection process to tell QlikView that you are done with first selection and then another button to set 2 set of selections?

Anonymous
Not applicable
Author

i get your question. i had a thought of using getselectioncount when >= 5 (as i have 5 filter) then clear filters and allow the user to select set 2, but when i cleared the filters the data in the table which was filtered for set 1 is also washed away .

i am unable to capture the set 1 selected and freeze their respective results in the table and then move on to set 2 selection of filters.

also when i implemented the thought of getselectioncount when >= 5 i also was brought to notice that the filters can also be multiple selection permitted. so this >=5 will not work and it didn't work.

Correct me if i am wrong.

Thanks.

sunny_talwar

You are right... and how do you capture selection in different fields? I mean we are not talking about GetSelectedCount() which captures selections in a single field... we are talking about capturing last 5 selections in any field? And what if the user makes an error on one of the selections and have to change his selection... how should QlikView know that now that the user have made an error... it should allow for 6 or 7 selections.

All these are example of things which is going to cause you a lot of headache. You want to make life easier for users, but trust me this will actually make there life miserable .

I suggest you to take your time and think it through one more time and decide what you really want to offer your users.

Anonymous
Not applicable
Author

Sunny, Thanks for your suggestions, but i am pretty much sure of what to provide to the users.

and also sorry for putting you into confussion.

when i mentioned about GetSelectedCount() i meant

IF(GetSelectedCount(Field 1) +....+ GetSelectedCount(Field 5))>= 5 .

like 1+1+1+1+1 >=5

which means one selection from each of the filters.

but i was wrong in the above mentioned logic as the user can select multiple entries in each of the filter.

Anyways thanks a lot for your continuous suggestions ans help.

sunny_talwar

make sense... I am not sure I have a solution for you my friend... may be mrkachhiaimp‌ have more ideas since we have discussed more things here...

if not, then may be swuehl‌ or marcowedel‌ can share there expertise

Anonymous
Not applicable
Author

Thanks for referring , hope i will be able to achieve this by any of your friend's suggestions/thoughts.

sunny_talwar

Some others who might be able to offer help

gwassenaar

rwunderlich

swuehl
MVP
MVP

I would offer the user a button to apply a set to a specific filter (either select the filter number to apply the set to or let it auto-increment). This button could also clear the list boxes.

To use only one single set of list boxes:

Either use bookmarks to store the current set when pressing the filter, or use alternate state list boxes (the chart expression calling the sets will be mostly the same).

AFAIR, alternate states of a list box can't be set by expression.

But you can use either multiple sets of list boxes and show / hide the unused sets, or a container object or whatever you want...

Guess all these solutions should serve your requirements without wasting too much real screen estate for multiple set selection boxes.

If latter is not your concern using alternate states / bookmarks, then please clarify.

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

This looks to me like a standard case of multiple selections.  With the example given. I'm not seeing the requirement for alternate states or anything like that.  It seems to me that default behavior would handle it.  Am I misunderstanding?

-Rob2018-03-14_5-47-25.png

Anonymous
Not applicable
Author

Hi Stefan ,

Thanks for your quick revert on the Question.

as you have mentioned that we can hide and show the unused filters and achieve it.. can you please elaborate on how to implement it . as i am new to qlikview i would kindly request you to shower me some light on this.

will be very much great full for the same.

Thanks