Qlik Community

Qlik Sense Enterprise Documents & Videos

Documents & videos about Qlik Sense.

Embedding a QlikView object into Qlik Sense

Employee
Employee

Embedding a QlikView object into Qlik Sense

fyi: This method uses an iframe and singleobject.htm with computed querystrings to integrate into a Sense page....

The QlikView object is in a separate name-space, responds to the selections in Sense, but not other way around. It is "read only"


Screenshot 2014-11-07 11.11.28.png

Assuming you have both, Sense and a QlikView Server, then you can embed an object from QlikView in Sense and have it respond to the selections in Sense. (Selections in the QlikView object are not carried to Sense, so I made the object itself "ReadOnly").

You don't need much to do this, the cornerstones are the following and I show this in the attached video.

  • Model the data first in QlikView, since the QVW file will be binary-loaded and looked up for XML-meta information from Sense
  • Create the QV object(s) you'd like to embed
  • Create Listboxes for all fields in that QVW with the help of the attached short macro. Ctrl+M to open Macro editor, paste this and hit "Test" to execute it).
    • In order to get this work, it does not matter which ID those listboxes will get assigned
    • It does not matter if some fields have already other listboxes
    • It does not matter on which worksheet those listboxes are placed
  • Create a bookmark called "ClearAll" which has No Selection
  • install the attached extension into the Qlik Sense Extension Folder (for Sense Desktop this is  C:\Users\<username>\Documents\Qlik\Sense\Extensions)
  • Edit the script of the Sense App
  • Paste the script code snippet attached in text file "Sense Load Script.txt"
  • Define the variable vSourceQVW (uncomment the first line, reload once, then comment out the first line again
  • Correct the URL to the above .qvw file (where it is found on the AccessPoint)
  • Define the Chart ID in the script variable vQV_URL
  • Sense will load the same data as found in the QVW (because of BINARY statement) and it will scan the XML footer of the QVW for the Id's of the Listboxes and the Bookmark.
    • (It will create a island table with two fields $$FIELD and $$OBJECTID to dynamically look up which field has a selection and which listbox is associated with it in QlikView)
    • It will create a complex formula into variable @PassCurrSel, which is converting the current selections into a working QueryString for the singledoc.htm url.
  • Open Sense worksheet
  • Drag the object type "QV Object" into a worksheet in Sense and in the Property "Dynamic URL" enter this formula:

=vQV_URL & $(=$(@PassCurrSel))

That's it. The single-object mode (run in an iframe) will refresh with every selection from the (outer) Sense page.

The only values which cannot be selected via this url are text values which contain a single quote '

>> See attached SWF video

Tags (1)
Attachments
Comments
MVP
MVP

Interesting solution! How is the other way 'round? Showing Qlik Sense Objects in QlikView?

richbyard
New Contributor III

Hi Christof,

Very interesting approach and I have a few use cases this could help address...

Are you able to attach the QVW and QVF files as an example? Quicker than reinventing the wheel.

Thanks
Richard

Employee
Employee

Good point. I added the sample files, .QVW and .QVS. Put the .QVW in the public folder of the QlikView SccessPoint and adjust the variable vQV_URL to point to the web address of that particular app on the AccessPoint

richbyard
New Contributor III

Awesome, thanks Christof.

I have a query around authentication that perhaps you can help with as I have done something similar to get on demand N Printing working but with a less complex string creation for the iframe. I can get it working when I have anonymous access on the QlikView side but we have been wondering how we would set things up to pass credentiuals/tickets through the string. If you have dealt with this I'd love to hear of your approach.

Thanks again

Richard

richbyard
New Contributor III

Ha, that ClearAll bookmark got me for a while. I should read the instructions more carefully

Thanks for posting this as it's quite simple to implement and could be very useful for a few use cases where the customer is really not web enabled enough to look at custom extentions for each specific chart.


We'll be looking at security early next month so if you have any comments on this from your researchwe'd love to hear them.

Version history
Revision #:
1 of 1
Last update:
‎11-06-2014 04:39 PM
Updated by: