Two fact tables in a "Lakehouse", Sales and Returns, both reference products and dates. Reports must slice both facts by the same product attributes and date attributes with consistent results. Which modelling approach best supports analysing both facts together across shared dimensions?
- ACreate a separate Product dimension and a separate Date dimension per fact table so that Sales and Returns never share any dimension rows.
- BMerge the Sales and Returns rows into one wide flat table and drop the separate Product and Date dimensions from the model altogether.
- CBuild one conformed Product dimension and one conformed Date dimension, then relate both Sales and Returns fact tables to each shared dimension. Correct
- DRelate the Returns fact table directly to the Sales fact table and let it inherit the product and date filter context through Sales.
Why A is wrong: Duplicate per-fact dimensions seem isolating but cause divergent keys and attributes, so the two facts cannot be sliced consistently by the same product or date.
Why B is wrong: Flattening two grains into one table conflates distinct events and loses the shared dimensional structure that consistent cross-fact slicing actually requires.
Why C is correct: Conformed dimensions shared by both facts guarantee identical attributes and keys, so slicing Sales and Returns by the same product or date gives consistent comparable results.
Why D is wrong: Chaining one fact table to another is invalid star modelling and propagates filters unpredictably, so it cannot deliver consistent slicing across both facts.