If you come from a Qlikview background, you may have mixed emotions about your first Qlik Sense implementations.. maybe it looked something like this:
Design specification or reporting pack provided by business that needs to be put into Qlik Sense.
Traditional Qlikview developer bangs head against wall building app to given design specification. Usually complaining about missing functionality for what they could do with Qlikview. Finds extensions and messy work arounds to achieve the requirements. It's frustrating, and you miss Qlikview or they begin to think other tools are needed.
App is released, the users think its great, but it just doesn't deliver the detailed functionality they were expecting based on the requirements gathering exercise, maybe the colors are not completely there, or maybe they want a slightly different layout.
The problem with this...
This is not a data driven process or self service, this is an attempt to use a new self service tool (Qlik Sense) with a traditional process of data reporting and dashboard production from a central function. Only using Qlik for it's wizzy filtering mechanism (associative engine).
There is another way! When your feeling brave one day, try this alternative approach to implementing Qlik Sense in an enterprise environment and see what happens:
1) Identify Prioritised List of Key Business Questions
The starting point of any native Qlik Sense implementation is to understand how you are adding value to the business by building an interactive dashboard.
This can be done by identifying a prioritised list of key business questions you are wanting to answer. These key business questions can often seem abstract, but it is rare that they are not already front of mind for most dashboard sponsors or business execs. Some examples of key business questions:
"How do I reduce length of stay in a hospital ward?"
"Where can I cut costs to increase my margin?"
"Where is the best place to invest to enable long term revenue growth?"
This task will require a higher level of conversation than most technically skilled people are willing to participate in, don't be scared, take an interest in the business, dress to impress and dive in.
This is actually more suited to someone from with industry knowledge expertise, business consulting or strategic background than a traditional Qlikview developer.
One way of doing this is to run a data discovery workshop.
This part is actually relatively straight forward to identify, the difficult part is usually...
2) Identify Measures and Dimensions support the Key Business Questions
Again this can be done without even using Qlik Sense yet, you need to clarify what key dimensions and measures are going to drive the answers to the key business questions. This does not have to be exact, but it should be a clearly defined list.
Use your data sources for inspiration. Check out this post on what are dimensions and measures in Qlik Sense? (Coming Soon)
3) Identify Data Sources to Support the Dimensions and Measures
The second phase is to identify the data sources for each question, they don't have to be perfect or organised into warehouses, lakes, ponds, hives.. they could just be written on paper or maybe they do not currently exist at all.
We may even be the ones creating the data source for now, the point is they must be identified or we must consider a way to get the data from an external source. Of which there are plenty - Qlik data market, google APIs, wikipedia etc. A lot of value can be added from bringing in external data.
4) Load Data Into Qlik Sense
Use the Qlik Sense Data Manager to bring the data in and start to connect the data together based on common fields, if you would like to know more on how to approach this - check out using the data manager post (coming soon).
You may or may not need to delve into the data editor at this stage, think seriously about the total data quantities you want to load into Qlik, this will have implications, check out this post about app optimisation for self service (coming soon). If your thought process is clear, it is usually a relatively painless task to perform this step without the load script editor.
It is not uncommon at this stage to identify further dimensions and measures from the data source.
Note: Data manager in Qlik Sense was relatively useless before November 2017 Release, so if you are using a version before that you may need to use the load script first.
5) Populate the Master Item library
DO NOT SKIP THIS STEP! This largely comes down to loading in the data sources you identified earlier and going through the list of fields to work out which are dimensions, and which will be required to perform calculations.
Add well thought out descriptions to your dimemensions and measures and tag your items. If there is a best practice in Qlik Sense, it is to use Master items religiously when possible. Check this post on why the master items library is core to everything (Coming Soon)
6) Create Base Sheets and Stories
On Qlik Sense Server, base sheets and stories are used as a start point by users in a published app for them to begin creating their own sheets and stories. It is the 'golden source'.
Using the key business questions identified, begin building your app from those, if you find yourself attempting to do precision layout of nitty gritty config of charts, try and use a story instead of a sheet to fulfil your requirement.
Do not forget the power of the Qlik Sense Stories, they have some key benefits:
- They are more flexible in terms of layout
- They provide a place to store written narrative
- They can use snapshots which do not change on reload
- They also fit nicely into existing powerpoint based working processes.
Stories are often overlooked, but they are just as valid as dashboard sheets and it is fair to spend at least as much time creating good base stories as people spend making sheets.
7) Publish the Qlik Sense App
The app is then published with minimal validation at this Proof of concept (POC) stage and given to a wider audience. This is the part where it becomes interesting.
The users then have the ability to use those standard sheets, stories, visualisations, dimensions and measures to build their own stuff and use the base sheets as a basis and referral point.
Thats it! your baby has all grown up,** its time to let go**. It's no longer yours to control. Users will have their own versions of dashboards and stories, and they will likely do things that may baffle and confuse you, and not be as you originally hoped.
I can hear you now..
"they will blow up the server doing this"
"we can't have everyone building dashboards thats insane"
"it will become like excel hell all over again"
"What if they build something that doesn't work?"
If you are thinking these things... remember
The end users may feel in complete control of their creations, but the truth is it is now completely governed by the master items library that was originally created.
The real value of Qlik Sense is it's ability to create the illusion of control for end users.
You are still in complete control to update measures and dimensions and have those be reflected in all of the users creations, Qlik Sense naturally manages these user creations through the use of private and community worksheets and stories.
So instead of feeling scared that people are not following standards, consider it a compliment that people are taking your Qlik Sense app and have seen enough value in it to modify it and make it their own!
The new role of the Qlik Developer is that of facilitator not dashboard builder. The Qlik Sense developer is the original app creator and the custodian of a small sandpit that your end users are going to build their castles in. The Qlik developer is no longer just a dashboard builder.
So this approach brings up a question.. if you are letting all these users create their own charts with different combinations of dimensions and measures, how do you test that?
This does change the game in terms of testing and I will cover that in an upcoming post:
You may also be interested in this post..