This is the first time i'm working on a BI project and Pentaho products are not yet familiar to me, so i needed to know if the following models are correct and that i won't face difficulties later when creating hierarchies on the BI Server !
Thank you.
Time dimension :
Complication dimension, every complication can have sub-complications :
Not a good idea.
Your calendar dimension table should look like this:
The point of a data warehouse is to ease analysis. Making your BI analyst do three joins to get a date does not ease analysis.
calendar_id
is a "smart key", i.e. not a meaningless surrogate key. Your calendar table is the only table that should use a smart key, as it greatly aids table partitioning by date. Also note the nullable fields, which allows for the "N/A" (Not Available) date. There's no year 0, so 0 is a good "N/A" value.Basically, you should have one level of normalization: your fact tables, and your dimension tables.