Hi All,
I am trying to work out the best way of modeling some data in analysis services. I have two possible ways of doing it so far and I am looking for some guidance on the best way of doing it.
I am working with 3 dimension like objects, call them group, item and sub-item, which together form a sort of hierarchy. An item contains many sub-items. A group contains many items. An item can exist in many groups.
The two options I have currently for modelling this data are as follows:
1. Use surrogate keys to duplicate all the item and sub-item (and fact table) data per group. Once the data has been duplicated I can create a single dimension with a hierarchy in it to access the data.
2. Store the the sub-item and fact table data once. Duplicate the item data per group and use a bridge table to link the surrogate item data to the appropriate sub-item.
Coming from a SQL background using the many-many solution makes more sense to me, however as I understand it many-to-many relationships should be avoided where possible. Duplicating the data to the extent needed for option 1 seems excessive though.
Does anyone have any ideas of the best way of modelling this?
Thanks