Hi to all,
i'm been studying "Qlikview Developer 11" and i noticed a curious thing in an exercise.
There is a fact table and different dimensions. In several dimensions there are non-matching values with the fact table, then is suggested how delete this non-matching values from the dimensions to reduce the size of the qvw.
To simplify i have loaded only one dimension (in addition of the fact table), before with non-matching values and after without.
From an original dimension of about 55MB, after i have a qvw file of about 33MB.
But, if i try to load only the fact table, the file size is about 54 MB.
The question is ... how it is possibile?
There is a compression of the data model only when i have loaded more than one table?
Summary
Size of file qvw loading one table at a time:
54273 KB Only fact table (57 fileds x 1256075 records)
255 KB Dimension with non-matching values (2 fielsds x 6209 records)
183 KB Dimension without non-matching values (2 fields x 2142 records)
54388 KB - Fact table and dimension with non-matching values :
Tables | #Records | #Fields | #Keys |
---|
Fact Table | 1256075 | 57 | 1 |
Dimension | 6209 | 2 | 1 |
34901 KB - Fact table and dimension without non-matching values :
Tables | #Records | #Fields | #Keys |
---|
Fact Table | 1256075 | 57 | 1 |
Dimension | 2124 | 2 | 1 |
The records number of the fact table is the same, because QlikView perform a full outer join, then there isn't a subset of record for the fact table driven by the dimension filtered (in case of a inner join).
For completeness, the fact table is loaded from a qvd, while the dimension from an access table.
Can someone help me understand this behavior?
Thank you all !!
Saverio