Thursday, January 31, 2019

More about QlikView Variables

Hello and welcome to everyone...!

In one of my last post, I have told you regarding basics of Variables in QlikView. If you have missed that, please check it out once.

In this article, I am going to cover the usage of variables and how we can use them in bookmarks.

Suppose we have a variable called, “vZoom”, which we are using in Input Box. Now, when we provide the value in the Input Box and save it as a Bookmark say B1, and then change few selections and again select the Bookmark B1, we will not be able to get the variable value in the Input Box.

To get the value in the Input Box, we have to do few settings like below –
  • Go to Settings > Document Properties
  • Variables Tab
  • Select the required variable from List and check the box “Include in Bookmarks”

Variables play an important role in Qlik. For Performance Improvement, there are few things with related to variables, which should be consider –

  • Once you have created your app, remove all unused and unneeded variables
  • Reuse the variables wherever possible
  • If same expression is getting calculated number of times, use it in variable and use the evaluated value in charts
  • Try to avoid number of variables for similar calculation
  • Not to use ‘=’ in Variable definition
That's it for this article, stay tuned, for more articles like this. 




Wednesday, January 30, 2019

Zooming Object in QlikView

Hello All,

Recently, I came across a scenario, where when we maximise any object in QlikView, it covers the whole screen and I don't want in the same way. Suppose, we we want to zoom an object to particular percentage, it will surely help so that other objects will also be visible.

We can achieve this, by creating two objects of same type, and show-hide the objects depending on click of a button.

Create a variable ‘vZoom’ with default value as ‘Y’ -



Now create a button, with following properties –



Create a radar chart like –

Now when user clicks on a ‘Zoom-In’ button, the radar chart should get maximise, so that all values should be properly visible.

Create a copy of the chart and zoom the chart to the level we want. Go to Properties of zoomed chart > Layout, Show > conditional as “vZoom='Y'”

Follow above step for first created chart and add the condition as “vZoom='N'”.
Click Apply > OK.

Now when you click on button, the behaviour will look like –



This kind of functionality can be useful when you are dealing with Maps.

That's it for this post. Stay tuned, for more articles...!!! 



Variables in QlikView

Hello All,

and welcome to another post of the blog series. You must have seen that I have changed the URL from 'shapeandqlikdata' to 'bishapes', the reason behind same, is I would like to cover topics not only related to Qlik but also w.r.t. complete BI. So check out his space for more and more articles related to BI industry. 

Coming back to the article, in this article I am going to tell you regarding Variables in QlikView. Variables play an important role in QlikView. They can store values, expressions etc. which can be used in the QlikView Document. We can easily create and delete variables from “Variable Overview” window –


Now suppose, we have 500 variables which we have stored in excel sheet and now we want to add those in QlikView. To add 500 variables in QlikView is a time consuming task.

To achieve this, we can follow below steps –
  • Suppose, we have a excel sheet with two columns as Value and Variable
  • We have to write below code to fetch the variables inside QlikView in the Edit Script part of QlikView

         Table_Variables:
         LOAD Text as Value,
         Variable
         FROM
         <excel file_name_along_with_location>
         (ooxml, embedded labels, table is <sheet_tab_name>);
         // Create variables
         for i = 0 to NoOfRows('Table_Variables') - 1

         let vName = peek('Variable', i, 'Table_Variables'); // Name of the variable
         let $(vName) = peek(' Value', i, 'Table_Variables') ;//& chr(10) & '/ $(vComment) /'; // Expression
         next I;

  • Reload the application
  • It will create all the variables in the QlikView along with Value

Benefits of using this method –
  • Saves time, as number of variables can be loaded within seconds
  • Maintaining variable values is easy
  • If there is change in any of the variable, we just have to drop the table and again use above code, to have fresh values of variables

That's it for this post, please provide your comments for any feedback or queries. 

Stay tuned for more articles...!!!


Friday, January 25, 2019

HidePrefix in QlikSense


Hello All...!!!

Today, we are going to discuss about Hide Prefix.

Most of us must have used the variable HidePrefix variable in QlikView, where we can set the text string to variable and all field names beginning with this text string will be hidden in the same manner as the system fields. This is a user-defined variable.

But, can we also achieve the same in QlikSense.
So here is a catch, we can achieve the same to some extent.

In order to restrict fields from the Selection Tool as well we will need to use the
SET HidePrefix = '_'; // for any field name that begins with _ will be hidden
or
SET HideSuffix = '_'; // for any field name that ends with _ will be hidden

and this should make the field invisible to the Selection Tool. 

So, now suppose, we have a table with values as –
And I would like to hide F2 and F3, so I rename the same and set the hideprefix and hidesuffix to- 

 I will not be able to see the fields F2 and F3 in the Selection Tool –

