Using Extensions and Custom Objects to Supplement your Qlik Sense Experience
by Chris Casby
Hello everybody! I am back after a not-so-restful hiatus! I know, I know, it’s been a few months, maybe more. But you know how life can get in the way of things. It’s been a bit of a bumpy ride getting accustomed to my new living and working situations, but here I am! I know that you have been anxiously awaiting yet another post filled with alliterative advocacy of all aspects of awful writing, but I promise, that was it. Now that we’ve said our hellos, let’s get to the meat of today’s post: EXTENSIONS!
Today, I am going to introduce you to a simple extension for Qlik Sense and how to add it to your toolbox to get the most out of your app, and in this case the user! This particular extension allows us to add an Input prompt to our UI and define a dynamic variable with it. When the user types in the prompt box, the entered value defines a variable that we can then use in other chart objects within our UI.
First, click this link:
Input Box which updates a Variable in Qlik Sense created by Sangram
It takes us to a Qlik Branch offering by Qlik user Sangram Reddy. At the link above, you will see a quick description of the extension and multiple comments with questions that Sangram happily answers and actually goes to great length to help users with issues they are encountering. If you want to skip that, just click this link for the actual extension.
The link will take you to a OneDrive that Sangram had made available to the public. Click on the icon labeled ‘SR_Input_Box’. It should take you to a screen that looks similar to this:
Make sure that you click all the checkmarks in the top right of each file and click download at the top, or right-click on your mouse and scroll down to download. You should see this:
(NOTE: Yours will, in all likelihood, not be called this. It is a dynamic and generic naming convention. Yours should read OneDrive – date you downloaded this.zip.)
Make sure the ‘Save File’ radial button is selected and click ‘OK’. Open your download folder in your Windows Explorer. It should look something like this:
Notice the green highlight in the image. If your screen looks like the above image, you know that we’ve opened the Download folder and the text highlighted in green is our path. We will be referencing the path again, so just make a mental note of where it is.
With all Qlik extensions, we need to make sure that it ends up in the correct folder so that Qlik can find it. We want to make sure the OneDrive-2017-04-19.zip file is appropriately relocated to the Extentions folder in our Qlik folder. Highlight the zip file by clicking on it. Right-click and scroll down to ‘Cut’. On the right hand side of your Windows Explorer window, you should see the various locations and folders on your computer or network. Find where your Qlik documents are stored and open that folder. Mine are stored in my Documents folder under This PC. Double-click the ‘Qlik’ folder, then ‘Sense’ and then ‘Extensions’. Once you’re in the Extensions folder, right-click in an open space and scroll down to ‘Paste’. Your zip file should appear. Your screen should look like this:
(NOTE: Notice the path highlighted in green.)
Now, right-click on the ZIP folder labeled OneDrive-2017-04-19.zip and scroll down to ‘Extract All’ and select it. Your screen should look something like this, with the exception of the file name:
DO NOT CLICK ‘EXTRACT’! I just wanted to make sure we were still on the same page. We will be extracting the file, but we want to name the folder something other than OneDrive-2017-04-17 or whatever date your file has as its name. Because we want to know what extention it is, delete the OneDrive zip file name and Type ‘InputBoxSR’. That will be the new folder name and make it easier for us to identify should we need to find it in the future. Your screen should look like this:
Here I have both folders opened and cascading to show where your extension is located and the files that the extension is comprised of.
Now let’s put our new extension to work! If you have Qlik Sense open already, close it and re-open it. Open an existing application or create a new one. Click the ‘Edit’ button at the top. In the assets panel on the left of your screen, you should see a little jigsaw puzzle piece under the ‘Charts’ icon. This is the ‘Custom Objects’ icon. If you click it, you will see a dropdown menu appear that should look something like this:
For the purpose of this example, I wanted to keep things fairly simple. We will construct two chart objects. The first will be an input box, using the extension we just installed, that will prompt the user to give us a value. The value the user puts in will define a variable. The second chart object we create will use the variable that was defined in the input box.
To construct the first object, simply click the ‘Custom Objects’ icon, scroll down and double-click ‘Input_Box_SR’. You should see your input window appear in your UI workspace as shown here.
You should see the Update Variable Name window in the properties menu on the right side of your screen. In the image, I’ve already populated the variable name as vInput. Feel free to use whatever variable name you are comfortable with. Below that you should see the default(when empty) window. I’ve entered ‘0’. The value in this window is what will be applied to the variable if the input box is not populated by the user.
The second chart object will be a just a text box displaying the variable that we defined with the input box, vInput. (Notice, the chart object properties panel indicates that the named variable will be updated. You will need to create a new variable, in this case called vInput, and give it no value. The value will be updated with the user input value.)
This is what your screen should look like.
Notice the expression. We’ve used the dollar sign expansion and the vInput variable to be calculated for this text box.
When we go into the UI, if we enter a numeric value into the input box, the text box should populate with that value. Let’s check it out.
Looks like it works! This should be useful in building dashboards where you need input from the user to identify what data to display. You can reference the variable you define in the Input box in your expressions. As our simple chart object illustrates, as you change the value in the input box, expressions calculated with the defined variable should change, as well!
I hope you found this useful, either as a simple introduction to extensions or as a new tool for you to use in your visualizations! Until next time!
If you missed my first blog, you can check it out here.