Question 140
A sales fact joins to a slowly changing Customer dimension with multiple historical rows per customer. What is needed?
Explanation
Correct Answer
Use the correct version-specific surrogate dimension key. Type-2 dimensions require keys identifying the historical attribute version.
Incorrect Answers
Run an anti join to identify fact foreign keys with no dimension match. This solves “contains ProductID values missing from the Product dimension”; the stated issue is “Customer dimension with multiple historical rows per customer”.
Names are nonunique and may change, making weak relationship keys. The deciding difference is “no unique ID is present, resulting in collisions” versus “Customer dimension with multiple historical rows per customer”.
Related key columns need compatible representations to match values. That is a different operating condition from “Customer dimension with multiple historical rows per customer”: “Sales but Text in Customers, and relationships fail”.