Sunday, March 25, 2012

Changing Attribute Label Name in a Shared Dimension

Hi,

I have a dimension called Branch that is linked to alot of Branch-related fields in my fact table like Send-To Branch, Collection Branch, Receiving Branch etc.

Since my Branch dimension is shared, if i change the description name of my attribute in Send-To Branch Dimension Structure, it will affect the rest of my Dimensions related to Branch. Can it be possible that i can change the attribute name in each branch dimension without affecting the others?

example:

Send-To Branch

Send-To Branch ID

Send-ToBranch

Send-To Branch Type

Collection Branch

Collection Branch ID

Collection Branch

Collection Branch Type

cherriesh

No, It is not possible to rename attributes in each instance of a role playing dimension.|||

So that means, I need to create SQL views to instantiate my Branch Dimension and link them individually to the different branch-related foreign keys in my fact table?

is it too costly in terms of the storage?

cherriesh

|||

Well it either means that you need to come up with a more generic naming convention for your attributes. So that your cube dimensions would look something like the following...

Send-To Branch

Branch ID

Branch

Branch Type

Collection Branch

Branch ID

Branch

Branch Type

Although this is not without issues as it can be confusing in tools like Excel where you cannot always tell which dimension an attribute came from.

I don't know if you need to create SQL views, you might be able to get away with creating multiple identical dimensions off the same dimension table(s). I'm not sure as I usually use the generic attribute name approach.

It is not usually too costly in terms of disk storage as most dimensions are pretty small when compared to the fact tables. It can have an impact when you consider cache storage as SSAS will be caching multiple sets of identical dimension keys which it does not need to do with role playing dimensions. You will also have to consider the extra processing time and the maintenance overhead of having to keep multiple dimensions synchronized.

No comments:

Post a Comment