10 August 2022

What happens with preceding zeroes in Qlik Sense?

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:

Qlik certification example question

The correct answer is A.

An interesting question with an unexpected result. As many thought it would be the logical answer D, it is in fact something completely different. Truth be told we were surprised as well in the beginning, as it is more of a Qlik quirk than lack of knowledge.

So what does happen here and why? The explanation is as simple as maybe frustrating if you don’t know what to expect. When loading the data Qlik uses the first format it encounters for the remaining load. However, this only is applicable to the exact number being loaded. Let’s use the question to explain:

In the first inline table of the question 0040 is loaded as the first value. Subsequently it loads 40 and 41. However, since 40 matches the previously loaded numeric value of 0040 it is converted to the same format, being 0040. Next on the load sequence is row number three containing 41. However this is not a match to the numeric value of 40 (and thus the format of 0040), so Qlik starts again with the interpretation of the format, loading it normally as 41.

This exact same logic works for the second inline table, which is being joined to the first. In this table we now can make up that 40 is loaded before 0040, hence showing both as 40. To bring this into a bit more perspective, let’s have a look at the inline table below and the subsequently loaded data model:

Table1:
LOAD * INLINE [
Dim, Amount1
a, 0040
b, 40
c, 41
d, 0041
e, 040
f, 042
g, 42
h, 00040
]
;

Qlik load table example

Here we can clearly see that for each new loaded individual number Qlik interprets the loaded format and uses this in the subsequent load. The dim containing the 40 values at dimensions b, e and h are all formatted as the first loaded 40 at dim a. The same goes for rows c and d in which 41 is formatted as it’s first load, and at last f and g where 42 is loaded as 042.

So, depending on how you receive the data this can impose some problems especially in large quantities of data with limited data quality. If you encounter this and want to solve it, it is simply fixed by using the Num() function. Num(Amount1) as Amount1 would solve it in this case and formats all numeric values equally. And in the case you do need the preceding zeroes, this is fixed by using the Text() function, leavi ng the loaded values just as you received them.

That’s it for this week. And remember:

Are these questions too easy for you?

Masters Summit for Qlik 2022 - New Orleans and Madrid

If these questions are too easy for you, then you may be ready for the Masters Summit for Qlik.

At the Masters Summit for Qlik, we take your Qlik skills to the next level in 3 days with deep dives about:

  • Qlik Data Modelling
  • Qlik Scripting
  • Set Analysis and Advanced Aggregations
  • Solution Architecture & Performance
  • Effective Visualizations
  • Performance Tuning
  • Qlik Sense integration

The courses are taught by Qlik veterans Rob Wunderlich, Oleg Troyanksy, Bill Lay, Nick Webster and Bitmetric’s Barry Harmsen. Together, this team brings almost 75 years of Qlik experience and has implemented hundreds of successful projects.

You can find more information and registration on the Masters Summit for Qlik website.

See you next week!

How can we help?

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