Hi,
I have a general dimension modeling question.
Let's say I have dimensions called CompanyDim and UserDim. Each user belongs to a company (so Company can be considered an attribute of a User). Both dimensions contain other attributes that are of type 2.
What is the best way of keeping track of this relationship?
Solution 1:
Store surrogate key of CompanyDim as attribute of UserDim (consequences: each type 2 change to CompanyDim forces type 2 change of UserDim, dimensions have to be processed in sequence - CompanyDim first, UserDim second, necessity at query time to do dimension-to-dimension join)
Solution 2:
Create an additional factless fact table of UserDim and CompanyDim surrogate keys association (consequence: one more fact table that complicates nice star schema)
How do you guys approach this problem, which seems like a basic data warehouse modelling issue (I haven't found a discussion of this in Kimball).
Thanks for you input.
I have a general dimension modeling question.
Let's say I have dimensions called CompanyDim and UserDim. Each user belongs to a company (so Company can be considered an attribute of a User). Both dimensions contain other attributes that are of type 2.
What is the best way of keeping track of this relationship?
Solution 1:
Store surrogate key of CompanyDim as attribute of UserDim (consequences: each type 2 change to CompanyDim forces type 2 change of UserDim, dimensions have to be processed in sequence - CompanyDim first, UserDim second, necessity at query time to do dimension-to-dimension join)
Solution 2:
Create an additional factless fact table of UserDim and CompanyDim surrogate keys association (consequence: one more fact table that complicates nice star schema)
How do you guys approach this problem, which seems like a basic data warehouse modelling issue (I haven't found a discussion of this in Kimball).
Thanks for you input.