I've a cube with around 30 dimensions and 10 measure groups.
I need to add a mapping for a handful of dimensions to a particular measure group (which is already mapped for the majority of the other dimensions) - but would like to do this in such a way that existing views continue to return the same data as previous - even if the newly mapped dimensions appear in those views with non-root (i.e. not "All") members selected.
I figure there are a couple of ways of achieving this:
([Measures].[MyMeasure], Root([MyNewlyMappedDimension]), ...)
.The prior option seems far and away the safer of the two - neither feels 'great' though - I'm concerned that I'm approaching this from the wrong direction!
Any thoughts / suggestions?
Thanks,
Will.
If you mean "Views" as in MDX code, then adding a new dimension won't change anything unless you use it in your queries (ok, unless it's default member is not the All member).
If you will be changing the queries (e.g. adding new stuff to the WHERE clause), then you are absolutely right - you can either create new measure groups so you avoid the problem with the existing ones, or use Root([Dimension]), so that you measures stay unaffected.
As for approaching it from the wrong direction - what are these "views" and can't you restrict somehow what dimensions can be used in them?