But when I say, to some extent, is because, if there is any user who knows the exact name of the field, he can still type it and use it from a filter pane.

That’s it for this blog post. Stay tuned, for more articles like this…!!!

Object ID in QlikSense

Hello All…!
As the name suggest, do you know whether the App Id or sheet Id is present or visible directly in QlikSense. Have you ever try to find out the URL meaning of the QlikSense Hub.
Whenever we open the sheet in an application in QlikSense hub, the URL looks like below –

Let me tell you the meaning of the URL –


The same object Ids, can also be fetch through the QMC, where in the Column Selector list, we have to check the box for ID –

Uses of Object Ids:
-       In the NPrinting Reporting, we need the App Id for creating a connection
-       No two applications will have same IDs, so to differentiate we should always use IDs
-       Ids can be used in creating Extensions, widgets etc.
-       In Mashups, for mapping purpose, we can update the code directly using Object Ids
-       In Security Rules, if we want to create any rule specific to any object, we can use the ID of same.
That’s it for today’s article. Stay tuned for more articles.


Document Analyzer in QlikSense | How to Use

Hello Everyone...!

In the last post, we have see how to install and what are the uses of Document Analyzer. If you have missed the same, please do read it, and provide your feedback for same.



Well, in this post, I am going to tell you how to use the Document Analyzer in QlikSense.


Below are the steps required to analyse the application:
1.       Open QlikSense Desktop


2.       Open “QS Document Analyzer vn.n” in Qlik Sense Desktop.


3.       Open Data Load editor
4.       In the Data connections, click on theicon of appmeta connector:



5.       Select the App from the Application list:

6.       Click on “Test Connection” > Save Changes > Load Data


7.       When the load completes, we can use the sheets to analyse and understand our application.

Hope this article helps. Stay tuned for more articles.

Thursday, January 24, 2019

Document Analyzer for QlikSense | Information and Installation

Hello once again...!

Do you want to improve the performance of your Qlik Application, want to check how each object is working in the app, how much memory is being utilised for each object, need to know the calculation time of each object in your Qlik application. Most of us might be knowing the app was available for QlikView, and now its also available for QlikSense. You can get the download the same from below link -



In this blog post I will mainly focus of version 1.2. This version runs only in QlikSense Desktop and can only analyse applications that exist in QlikSense Desktop.


Take a quick look at the steps required for installing the tool :
  • Unzip the archive, launch “setup.exe” and follow the prompts
  • Windows administrator permission is required to install
  • If you have a previous version of QlikSense Document Analyser installed, the previous version must be uninstalled first. Use the Windows Control Panel to uninstall.
  • Uninstall will remove the existing “QlikSense Document Analyser Vn.n.qvf” file from your Sense\Apps directory. If you have made layout changes to this file, please save a copy and reintegrate your changes into the new qvf.

The install process will create the following directories and files:
C:\Program Files (x86)\Common Files\Qlik\Custom Data\QsAppMetadataConnector
Contains the custom script connector used to extract metadata.

Documents\Qlik\Sense\Apps\QS Document Analyzer Vn.n.qvf
QlikSense application containing load script and visualization of the extracted metadata.

C:\Users\userid\AppData\Local\Programs\QsDocumentAnalyzer
Documentation and uninstall files.


That's it for this post, in the next post, we will see the how to use the application. Your comments matter a lot, please provide your feedback...!!!

Friday, January 18, 2019

Optimize QlikView - Design

Hello All once again,

In my last article we have gone through Server and Scripting side techniques for optimizing QlikView application. If you have missed it, please hit this link, and get to know some exciting tips on same. In this blog post, we will check the optimizing techniques at Design side. 

Design side means the configuration side of the QlikView. Below are few tips which you can try out -

Monitoring Memory Consumption at Object Level:

Memory utilised by the QlikView objects and the calculations time can be monitored from the document properties. This will helps to identify which object is consuming more memory and finding the reason for delay in loading time of the QlikView application. 



Minimised Chart Vs Maximised Chart:

Minimized chart objects will consume less memory comparing to the maximized one, hence use of auto minimize option will be a good practice in this case. Screenshot showing Maximized Chart consuming memory more than the Minimized chart:





  • If the chart is too large, then implementing forced selection by the user will minimize the chart calculation time.
  • Showing frequencies in listbox can be avoided if not necessary.
  • During sorting, it is recommended to sort numerical fields numerically than alphabetically.

Stay tuned for more articles....!!! Lets shape up your data using Qlik...!!!



Optimize QlikView - Server and Scripting


Hello once again, in this blog post I am going to tell you different tips by which you can optimize your QlikView Application, so that it executes more rapidly, operate with less memory storage or use fewer resources. There are fewer ideas and techniques at Server, Scripting and Design level that can be done to optimize the Qlikview Application. 

In this article, we will look into the Server and Scripting techniques for same. In the next article we will check for the Design techniques.

Server Level:

Data Compression Technique:
  • In general, QlikView consumes more memory while reloading and while opening the QlikView file. This can be rectified by saving the file with lower compression.

Breaking single large QVW file into multiple smaller QVW:

  • If a QlikView application is large in size, obviously it will consume more memory during opening the application. Splitting a single large QlikView documents into several separate documents will help in solving the issue.

Load Balancer:

  • Server load will be very high if concurrent users using QlikView web server is high. It  can be overcome by using network load balancer (Servers with Windows Advanced Server, IIS And QlikWebServer)


Scripting Level:

Removing Synthetic key:
  • In data modelling, synthetic keys might formed if there two or more tables have common columns exist. Synthetic keys will greatly impact the performance and it is better to avoid or removing it. This can be done by removing the unnecessary links and join the tables explicitly in the script.
  • In some cases, reloading QlikView might take long time to load. The best practice to overcome is using a Binary Load of static historical data.
 Dropping Temporary Tables:
  • The temporary tables are used in qlikview scripting mostly for doing calculations (Resident Load). These temporary tables can be dropped once when their purpose is achieved.

Handling Expressions/Calculations:

  • Complex calculation within a dimension or expression or in any of the QlikView objects will give poor performance and it will be better to use the complex calculations within the script of the QVW.
  • Avoiding resource heavy expressions or calculations greatly hinder the performance of the qlikview application. Replacing with simpler calculations will help and its a good practice too in scripting. Example: Count(Distinct,’ Fieldname’)
  • Instead of the above expression, replace the count() with sum() and the distinct qualifier by assigning the value ‘1’ to each distinct occurrence as it is read in the script.

Use of Auto number Function:

  • Avoid using Complex composite keys(when to remove synthetic keys), and instead use the autonumber() function to generate a sequence which uses compact memory.
Please add any other technique if you have at Server and Scripting level. I am happy to hear and learn from you. For Design level techniques, please check out the link, for details. Stay tuned...!!! Lets shape up your data using Qlik...!!!



Wednesday, January 16, 2019

Sample Data

Hello All,

Hope all of you are doing good. As said in my earlier post, I would like to consolidate all my learning in one place w.r.t. Qlik. So if you have missed the previous post on "Shortcuts in Qlik", please go ahead and have a look.

In this blog, we will be looking ate some tricks to create sample data in Qlik. For POC purpose like to check some functionalities in Qlik, usually we enter dummy data in excel and then load that file in the application which is somewhat a tedious task. Or we create a LOAD script for same. But why to create your own when Qlik can create it for you. Sounds interesting, so here we go...

Open Qlik > Edit Script (Script Editor in QlikSense) use the following hot keys and reload the application to generate the sample data.

·         For QlikView : CTRL+Q+Q

·         For QlikSense : CTRL+0+0

That's it...!!

Your new data model with sample data is ready -

QlikSense Data Model -

QlikView Data Model -


Hope this article helps you. Please let me know your inputs on same for any suggestions or feedback.
Stay tuned for another tip...!!!




Tuesday, January 15, 2019

Windows Shortcuts in Qlik


Hello All, 

I am starting a new blog series, which will consist of tips and tricks, some kind of articles w.r.t. Qlik technology. I will try to cover topics in QlikView, QlikSense and NPrinting. Please let me know if you want any other topics to be included in the comment section below.

So, as a first post, lets go with basics where we will see what are the different shortcuts available in QlikView and QlikSense. As a developer we need to migrate objects ,create test scripts for POCs ,perform partial reloads etc. You might find these details if you google it, but I just want to keep all the learning related to Qlik in one place. So, to make life a bit easier, I have created  a list of keyboard shortcuts in QlikView and QlikSense which can be used in performing  development activities and improving overall efficiency.

Lets look at below image for QlikView Shortcuts -


When we talk about shortcuts in QlikSense, Qlik Sense supports keyboard navigation for both the app overview page and within the Qlik Sense toolbar. You can use your keyboard to interact with the objects and settings within the app overview page. Within other Qlik Sense views, such as the sheet view, you can use keyboard navigation to interact with the buttons and menus within the toolbar. When navigating Qlik Sense with the keyboard, the centre of focus is highlighted.


 

Let me know, if this information helps you or not in the comments section. I will be adding many more articles in this series, so lets shape up your data using Qlik...!!!