10 August 2022

Number formatting and 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 about number formatting and preceding zeroes in Qlik Sense:

Qlik certification test question about number formatting and preceding zeroes in Qlik Sense

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.

For a numeric value in a field, Qlik uses the first format that it encounters

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:

Dim, Amount1
a, 0040
b, 40
c, 41
d, 0041
e, 040
f, 042
g, 42
h, 00040

Qlik table with values with preceding zeroes.

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, leaving the loaded values just as you received them.

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

Meet Bitmetric at QlikWorld 2023 in Las Vegas

See you at QlikWorld 2023 in Vegas?

Come see us at QlikWorld 2023 for a chance to win a free, lifetime SenseTheme subscription and get some cool swag.

Want more Friday Qlik Test Prep?

Check out the Friday Qlik Test Prep archive for more Qlik questions and answers.

Friday Qlik Test Prep Functions Solution

How can we help?

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