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

Announcements
Discover how organizations are unlocking new revenue streams: Watch here
cancel
Showing results for 
Search instead for 
Did you mean: 
RaghuRathinam
Partner - Contributor II
Partner - Contributor II

how to filter based on criteria based on the selected field value ?

As I am a beginner to Qliksense, Your support on this will be great appreciated.

I am interested to find the similar entity based on a condition that is selected in QlikSense Application.

I illustrated the same with an easy example :

My DB table looks similar to attached image.

My target is,

When someone selects the Person Name "Pieter" in a filter pane, the another listbox/filterpane should display me the list of Same AGED person names.

In this case, criteria to match is AGE, I would make it multiple criteria as well like Sex, city etc.

How do I accomplish this ? I tried to use IF statements, set expressions and things like that...

But still stuck.

Kindly help me here.

8 Replies
Gabriel
Partner - Specialist III
Partner - Specialist III

@RaghuRathinam 

Step 1: Create a variable i.e called vNameSelected = '=ONLY({<Name={$(=GETFIELDSELECTIONS(Name))}>}Age)'

Step 2: Either listbox or filter use this expression 

=CONCAT({1<Age ={$(vNameSelected)}>} Name,'|',Name)

When you make selection in Name field then you should Names that matches the age of name selected.

That should sort it our for you.

QFabian
MVP
MVP

Hi @RaghuRathinam 

try this please :

=concat({< Name = e({<Name = Name>}), Age = {"=Age"} >} Name, ', ')

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.
RaghuRathinam
Partner - Contributor II
Partner - Contributor II
Author

@Gabriel 

Thanks for your response.  I tried to do, what you said.  It is not working.

Please see the attached test application for your reference.

@QFabian 

In the attached application, in the list box dimensions, i tried your suggestion 

=concat({< Name = e({<Name = Name>}), Age = {"=Age"} >} Name, ', ') as well.

It did not work.

MayilVahanan

Hi @RaghuRathinam 

Try like below

=Aggr(concat({<Age = {"=Age"}, Name= >} Name, ', '), Name) <-- it includes the name which u selected

or

=Aggr(concat({< Name = e({<Name = Name>}), Age = {"=Age"} >} Name, ', '), Name) <-- it display the remaining names with same age criteria

o/p:

MayilVahanan_0-1605514861995.png

 

Thanks & Regards, Mayil Vahanan R
Please close the thread by marking correct answer & give likes if you like the post.
RaghuRathinam
Partner - Contributor II
Partner - Contributor II
Author

@MayilVahanan 

Thanks for your response.

This way, it works in this test case app which i share.

But in my real case, the number of data is huge.  around 15000 records.

Hence i get a error message like "The hypercube results are too  large" .  Any new ideas ?2020-11-16 11_10_44-Window.png

QFabian
MVP
MVP

Hi @RaghuRathinam , y just tested and works fine, i just selected 'suresh' and return 'Joseph':

 

 

QFabian_0-1605533741637.png

 

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.
RaghuRathinam
Partner - Contributor II
Partner - Contributor II
Author

@QFabian 

Can you please provide the QVF file ? 

QFabian
MVP
MVP

Sure!, here it is

Greetings!! Fabián Quezada (QFabian)
did it work for you? give like and mark the solution as accepted.