I was fortunate enough to attend a Qlik briefing last week and this post is targeted at some of my observations about that product and the offering (or approach) that Qlik takes to the market. To be explicit, these observations are my own thoughts and were, in no way dependent on the briefing.
The perception of most folk that I discuss Qlik with is that the product is a departmental solution and “hard core” BI pro’s dismiss it as a trivial product. Similarly, these emotions are projected to other self-service products (Tableau, Spotfire etc). They suggest that Qlik could never handle the scale that enterprise solutions require (or so the argument goes) and possibly this may have been the case in resource constrained environments. Is this consideration only applicable only to Qlik? – I’m not so sure…. actually, of course NOT.
The question of this scalability is one that seems most relevant given Qlik’s history. Why? Because Qlik applications embed their data with the presentation engine (exactly the same approach as Power BI). Looking at the industry, it is interesting to see that in the last 2-3 years this approach has now become accepted as the norm (dare I suggest recommended) and the proponents of ‘its not enterprise’ are quiet.
Qlik seems to have this scalability concern covered with clustering and load balancing capabilities (of course I have not tested this against any large datasets). Notwithstanding that, I have no reason to expect that their ability would not provide enterprise grade solutions or performance.
Now onto the product. Qlik’s approach is to build applications based around data – developers/users connect & import their data to the workbook (or application) and then chose various presentation methods to present it to end users. Again, I think this is so similar to the concepts of Power BI and specifically, the development of an “Excel Application” that conceptually, the two approaches are indistinguishable. For me this is a very important clarification because a very large number of visitors to this site search for methods to integrate and create those Excel Applications. Managing the worksheet objects through VBA is a very common requirement and suggests that the concept of an Excel application (or reporting pack) is alive and well (still).
The Data Driven App
One of the impressive features of the Qlik data is the idea of an associative model. If you look at the image below you’ll notice that there are relationships between tables and (as we would expect) this causes filtering at the data level. A really interesting feature of this model is that it is bi-directional and the concept of a key table (lookup table) with a unique key in a one way relationship is not required. This means that many-to-many relationships are handled intuitively by the data model.
Actually, the idea of ‘modelling’ is redundant in Qlik because there is really nothing for a traditional modeller to do. Data is loaded and relationships are automatically created between between tables based on field names. This extends to relationships that would otherwise be created between composite fields (multiple columns).
Continuing with the idea of a developing a data driven application – controls access the underlying model an and either restrict visibility (if data elements are chosen) or display the current data set (for example display a visualisation based on the active filter). Here is where I think the ‘developer’ has some real power.
Just as in the development of an Excel application you can add tabs (additional pages with different controls) and, in a similar way to the usage of a slicer/pivot connection apply filters across the entire application. The great thing is that the controls are so powerful and customisable that the developer really has an open slate to design the application the way they want. For example (as below), you can include a spark chart in a list box and set its order by any value. Everything seems to be customisable visually: backgrounds, fonts (with visual cues), headings … its all there.
Other Cool Features
There were a few other cool features that I thought the product had and are worthy of mention. The first is search controls. Here (as below), you can filter your data by searching for values, and a search is applied to all data in the model. Say for example, I’m looking for ‘%ar%’. Using the search control shows any occurrences of Ar something in my entire model.
There is also a really neat screen sharing option. Here’s the business case. Say for example, I’m doing some analysis and I want to talk about an issue with an associate – I can send them a URL so they can see my Qlik application in a browser as I do (even as I make changes). Its effectively an terminal service of my screen. Really cool 🙂
Finally (and I’m sure this list is not exhaustive), there is the ability to annotate and snapshot the application. For example, you can send an email to your associate with comments/instructions (that are also stored in the app) and include a ‘snapshot’ that opens the application with the same filters that you had (and the same data).
There are some great features for developing an application and I think that’s the key word. Its designed to build and application for users so in my mind its not what we would call a data discovery tool. But oh…. such power and (I’m sure) these features have only scratched the surface. 🙂