Qlik Community

QlikView Documents

Documents for QlikView related information.

Announcements
QlikView Fans! We’d love to hear from you.
Share your QlikView feedback with the product team… Click here to participate in our 5-minute survey.
Rules, plus terms and conditions, can be found here.

Advanced Filters: QlikView Design Technique

Luminary
Luminary

Advanced Filters: QlikView Design Technique

Source: http://qlikshare.com/advanced-filters-qlikview-design-principle/


Before building a dasbhboard or QlikView app, developer must consider the technical challenges relating to successful app design. Failing to build an app with such technicalities in mind could result in an app that many users find unprofessional and difficult to use. Technical issues here doesn’t mean data model challenges or writing complex expressions, we are talking about the design challenges. Lot of developers get excited solving the problem and most of the time they almost stop creative thinking after building the required data model.

No doubt building right data model is absolutely essential to unlock any insights, however some of the QlikView developers are inexperienced with the design skills and often unaware of the impact that layout, images and fonts have great impact on usability. Information and object overload is a sure fire way to collectively slow the app performance, and to bombard users with so many objects that they cannot possibly take it all in, resulting in user exporting the data from QlikView to Excel to build their work space.

Users have very short attention spans and we all are creatures of habits. So design consistency plays a major role in designing effective apps or dashboards. Filters generally come from the dimension tables which drive how users access the app. Most likely we will have dimensions from more than one table. Showing all the filters on the same sheet make the design clutter and most of the times it is almost impossible to show everything on the screen. I wanted to show you a simple yet effective way to show the filters within QlikView application. This is done using Named Value Pairs.



Step 1: Load all field names from dimensional tables into a new data island table. This can be done in three ways:

  1. Looping through each field name from all the dimension table(s). While excluding any unwanted fields.
  2. Store all the field names in the Excel file.
  3. Use “$Field” meta data field

Advanced_Filters_01



Step 2: Create a list box using one of the above options (In this example, I’m using “$Field”). Make sure to select “Always One Selected Value”.

Advanced_Filters_02



Step 3: Now, we will create Field Value, which is an expression instead of value. We will use the following expression which is double dollar expansion.

Advanced_Filters_03

Expression: =$(='[‘ & Only([$Field]) & ‘]’)

Note: Make sure to include both the “=” signs as shown above.



Step 4: When users select a value from “Field Name” field, they will see relevant field values in “Field Value” field. They are tightly linked as named value pairs. This is the reason why it is important to select “Always One Selected Value” property.

As you notice in the above expression, there are two dollar sign expansions. First dollar sign expansion will evaluate the “Field Name” and then second dollar sign expansion will return the field values for respective field.

As you can see in the below example, using just two list boxes we can dynamically show any number of dimension fields. If needed you can also show the frequency count of each field value. This is powerful technique which saves lot of space and simple to use.

Advanced_Filters_04


Comments
MVP
MVP

Hi Deepak,

One more good article from you.  Keep it up.

Regards,

jagan.

manojkulkarni
Valued Contributor II

good article..

bharath28
Contributor

Thanks for the information.

I think with this approach we loose the view of un-associated values in the list box, as we can enable only 1 field at a time, so selections on multiple fields are not possible.

However, it definitely saves lot of space

Luminary
Luminary

Bharath - This is meant to be used as advanced filters. You will have basic 10 or 20 most used dimension fields as filters anyway. Think about a situation where you have 100+ plus dimension fields.

Not applicable

Hi Deepak good article.. I have one question how you created the field using $field method could you  please explain how you done that..

Luminary
Luminary

Hi DV!!!

I always use this as default now in any QV apps I create! As part of my Flat Design series I also created a vlog on the subject QlikView Advanced Filters In Flat Design - YouTube

Rich

PS - Credit still goes to you though for showing me the technique!

ganeshreddy
Contributor III

Thanks Richard.

Not applicable

dvqlikview  ... I use this approach in my apps to reduce the number of objects on the sheet and easy of use and to save space, but i do see some impact on the performance when i have huge data sets and sheet is displaying a straight / pivot charts, when the selection is made to display the filter for first time, even though its an island table qlikview tries to recalculating the sheet.  any thoughts ?

Luminary
Luminary

Hi Srinivas,

That is natural behavior of the engine. Have you tried using data islands in alternate state? I haven't tried myself but that might help. Or other options is to design these filters in such a way that they take user to different sheet while using advanced filters and come back to main sheet after applying the filters. Generally, all the objects within the sheet are calculated.

Hope this makes sense.

Cheers,

DV

MVP
MVP

The one more approach is to create a Cyclic Group with all the required fields and use it in the List box.  Now by clicking the cyclic group icon we can achieve this more effectively, also there will be no performance issues.

Regards,

jagan.

Version history
Revision #:
1 of 1
Last update:
‎12-13-2015 05:00 PM
Updated by: