You are on page 1of 4

Optimizing Qlikview

Introduction:
Qlikview application can be optimized so that it executes more rapidly, or is capable of operating
with less memory storage or use fewer resources. There are fewer ideas and techniques that can be
done to optimize the Qlikview Application. Explaining those techniques below.
Optimizing the Qlikview application can be done at
Server Level
Scripting level , and
Design level.

Optimizing Qlikview Application at 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)

Optimizing Qlikview Application at 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.

Optimizing Qlikview at Design (Layout) Level:


Monitoring Memory Consumption at Object Level:
Memory utilized 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.

Minimized Chart Vs Maximized Chart:

Minimized chart objects will consume less memory comparing to the maximized one, hence use
of autominimize 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.

Conclusion:
The above mentioned steps or points may help to optimize the Qlikview application and improve the
performance greatly.