Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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
Specialist III
Specialist III

Hi @RaghuRathinam 

try this please :

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

QFabian
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
Specialist III
Specialist III

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

 

 

QFabian_0-1605533741637.png

 

QFabian
RaghuRathinam
Partner - Contributor II
Partner - Contributor II
Author

@QFabian 

Can you please provide the QVF file ? 

QFabian
Specialist III
Specialist III

Sure!, here it is

QFabian