• I would go with whatever is easier for the customer to query and possibly for you to abstract for the customer--although it is always tempting to go with developer convenience. Overall, I am in agreement with Koen.

    The most important thing is to know the pros and cons to each approach.

    Kimball on Resisting The Generic Dimension Approach:

    http://www.kimballgroup.com/2006/09/07/design-tip-83-abstract-generic-dimensions/

    Lastest Kimball Thinking on Heterogeneous Schemas:

    http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/supertype-subtype-heterogeneous/

    Advice for the OLAP Layer:

    http://www.cscjournals.com/docs/IJCSR10-01-01-009.pdf

    Careful when referencing the toolkit as well....make sure you also subscribe to design tips as well as, from time to time, the group will "overrule" or "modernize" their thinking from earlier editions of their books. Putting a datetime column in a FACT table, when time of day can be an important fact--such as a call center, is an example.