In part four of my Back to Basics series I am looking at keeping things simple. It is said a picture tells a thousand words – but often with a dashboard brevity is key. Perhaps you need only say ‘Raise Prices’ or ‘Something’s Broken’. How should you aim to achieve this in your own dashboards?
At the end of last year I uploaded the Quick Intelligence Christmas Card, which included an image of a dashboard with a gauge chart and a pie chart (you can view the card here). Not something I would look to do in a production document and something that Gysbert Wassenaar quite rightly picked me up on. He pointed me towards Stephen Few’s Information Dashboard Design – a text I am familiar with and highly recommend. In fact when I first read the book it caused me to want to go back and revisit some of my previous work to clean it up and make it more clear and concise. This really is the key to the effective presentation of data.
I have already blogged and uploaded a video tutorial on how you can clean up your charts, which covers chart junk in the form of caption icons, unnecessary shading and colours and a general attention to detail. Stephen Redmond has also recently blogged on KPI Approaches, advising alternatives to the gauge chart. I will not attempt to retread either of these paths here, rather suggest the simplest tool for presenting data in QlikView – the humble Text Box.
As I mentioned in my post about caption bars anywhere you see an ellipses (…) in QlikView you can insert an expression. This is true of a text box. We can therefore make text boxes a more efficient representation of data.
Take my offending gauge:
This can be adequately be replaced by the following text boxes:
The eagle eyed among you have probably noticed that I needed to put two text boxes in here, as you can not change size, font or style in a single text box. The background and title are one text box (with alignment top and 6pt text margin) and the percentage is a transparent text box on top. The expression in our percentage text box is simply: =num(1 – vNice, ‘#,##0.0%’) – the bulk of the calculation being in a variable, and the num function doing the formatting of the number to be a percentage to 1 dp.
We can encode further information into the text box by changing the colour of the background based on the value, mimicking the segment of the gauge the needle falls into:
This colour can be achieved by setting a calculated colour on the text box with the legend . The code for which is:
=if(vNice > 0.6, $(vGreen), if(vNice > 0.2, $(vOrange), $(vRed)))
Note the use of variables for storing defaults for colours as well as the expressions – this makes code re-use much easier. I will have to do a future post on the use of variables.
To make the text box even more useful it (or in this case, they) should also have actions attached that allow the user to drill into the detail about that number or fact. Perhaps in this case a breakdown of which countries have the highest percentage of naughty children. This could be achieved by changing the tab that the user was on or using a show / hide variable on a chart object (see my post on Buttons for more information on this).
I used this approach to, I believe, good effect when asked to produce a wall board display of QlikView system status for a customer (who has kindly allowed me to reproduce the dashboard here). Feeds are brought in from different apps, including CAL usage, the file system and QlikView Distribution logs and aggregated onto a single screen. The app also fires alert emails when error conditions are encountered:
Most of the objects on this page are text boxes, the exception being a simple table in the top right which has it’s borders and captions removed. The three main numbers select that type of issue and then go to a tab giving the breakdown of those items. There are also links to other QlikView apps that contain more information that could be useful in resolving issues. There are also show conditions on the table and the links, so these don’t display on the wall board machine making it fit on the low-resolution panel on the wall and removing links that can not actually be clicked.
To get back to to the point of this article, think carefully about what object you use to convey information. Often the most simple approach is the one that will be the most effective. Keep things simple and your QlikView documents will be all the better for it.
 I should also point out that Barry Harmsen mentioned that the level of naughtiness in my dashboard was far too high to still be in the amber segment and I should perhaps be less tolerant of such behaviour. All I was doing was trying to create an amusing card!