Group by performance in Qlik Sense & QlikView with order by sorting

When asked how to aggregate data in Qlik products in the quickest way, the answer is “it depends”. While the key factor is the uniqueness/ cardinality of the aggregating dimensions, there are other elements at play.

In general, though, the fastest way to aggregate in the data load script (after loading the data into memory) is:

  1. When aggregating by a low cardinality dimension in a small data set, resident load and run a group by immediately (this is also the fewest lines of script)
  2. When aggregating by a higher cardinality dimension, or on one that requires a lot of sorting prior to aggregation, resident load and sort the table by the high cardinality dimension as the first step. Then resident load this table and run your group by as a second step.

The short version: use approach 2 as the default, unless your data is very simple.

For Dimension1 (low cardinality), a direct group by (G) was fastest. For Dimension3 (high cardinality) and Number (low cardinality) an order by, then group by (O&G) was fastest by a large margin
Continue reading “Group by performance in Qlik Sense & QlikView with order by sorting”

Task Chaining in Qlik Sense Enterprise SaaS

Today, QSE SaaS doesn’t do task chaining. Instead you have two options:

  1. Use a scheduled reload task for every app, and try to make sure the start time for task 2 will always be later than task 1
  2. Use Qlik SaaS REST APIs to trigger the reload

This post covers a simple approach (i.e. Qlik script only) for triggering reloads of downstream apps on completion of an app reload in a way that doesn’t require much maintenance or any external systems or integrations.

With the APIs, we can reload as frequently as we wish – to some disastrous results. Be careful.
Continue reading “Task Chaining in Qlik Sense Enterprise SaaS”

Qlik Sense Object Type Mapping

When you’re troubleshooting or diving into logs, it’s useful to have a mapping of object types. The name of an object is defined by the developer of that object, so there tends to be little convention – other some basic syntax rules and that Qlik Sense only allows one instance of the name per site.

Each object definition references the object type (qType)

Knowing what each type means is useful when inventorying a site for upgrade or migration.

Continue reading “Qlik Sense Object Type Mapping”

An updated Version Control tab for Qlik Sense & QlikView

This updated snippet (see original post from 2018) is available on GitHub, and included in this post.

The main benefits of this script are that it requires a single row addition per log, with no manual increment of the version number, and the version control information can be surfaced by the engine either to the UI or via the APIs.

This assumes a HidePrefix of %.

Continue reading “An updated Version Control tab for Qlik Sense & QlikView”

Qlik Sense Release Version & Support List

As of February 2022, the information shown below is now available on the new Qlik download site at, and the releases can also be found directly on GitHub at

Qlik Sense log files usually contain a reference to a build or engine number, and I’ve not yet found a complete list where you can see all version numbers at the same time – so I’ve created one.

This list contains the current (at time of writing) list of Qlik Sense external version names to build number, release dates and end of support dates.

For the latest version of this list (and in CSV format), visit

Continue reading “Qlik Sense Release Version & Support List”

QVD read/write performance comparison in Qlik Sense Enterprise with QVD and QVF encryption

Following on my previous post, I had a look at the performance impact of enabling QVD and QVF encryption in Qlik Sense.

In this test, I’m using Qlik Sense Enterprise November 2019 release on an Azure B4ms (4 vCPU, 16GB RAM) VM running Windows Server 2019. Qlik Sense encryption settings were left at default.

A sneak peak of the results for the largest data set tested
Continue reading “QVD read/write performance comparison in Qlik Sense Enterprise with QVD and QVF encryption”

Qlik Sense QVD / QVF Encryption (Qlik Sense Enterprise on Windows)

From Qlik Sense Enterprise on Windows September 2019 (the option became configurable via the QMC in November 2019), users have the option of enabling one or both of QVD and QVF encryption – adding at-rest protection from people who shouldn’t have access to your valuable files. This is enabled server-wide and applies to all content on the environment.

The big issue that I see is that any security office is going to require that any and all encryption is enabled – without understanding the issues this could cause.

Here’s the new DATA ENCRYPTION section under Service cluster in the QMC
Continue reading “Qlik Sense QVD / QVF Encryption (Qlik Sense Enterprise on Windows)”