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:
- Looping through each field name from all the dimension table(s). While excluding any unwanted fields.
- Store all the field names in the Excel file.
- Use “$Field” meta data field
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”.
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.
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.