There are many scenarios where it is necessary to process QlikView data with other systems. There are many approaches and examples available how this can be achieved using Macros (based on the QlikView IE-Plugin) but this article cover how you can realize such a requirement by using only the QlikView Ajax client.
Let’s first talk about some of the scenarios where passing data from QlikView to other systems is necessary. Just some sample requirements:
- Export to a relational database management system
- Creating Excel sheets (with more logic than the standard Excel export of QlikView provides)
- Processing QlikView data with other system
- Exporting QlikView data to cloud system like salesforce.com, Amazon, etc.
The Web Based Approach Using QlikView Extensions
Sure, you can realize most of the scenarios above using macros and the QlikView IE-Plugin …
But my intention was to create a prototype to demonstrate an approach which can be used for all scenarios with as less as possible modifications.
- I have created a QlikView object extension which displays dimensions and expressions and offers the possibility to select data
- Then there is a button within that extension which triggers the process of posting all data displayed within the extension to a web service. The Url of that web service can be defined within the extension.
- The referenced web service receives these data and is capable processing the data to any system which offers APIs (this requires manual coding depending on the desired target system)
Data2Webservice Object Extension – Step by Step:
Follow these steps to get the Data2Webservice object extension to work:
1) Installation and preparation
Installing and dragging the Data2Webservice object extension onto your QlikView document is straightforward as described in this article. In addition you have to prepare the web service which can be referenced by the extension.
(As a starting point you can use the sample web service provided with the code of this article)
2) Define Dimensions and Expressions
Define the desired dimensions and expressions as if you were using a standard QlikView object:
3) Additional Extension properties
Finally set some properties:
A Sample Web Service:
I have created a sample web service which can be used as a starting point for working with data posted by the Data2Webservice extension.
First of all I have created some classes (in C#/.net) which should make it easier to work with the passed data table in a structured way. The screenshot below displays the class hierarchy within the sample web service:
Using this classes makes it easy to process the data as demonstrated below:
Since this is just a prototype there are a lot of improvements which I could think of:
- Enhance the experience of the table (fixed column headers, etc.)
- Provide samples for server side processing (Excel generation, saving to a database, etc.)
- Better handling of web service return codes (in case of success AND failure)
Tested with …
I have tested the extension using:
- QlikView 11 SR2 (x64), both using the QlikView Desktop Client and QlikView Server
- Internet Explorer 9
- Chrome 22
- Firefox 15
You’ll find the source code for both the extension and a sample webservice on GitHub: