6 July 2022


Share this message

Every Friday at Bitmetric we’re posting a new Qlik certification practice question to our LinkedIn company page. Last Friday we asked the following Qlik Data Architect certification practice question:

Geen alternatieve tekst opgegeven voor deze afbeelding

The correct answer is A: Class(Age, 5)

Judging by the amount of reactions this week this must be a well-known function! And it is great to say that all answers were right. Something which is not strange since the Class() function is a great way to quickly create buckets to help in doing analysis.

The class() function can be used as a script or as a chart function and by looking at the syntax below, should minimally consist of the expression and the interval. In the expression we enter the numeric value to evaluate. This can be a fixed number, but also a field name, seeing as we used the Age field in the question.

class(expression, interval [ , label [ , offset ]])

The interval determines the range on which the values will be classed. So in the example we used 5 as the interval, meaning we use increments of 5 to class all values in. So for example from 0 to 5, from 5 to 10 etc, etc. The class() function standardly creates these classes shown as below:

lower limit <= x (label) < higher limit

This brings us to the possibility of the label. Normally the class is depicted as shown above, so the class from 0 to 5 will be shown as the value: 0 <= x < 5 (see fig 1.), having an x as label in the value. This can be changed by adding a label to the syntax, bring it towards something more understandable (see fig 2.) or using the replace function (Replace(Class(Age, 5), ‘<= x <’, ‘ to ‘) to fully customize the result (shown in fig 3.).

Geen alternatieve tekst opgegeven voor deze afbeelding
Geen alternatieve tekst opgegeven voor deze afbeelding

The final possibility in the syntax is to use an offset. For example, if you want increments of 10, but only start at number 21, you can use Class(Age, 5, ‘age’, 21) as syntax to start at 21. Keep in mind that in this case you need to give a label, otherwise the offset will be seen as the label. Also if you have results below the given offset, this function will take that into account and count back as seen in figure 4.

Some other things to know:

  • If there are no values, there is no class created. For example there are no 5 to 10, or 10 to 15 classes, since there are no values over there.
  • The classes are not customizable per class. It is always the same increment as given. In this example the data set only contains from age 18 and onwards. The 7 values which are below that are values with 0, but due to the classes which are created it is difficult to determine data quality issues.
  • The classes are not customizable. The increments are fixed according to the interval given. If you want to have more control, use classes of various lengths or add some information to control data quality, it is worth looking at nested if statements or IntervalMatch solutions in the script.

That’s it for this week. See you next Friday? And remember:

  • If you have suggestions for questions, we love to hear from you via WhatsApp or at info@bitmetric.nl
  • If you’re enjoying these questions and want to work on stuff like this every day (but a bit more challenging), we’re always on the lookout for new colleagues. Check our job openings here.

How can we help?

Feel free to contact us if you have any comments or questions.