This sort of analysis is better served by a single concatenated fact table. Your data set is quite large, so performance optimisation needs to be considered.
With a single fact table
- The data model can be a simple star or snowflake schema
- It will generally perform much better than a complex model with large link tables
- You will not get confusion over how selections and aggregations are behaving
- You don't need to build a complex link table which could be very time consuming
Qlikview is not SQL - the concatenated facts do not have to have the same set of fields, and even quite disparate information can be represented in a single fact table as long as there are some common dimensions between them.