I think you are on the right track in general.
You need to remember though, that any selections in a dimension will reduce to your fact table records to the possible values based on selection. Especially when looking at Date and DC_ID, selection in these dimension tables will prevent your M4 and M7 measures to be calculated out-of-the-box though you can work around this using set analysis.
For different granularities like daily and weekly measures, you can look into
Many thanks for the reply.
The link to "fact table with mixed granularity" is very useful - I think i can see the general premise of how generic keys work. Although it looks like it could be quite complicated to create the fact table. I'll have to have a play with that.
I also searched on 'Set Analysis" and watched the intro/explanation videos on it. I can see how that can be used to restrict to specified sets of values by creating set expressions. I couldn't quite see how it would apply to being able to work around the issue of measures the M4 and M7 measures being excluded for Date and DC_ID dimensions. Would you be able to expand on a bit further on what you meant by that or give an example ? (I see what you mean about how they would reduce the fact table - just not how could work around that with set expression.)
Thanks again for you help!