Currently, we live in a world dominated by multitude of devices including “Internet of Things” (IoT)which is contributing to a massive accumulation of data by organizations. When utilized properly, this data has the potential to influence every aspect of our life – from suggesting a restaurant for dinner to mapping a safe flight path for a Boeing 747 jumbo jet. Organizations that tap into the insights provided by these large volumes of data, and then transform themselves into data driven organizations, have the potential to dominate or disrupt the competition in their industries. Proper analysis and understanding of data will enable these organizations to make proper decisions at correct times. Business Intelligence (BI) tools have been helping make sense of such data for a while. Historically, BI tools have been IT-driven solutions, but the crop of BI tools with self-service and visualization capabilities have increased the rate of adoption among users.
Data visualization is the process of representing data in graphical format, so that it is more intuitive and more easily accessible for users. In today’s data driven world, data visualization plays a major role in analysis, research, education, and development. There are many data visualization tools available in the market today that will help us analyze the data better. Here, I am going to briefly discuss one product called Qlik® Sense and how to integrate it into our own application environment. We at Expeed Software has been using Qlik Sense for a while as one of the tools for providing analytical solutions to our customers.
As per Qlik’s website, they “take raw data from all corners of your enterprise and transform it into analytics-ready information that everyone can explore.” Qlik Sense is a web-based analytics tool that can be deployed on premise or on the cloud. Qlik can be used as an independent tool or it can be embedded within your application. Embedding within applications that are part of a user’s daily workflow makes it easy for the user to make impactful decisions as part of their daily work, without having to switch to a standalone BI tool. That improves the productivity of the user, as embedded Qlik becomes part of their natural daily workflow.
Like the most common scenario with 3rd party analytics tools, we initially started using Qlik Sense as a standalone installation for some teams to analyze their data while implementing for one of our customers. But later, once we became comfortable with how and what Qlik Sense is able to do, we decided to integrate Qlik reports into their main web application. Qlik Sense supports different levels of integration with other applications. Given the right tools, some of these integrations can be achieved even without the involvement of a programmer.We enabled teams that are well-versed in data to generate and publish Qlik reports on their own. This wasn’t the case before. Any custom visualization required a developer’s involvement to get it published.
Below I am going to discuss some of the common ways to integrate a Qlik visualization into a web application.
In my opinion, this is the easiest way to integrating a Qlik app into a web-application. As the name suggests, we can embed a Qlik app, sheet, or even individual objects into an iFrame using specific URLs.With the help of different parameters, we can control what is getting displayed on the screen.
Different parameters that control the display are:
- App ID– identifies which app to load
- Sheet ID– use this if you want to show individual Sheet
- Options– to apply “clearselections” parameter to clear all the previous selection before you apply yours
- Select– use this parameter to apply different filters on your visualization
- Bookmark– to apply a bookmark at the time of loading
This is a sample URL from the Qlik sense help that shows the application of the different parameters:
As you can see from the example above, you have the option to pass multiple values to a filter by separating them using a semi column (;). We created a configuration screen in our web application where data analysts can add their report by giving the URL to their Qlik app along with the required parameters. And when users login to see their data, we can easily load the corresponding iFrame URL and display the visualization.
You can manipulate the display by accepting different filter parameters or bookmarks from users through your application and pass it along to Qlik Sense through URL parameters. You can make use of the Engine APIs to get a list of available bookmarks. One (dis)advantage of this approach is that we cannot really control what users do inside the Qlik app. They will still be able to navigate and switch between different sheets.
To create a Mashup, go to Dev-Hub in Qlik Sense and click on Mashup Editor and choose Default Template while creating a mashup. This will automatically create all the necessary files for a Mashup.
It contains a.qext file which holds all the metadata
An HTML file with the UI components
A CSS file
You can also choose a custom template while creating a Mashup. You can upload custom Mashup templates in the Extensions section of the QMC to be reused across multiple Mashups.
If there is a change in the template, you will have to delete the existing template and re-upload the modified one, as Qlik Sense won’t let you upload two extensions with the same name.
Once a Mashup is created, you can share its URL with other users or embed it in your application through an iFrame.
This is another easy way to integrate a Qlik visualization into your application. The major difference between Single integration and iFrame integration is that in Single integration you have the option to control some of the behavioral aspects of the visualization, like disabling selections or interactions.This way we can control how the visualization is being presented to the user. Based on the options you select; the single configurator will create a custom URL that will display the selected object, and you can embed that URL in an iFrame in your application. Single configurator will essentially create a simple Mashup without having to write any code. The available options in a single configurator are given below.
Another interesting way to integrate Qlik into your application is through Qlik APIs. Qlik provides an array of APIs under different sections. You can use enigma.js to call Qlik Engine APIs from your application. This is very useful when you want to build your own analytical tool that is deeply coupled with your application.You can have your data analytics team build a complex Qlik app with all the required formulas and transforms, and you can use the Engine APIs to retrieve data from Qlik and use it in your own visualizations.
In this approach, we are taking advantage of the powerful Qlik analytics engine to do all the heavy lifting and using the output to create our own analysis tool.We can distribute the effort effectively by having people who are well-versed in data build the cruncher in Qlik and allow the developers to use its output to build a stunning visualization that is embedded in your application.
Qlik Sense is a pretty powerful and easy to use Data Analytics engine. We can train different teams on how to build apps and create different type of visualizations. Once these visualizations are built, it can be customized (Mashup), used as-is (iFrame/Single configuration), or used just as a data processor that gives you pre-compiled results to be used in your application (APIs). There are many ways to integrate Qlik Sense into your applications and in the above article I discussed a few common and easy ways to do it.
Some parts of this blog post were referenced from: