Speed up your dashboard with performance assessment
Qlik Cloud
Within the Qlik Cloud platform, you know everything about how your dashboard is performing and what you need to do to improve it at the touch of a button. You can perform a performance assessment per app and view the response times per visualization or sheet. It is also possible to compare different performance assessments with each other and assess whether work has really resulted in an improvement. When users complain about a slow dashboard, the performance assessment leads you to the solution.
Perform performance assessment
The performance assessment is started from the HUB, by clicking on the 3 dots behind the app and choosing 'Evaluate performance' or from the app details under Performance assessment. Then click on 'Evaluate now'.
After the evaluation has been carried out, you will immediately gain insight into the results.

First of all, these are the general data of the app, regarding the size of the app, the number of rows of data and the number of published sheets and objects. Note that only published sheets and visualizations are evaluated. For example, other users' own sheets do not influence the results.
In the results tab you will find a number of categories where long loading times occur. When you click these open there are direct references to the objects available.
- Objects with cache problems:
These are objects that are not cached efficiently. This may be improved by changing expressions or the data model.
- Single-threaded objects:
When objects appear here with too long a loading time, bottlenecks in the calculation should be searched for. These occur, for example, in virtual tables (Aggr() function) or the use of multiple fields from different tables in a complex data model. - Objects exceeding memory limit:
Occurs when complex calculations exceed the license limit.
- Initial Load Time per Worksheet/Cached Load Time per Worksheet:
These are measured by opening each worksheet twice. The first time the initial load time is measured and the worksheet is cached immediately. The second time the worksheet is opened it is cached and should load faster. The loading time of the objects is also looked at here per worksheet.
Furthermore, the results also show the top 5 objects, tables and fields with high loading time or high memory allocation.

Evaluating the results
Now that we know the results of the assessment, we need to do something to improve performance. We know which objects have a long load time, and which fields and tables in the model have a high memory allocation.
Changes to the data model often lead to the biggest improvement in an app's performance. For example, consider the simplifying a snowflake to a star model, as every 'hop' between 2 associated tables affects performance.
It also makes a significant difference replace key fields with an Autonumber(). Comparisons over numeric values are faster than comparisons over (long) string values. Also, when using an AutoID, the result is equal to the index table in which Qlik stores unique values, which is even more profitable!
It is also a good idea to to limit fields with long and many unique (string) values. These are fields that you will find in the list 'Top 5 fields with the highest memory allocation'. Assess whether these fields are really necessary for the analysis (for example description and free text fields). If not, remove them from the data model.
Apply
Try Qlik Cloud for free for 30 days now
Try our Qlik Cloud now for free! Sign up and after 30 days the free trial period ends without any commitment. Completely without obligation!
ApplyShortening long unique values
In some cases, long unique values can also be shortened. For example, think of fields with a TimeStamp in which only the date is important. With a Floor() function, the timestamp is then rounded off. Even if the timestamp is recorded accurately to the second, but for the analysis only the hour level is important, a gain is already achieved here.
In addition to changes in the data model, we also optimize the calculations used on the sheets for performance. The calculations that are often seen as the most 'heavy' are those where if() of aggr() functions are used.
There are several efficient alternatives for functions that can reduce the loading time. Such as:
The if() function
Wanneer de if() function is used within an aggregation, it is performed at line level. This means that the evaluation takes place for each data line from the aggregation. This way, the function could be executed thousands of times. If this happens, the function is replaced by set analysis. In addition, all possible outcomes of the if() function are calculated, not just the expression that applies to the outcome that is shown. If possible, avoid the if() function in worksheets and use set analysis.
The Aggr() function
De Aggr() function is a very powerful function that is used to perform nested aggregations, among other things. However, it is possible that this function can seriously undermine the performance of a dashboard. In these cases, check whether the calculation can also be made in the script, for example with a TOTAL qualifier, or a weighted average by means of a division without Aggr.
The Count(Distinct...) function
The same applies to calculations using Count(Distinct …)Normally calculations are performed multi-threaded, however a count distinct requires all unique values, so it is also performed single-threaded unless the fields used for dimensions and measure come from the same source table in the data model.
Get in touch!
As you just read, there are many factors that make a dashboard slow, but fortunately there are also many solutions that can help you with this. If you still can't figure it out, please contact us and we will take a closer look at your Qlik dashboard!
