This page deals with Inherited Dimensions, i.e. a special type of Dimension that are based on an inherited approach.
An inherited dimension is a dimension with a unique identity that shares information and metadata with its parent/super dimension.
A typical example is time dimension implementation.
- Assume we have an Information Source that has one or more light items of date type (Xlr_Meta_Util_API.DATE_DATA_TYPE_ ).
- If we want to make it possible to do time trend analyses based on one of these dates, we need a time dimension with relevant dimension items as. e.g. Month, Year, ISO Year …etc.
- There is one such general dimension and it is has the identity DIM_BI_TIME. Even if it is possible to connect to this dimension, the recommendation is to create a separate unique time dimension. Assume the item is named Order Date and that it appears in the Customer Order Line Information Source, then we create a new inherited dimension named DIM_COL_ORDER_DATE, inherited from DIM_BI_TIME. The _COL_ part is there to distinguish this dimension a bit better from others.
- If the Information Source has other dates that also are suitable for e.g. time trend analyses, then we have to create one unique inherited dimension for each one of these dates, all inherited from DIM_BI_TIME. This e.g. leads to the creation of inherited the dimensions DIM_COL_PROMISED_DEL_DATE and DIM_COL_WANTED_DEL_DATE.
How to Define Metadata¶
The example above shows how to define an inherited dimension. It is only necessary to specify the dimension header.
- The dimension type is defined as Xlr_Meta_Util_API.DIM_INHERITED_TYPE_
- It is also necessary to specify the parent/super dimension that the new dimension inherits from. For time purposes there is a standard dimension named DIM_BI_TIME.
- To define an inherited dimension it is only required to define a metadata file.
Note: When an Inherited Dimension is connected to a Fact, a dimension alias should be specified.
An example of a metadata file of an inherited dimension based on DIM_BI_TIME can be found here.
- Deploying an inherited dimension leads to duplication of metadata. The inherited dimension will get exactly the same data as its master/super dimension.
- If the master/super dimension is modified then all inherited dimensions will be affected by the modification. If the source view for e.g. On Line access is modified, then this affect On Line access for all inherited dimensions since they all access one and the same view. If the metadata of the master/super dimension is modified, then when re-deployed the metadata of all inherited dimensions will also be modified.
- It is not allowed to modify metadata of an inherited dimension.
- Currently it is not allowed to create an inherited dimension that is based on a master dimension that has add-on items defined.
- If it is necessary to use the same time dimension when combining information from more than one Information Source, the main criteria is that the time dimension used is shared by the the involved Information Sources.