In this article I will shed some light on a neat new feature in OWB 10.2: dimension roles.
In a typical datawarehouse you will find that you need to connect the same dimension from the fact table a number of times, with different meanings. A familiar example is the time dimension. ‘Time’ is meaningless untill given the proper foreign key to the fact table. In your fact table (or cube in OWB slang) you could connect to this same table as ‘order date’ , or ‘proces date’ or ‘ shipping date’. All these relations will be implemented as foreign keys between the fact table and the time dimension. Of course, you can program these relations yourself like it was done in the earlier versions of OWB but with this new release the Dimension Roles feature has been implemented which will make this process a lot easier.
This feature is similar to creating aliases in your database or semantic layer (BO Universe, Cognos Catalogs, Discoverer EUL’s); you virtually copy the dimension. In OWB you have the opportunity to give any dimension a role and description in the name tab of the object browser, the first screen when creating or editing the dimension. This role can be selected from your fact table: after you select the appropriate dimension and level you can also select the role in which this dimenion will be given meaning to.
This all returns in the datamodel; the role will show up here as a name tag for your fact-dimension relationship and in the mapping you will be able to distinguish the different meanings of the same dimension easily, and (centrally) maintanable.
