Number format is randomly lost when data is loaded using the CrossTable prefix.
In the example below the source' percentage format is lost on row three where the value is 0.30 instead of the expected 30%
The data source has percentage values in field F2 and decimal values in field F3
The reason for the issue is that QlikView associates identical numerical values to each other. This means that same underlying numerical values will also get the same visual value.
For example after the first row in the data source has been loaded
the QlikView data table has two rows of data
When the second data line is loaded
the values will be numerically interpreted, meaning that 30% will get an underlying numerical value of 0.3.
The previously loaded value 0.30 also has 0.3 as underlying numerical, which means that QlikView will associate the two values with each other.
Instead of storing the same value twice the second value will not be stored, but instead will point to the first value.
This means that 30% will refer to 0.30, and therefore the percentage appear to be lost.
This is part of QlikView's fundamental associative technology making data analysis and calculations fast in run time.
It is recommended to not load mixed data formats into the same field, so best solution to the issue is to keep different formats separated.