Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello Everyone,
I have a case where the data looks like this exemple :
Product Number | Characteristics | Value |
1101 | Color | Blue |
1102 | Color | Green |
1105 | Size | S |
1104 | Size | M |
1103 | Size | L |
1102 | Size | XL |
1101 | Size | XXL |
1102 | Length | 50'' |
1103 | Length | 30'' |
1101 | Length | 20'' |
I would like to be able to show a first filter pane that shows all the characteristics :
Then when I choose for instance Color and Length, I want that 2 filter pane "showed up" with specifics values
Finally when I choose Blue and XXL, I would like to see the results of product number here 1101 in a table :
screen caps are only for final visualization
Don't know at the time if it is possible but any help would be appreciated,
thanks in advance.
#QlikSense #FilterPane #DataFiltering
@Eugene81 for that you first need to transform Rows to the column.
Data:
Load * Inline [
Product Number Characteristics Value
1101 Color Blue
1102 Color Green
1105 Size S
1104 Size M
1103 Size L
1102 Size XL
1101 Size XXL
1102 Length 50''
1103 Length 30''
1101 Length 20''](delimiter is '\t');
// It will be used for filter, and stay as Island table
Characteristics:
Load FieldValue('Characteristics',RecNo()) as Characteristics
AutoGenerate FieldValueCount('Characteristics');
Final:
Load FieldValue('Product Number',RecNo()) as [Product Number]
AutoGenerate FieldValueCount('Product Number');
let vCounter =1;
let vCount_Characteristics = FieldValueCount('Characteristics');
do while vCounter <= vCount_Characteristics
let vCharacteristics = FieldValue('Characteristics',vCounter);
Left Join(Final)
Load [Product Number],
Value as [$(vCharacteristics)]
Resident Data
where Characteristics = '$(vCharacteristics)';
let vCounter = vCounter+1;
let vCharacteristics =Null();
Loop
Drop Table Data;
1) Add characteristics to the filter object. (From Island table)
2) Add 3 container with 3 filter objects for Color, Size and Length. Color,Size and Length now will be separate column in the table.
3) Put below show condition for individual container filter
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Color*') // Color
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Size*') //Size
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Length*') //Length
@Eugene81 You can follow below steps
1) Add characteristics to the filter object.
2) Add 3 container with 3 filter objects for color, size and length with below expressions
=aggr(only({<Characteristics={"Color"}>}Value),Value) // Color
=aggr(only({<Characteristics={"Size"}>}Value),Value) //Size
=aggr(only({<Characteristics={"Length"}>}Value),Value) //Length
3) Put below show condition for individual container filter
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Color*') // Color
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Size*') //Size
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Length*') //Length
Thank you Kushal_Chawda.
It works great to show filter pane with possible value
But when i choose Blue in color (the first filter pane) the two other (Size and length) are blank now
@Eugene81 for that you first need to transform Rows to the column.
Data:
Load * Inline [
Product Number Characteristics Value
1101 Color Blue
1102 Color Green
1105 Size S
1104 Size M
1103 Size L
1102 Size XL
1101 Size XXL
1102 Length 50''
1103 Length 30''
1101 Length 20''](delimiter is '\t');
// It will be used for filter, and stay as Island table
Characteristics:
Load FieldValue('Characteristics',RecNo()) as Characteristics
AutoGenerate FieldValueCount('Characteristics');
Final:
Load FieldValue('Product Number',RecNo()) as [Product Number]
AutoGenerate FieldValueCount('Product Number');
let vCounter =1;
let vCount_Characteristics = FieldValueCount('Characteristics');
do while vCounter <= vCount_Characteristics
let vCharacteristics = FieldValue('Characteristics',vCounter);
Left Join(Final)
Load [Product Number],
Value as [$(vCharacteristics)]
Resident Data
where Characteristics = '$(vCharacteristics)';
let vCounter = vCounter+1;
let vCharacteristics =Null();
Loop
Drop Table Data;
1) Add characteristics to the filter object. (From Island table)
2) Add 3 container with 3 filter objects for Color, Size and Length. Color,Size and Length now will be separate column in the table.
3) Put below show condition for individual container filter
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Color*') // Color
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Size*') //Size
=GetSelectedCount(Characteristics)>0 and WildMatch(GetFieldSelections(Characteristics),'*Length*') //Length
It's perfect, thank you my friend !
glad it worked