In Qlikview it is always advisable to minimize the number of tables in the data model.
Mapping Tables are used in QlikView to clean up the data model.
Tables with just 2 columns can be removed and columns of that table can be mapped to another table.
Mapping tables are stored in a separate area in memory and used only as mapping tables during script execution. After script execution they will be automatically dropped.
Please watch my video for more details
Further readings : Don’t join – Use Applymap instead
Hi,
when would you chose to use MAPPING instead of a JOIN to reduce the number of tables in the data model?
The only advantage I can see is that you can use the ApplyMap command to guarantee the returned column has a default value while if a join were used, you could have a NULL value on the join for a column where no match is found.
So in the line below we would get ‘Unknown’ in the MyColumn using MAPPING but if I used a JOIN I would get a NULL.
ApplyMap(‘MapTable’,MapField,’Unknown’) AS MyColumn
Is this the key advantage or is there something else I am missing?
Roy:
Mapping and ApplyMap should always be preferred over join.
To help you better understand, I am quoting below from HIC. I will put a link to his blog on this subject.
Whenever you want to fetch one single value per record use ApplyMap().
The only time that you cannot use Applymap() instead of a join is if you want to fetch more
than one single corresponding value (record) from the second table.