QlikView is popular for its association property. It associates every table based on their common fields automatically. This property is very helpful if the data is straightforward but what if data is complex? Here is my experience with QlikView’s association property when I was working on complex data.
Recently I was working on one of the QlikView dashboards. My requirement was to create a dynamic chart based on the dimensions and measures that I select.
The base tables I had were as below:
- Table 1 – There were 3 columns in this table. List of tables and their respective columns along with an indicator whether the column is a dimension or a measure.
- Table 2 – The data for each of Person table.
- Table 3 – The data for each of Product table.
- Table 4 – The data for each of Sales table.
QlikView charts require columns to be split into dimensions & measures. This increases complexity further. In order to create a dynamic chart, I split the dimensions and measures into two different list boxes. But whenever I used to select a particular dimension, I could not select related measure. The associative property, the USP of Qlikview was not helping me at all!
How did associativity work in this case?
After a little digging, I understood the whole scenario! Table 1 had 3 columns – Table Names, Column Names and Column Type. Column Names had dimensions and measures in the same column. Because of the associative property on selecting dimension measures used to get disabled and vice versa. As a result of which I could not use associative property of QikView, fully!
The Way Around
My requirement was a simple one but due to QlikView’s associative property, it turned out to be a complex one. I had to spend a lot of time to solve this problem. After trying a few solutions in the list box expressions. Eventually, I found that the solution is to change the load script.
The Table Name and Dimensions were extracted in the first Script. Then the table Name and Expressions were extracted. Since Table Name was common, the associative property helped me finally! So instead of one load script, I had to use 2 separate scripts.
Now, the dashboard looked like this:
While working on this problem, I had another thought. Had the tool been PowerBI, it would have been a straightforward implementation for me. I would have completed this in half of the time than I spent on QlikView.
To test it out, I tried to replicate this scenario in Power BI. In power BI all I had to do is just to click on stop interaction tab to stop the association between these 2 list boxes. It took just a few clicks and less time to achieve this.
For this scenario, I think Power BI is a better tool. But I won’t discard QlikView, as it has its own strength in specific cases. Though associative property didn’t work in my case, the way of implementation matters most of the time. In any case, if we need to associate 2 or more tables we don’t have to worry how we are going to associate them. All of it can be easily handled by QlikView application.
Basically, this was one of the flaws I experienced while working on QlikView. Have you ever faced any such a flaw with QlikView and how you resolved it? I would love to know your experience! Connect with me here: LinkedIn