Skip to content

Dimension and Dimension Item

This page provides detailed information about metadata related to the Dimension and the Dimension Item entities as well as about all related Dimension entities.

Note: Technical entity names are used in the contents section.

XlrDimension

This is the main/parent entity for a dimension. The following attributes are supported:

Attribute Data Type Description
DimensionId String Identity of the dimension (basic data).  Unique.
Recommended to prefix with DIM_.
Description String Description of the dimension, what it represents, where data is fetched from etc.
DimensionType Enumeration Type of dimension.
The following values are supported:
  • Xlr_Meta_Util_API.DIM_STANDARD_TYPE_ (standard dimension) This is the normal dimension type.
  • Xlr_Meta_Util_API.DIM_SUPPORTIVE_TYPE_


(supportive dimension)

A supportive dimension can only be used for specific purposes, like e.g. supporting List of Values functionality in Info Services. It is not possible to connect a supportive dimension to a fact.

The typical usage is to enable List of Values functionality in Info Services. Assume that there is a dimension called DIM_X with the items ID, CODE, DESCRIPTION, GROUP, GROUP_DESCRIPTION, SUB_GROUP.

Since a dimension is represented by a single view it is only possible to support one set of List of values items according to core development principles. The obvious choice is to support the CODE item. But now if it is requested to also support List of Values for the item GROUP in Info Services then there must be a separate view that shows e.g. GROUP, GROUP_DESCRIPTION and SUB_GROUP. This view has to have its own column comments that tells the core framework how to handle List of Values. In IFS Business Reporter a new dimension is defined but with the supportive dimension type ( Xlr_Meta_Util_API.DIM_SUPPORTIVE_TYPE_ ). This view can be used as a reference for a dimension item, like e.g. the item representing GROUP, to make it possible to support List of values in Info Services.

  • Xlr_Meta_Util_API.DIM_INHERITED_TYPE_(inherited dimension) An Inherited dimension can be used to create a copy of an existing dimension. The Inherited dimension is given a unique Dimension Id and will when deployed automatically inherit all details information of the source dimension. One example are time dimensions like DIM_PLANNED_SHIP_DATE and DIM_PAYMENT_DATE, that inherit from dimension DIM_BI_TIME.
InstallationName String The Prog name of the dimension suggested during installation of dimension meta data. This text will during translation handling be transferred to the translation framework.
KeyColumn String Column name in the dimension view (see XlrDimensionSource) that contains the unique key for a dimension instance/record, normally named ID
This is just a shortcut, avoiding search through dimension items.
LovDistinctSearch Boolean Selected if List of Values functionality should perform a distinct select of values. It is recommended to select this attribute for dimensions and clear it for facts.
LovMaxLimit Integer Max number of rows to be retrieved when collecting List of values. Normally not defined for dimensions. Set to NULL if not to be used.
Module String Name of the module that owns the dimension.
InheritedFromDimensionId String Identity of the dimension that the current Dimension is inherited from.
Valid only for Dimensions of type Xlr_Meta_Util_API.DIM_INHERITED_TYPE_.
IdValueSeparator String Optional attribute. Normally defines as the character '^'.
Specifies the character used as separator between key values defining the unique dimension identity.

If e.g. the unique identity is defined by company and account, the dimension identity is suggested to be defined as string build according to ID='<company>^<account>'. The IdValueSeparator in this case is the character '^'.

The idea is to be able to display how the current dimension identity is built, and in his case how sub parts of the identity is separated.
NullValueDefinition   Optional attribute. Normally defined as the character '#'.
Specifies the NULL value representation for the dimension.

Assume that the identity of the dimension is as follows, ID='<column1>^<column2>'

The Data Mart version of this dimension should now contain extra NULL value specific records:

SELECT <column1>||'^'||<column2>  ID,<br/> ....<br/> FROM <dimension_table><br/> UNION ALL<br/> SELECT <column1>||'^'||'#'  ID,<br/> ....<br/> FROM <dimension_parent_table><br/> SELECT '#'||^'||'#' ID,<br/> ....<br/> FROM BI_DUAL_TAB


The '#' character is thus the NULL value representation.

In the Meta Data file this entity is represented by the following section:

XlrDimensionSource

This entity keeps information about available source views for each supported data access type and supports the following attributes:

Attribute Data Type Description
DimensionId String Identity of the dimension. Parent key.
SourceType Enumeration Data access type, i.e. on line or data mart.
The value can be one of:
  • Xlr_Meta_Util_API.DM_SOURCE_TYPE_ (Data Mart)
  • Xlr_Meta_Util_API.ONLINE_SOURCE_TYPE_ (On Line)
DefaultSourceType Boolean Selected for the data access type that is considered to be the default one if the framework does not get any information about data access type to use.

The data access type defined on fact level will be the one used also for connected dimensions. A dimension must support the data access types defined for the facts/information sources that it is connected to.
ViewName String Standard view name for the fact for current data access type.

In the Meta Data file this entity is represented by the following section:

XlrDimensionParent

For each dimension it is possible to define parent dimension items. This information is used mainly by the List of Values functionality. Parent information for dimensions always means specifying one or more dimension items that have to be available to enable an accurate List of Values of dimension items. The main difference compared to List of Values for Information Sources is that we also have to define a dimension identity in the dimension itself that corresponds to the parent value supplied in the client.

Parent information is also important for the so called statement builder in Business Reporting & Analysis services framework that generates SQL statements.

Example: The dimension DIM_ACCOUNT , that represents the account dimension, has the company code as natural parent. If we want to show List of Values for an item in this dimension, the company code must be known to make the data meaningful. The only dimension that should have a visible company code attribute is the dimension DIM_COMPANY so for that reason we define the dimension item DIM_COMPANY.CODE as Parent Item Id . This item must now be linked to an item in the current dimension that contains the same value, so we choose DIM_ACCOUNT.COMPANY as Own Item Id . After having supplied this information in the Meta Data, the client will always try to make sure that the company code has been specified before creating the List of Values. The company value will be transferred to the Own Item Id to make it possible to create the result set by selecting from the DIM_ACCOUNT only.

The following attributes are supported,

Attribute Data Type Description
DimensionId String Identity of the dimension. Parent Key.
ItemNo Integer Parent item number (row number). Key
ParentDimensionItemId String The identity of a dimension item that must be available in the client to enable parent identification in the dimension.
OwnItemId String The identity of an item in the dimension itself that contains a value corresponding to the value associated with the item ParentDimensionItemId
HierarchicalOrder Integer Hierarchical order of the defined dimension parent keys. Lowest number has the highest rank.

In the Meta Data file this entity is represented by the following section,

XlrDimensionItem

The entity keeps detailed information about dimension items and support the following attributes:

Attribute Data Type Description
DimensionItemId String Identity of the dimension item. Unique.
Normally defined as <DimensionId>.<ViewColumnName> e.g. DIM_ACCOUNT.CODE
DimensionId String Identity of the dimension that owns the item.
Description String Description of the dimension item, what it represents etc
InstallationName String The Prog name of the fact item suggested during installation of fact item meta data. This text will during translation handling be transferred to the translation framework.
ColumnName String Column name in the dimension view that represents the dimension item.
DataType String Data type for the item. Can be one of the following values:
  • Xlr_Meta_Util_API.DATE_DATA_TYPE_
  • Xlr_Meta_Util_API.NUMBER_DATA_TYPE_
  • Xlr_Meta_Util_API.TEXT_DATA_TYPE_
Nullable Boolean Selected if the item can be null in the data source
DisplayInClient Boolean Selected if the item should be displayed in the client
DisplayOrder Integer The order that the item will appear in the source navigator among dimension items for the dimension.
DisplayFolder String Defines a sub folder in the source navigator where the dimension item will appear.
Specified as e.g. \Structure Repeater Items

Default value is NULL.

Can e.g. be used to distinguish add on items. The character ' \' defines a sub folder. The '\'   character is not necessary if only one sub folder level is defined.
AddOnDimensionId String Dimension identity of a dimension, child or parent!!, that is the true owner of this item, even if the item as added to another dimension.
Default value is NULL.
Example 1:


> The dimension DIM_COMPANY_BASE is defined by the module **ENTERP**. The module **ACCRUL creates a child company dimension named DIM_COMPANY. We want to add some if the items in DIM_COMPANY_BASE** to the dimension **DIM\_COMPANY**. So when defining these items in **DIM\_COMPANY we have to specify that the AddOnDimensionId as DIM_COMPANY_BASE.
>
> The added items are part of DIM_COMPANYbut the data will be fetched from **DIM\_COMPANY\_BASE**.<br>> <br>> This is an example of getting items from another static dependent dimension.<br><br> <br>Example 2:<br> <br><br>> When defining items for dimension **DIM\_ACCOUNT
we want to display some items that actually belong to the child dimension DIM_ACC_STRUCT_ACCOUNT. The pre-requisite is of course that the child dimension exists (it is actually defined by another component than DIM_ACCOUNT ).
>
> The AddOnDimensionId will in this case be DIM_ACC_STRUCT_ACCOUNT.
>
> This is an example of putting items from a child dimension to its parent dimension.

AddOnDefOwnedById String This attribute defines the true owner of the dimension item definition.
If we look at the two cases define for attribute AddOnDimensionId we get the following:

Example 1:


> Add On Def Owned By Id is defined as DIM_COMPANY since DIM_COMPANY defines get if the item.


Example 2:


> Add On Def Owned By Id is defined as DIM_ACC_STRUCT_ACCOUNT since ACC_STRUCT_ACCOUNT puts the item to DIM_ACCOUNT.

Module String Name of the module that owns the dimension (basic data). For add on items the module name might differ from the non add on items.
PublishedLovDimension String Identity of the dimension that has a view that will serve as List of values view reference for List of values support in Info Services for this dimension item. Normally only the Code Key item in each dimension supports List of Values in Info Services. If some other item (than the Code Key item) should support List of Values then a supportive dimension must be defined and then registered as PublishedLovDimension
PublishedLovItemRef String Dimension item reference to an item in the PublishedLovDimension for which the column name will be used in Info Services.
Note: Only to be defined if the current dimension item can act as a parent item to another dimension.

E.g. the dimension item DIM_COMPANY.CODE can act as a parent item to many dimensions of financial nature but to make things work properly in Info Services the column name should be COMPANY and not CODE . So for DIM_COMPANY.CODE we specify DIM_COMPANY.COMPANY as PublishedLovItemRef .

It is also important to make sure that the OwnItemId in XlrDimensionParent points to a column that has the same name as the one pointed out by PublishedLovItemReference , for dimensions that have the current item (e.g. DIM_COMPANY.CODE ) as parent item.

The general List of CValues support for e.g. DIM_ACCOUNT in Info Services will be related to the item DIM_ACCOUNT.CODE . The PublishedLovDimension for this item will define the view to be used, e.g. DIM_ACCOUNT_OL .

Parent information for DIM_ACCOUNT gives that the item DIM_COMPANY.CODE is the parent item. The OwnId in the parent info will point to DIM_ACCOUNT.COMPANY and it defines the column name COMPANY . The List of Values reference for DIM_ACCOUNT.CODE is now set to DIM_ACCOUNT_OL(COMPANY) .
If a company based parameter is also used then the List of Values for this item is define via PublishedLovDimension for** DIM\_COMPANY.CODE **-&gt;** DIM\_COMPANY.COMPANY **-&gt; view\_name** DIM\_COMPANY\_OL **and the** PublishedLovItemRef **will supply the column name `COMPANY`.<br> <br>A parameter, in IFS Business Reporter, named MyCompany will now get the internal name** COMPANY and the List of Values reference DIM_COMPANY_OL

A parameter, in IFS Business Reporter, named MyAccount will get the internal name MyAccount and the List of Values reference
DIM_ACCOUNT_OL(COMPANY)**
CodeKey Boolean Marks the dimension item that represents the code in the dimension view. The code is normally also the key value in the dimension that together with parent key columns defines a unique identity.

In the Meta Data file this entity is represented by the following section,

XlrDimItemStructInfo

This entity keeps structure specific item information. Structure support means the following:

  • A set of special dimensions have to be developed, representing structures, structure levels (if available), structure nodes and structure leafs. These dimensions are never connected to a fact/information source.
  • There must be a target dimension that is connected to fact/information source that represents structure leafs. E.g. the dimension DIM_ACCOUNT is connected to most part of the facts/information sources in IFS Financials. Accounting structures can be defined for accounts and this means that the target dimension is DIM_ACCOUNT, that actually represents the leafs for an account specific structure. The special set of dimensions will add items to DIM_ACCOUNT.
  • The item in the "target" dimension defined as the code key, normally the column name CODE, must be UNIQUE to make structure support work. For e.g. DIM_ACCOUNT the code key item represents the account and it is unique within each company and can only be defined once in a structure. For e.g. **DIM\_ACTIVITY**(a dimensions related to projects) the activity sequence is unique so we have to make sure that the code key item in DIM_ACTIVITY is represented by the activity sequence. The corresponding leaf dimensions must also have an item typed as the leaf identity that represents the unique value. The main reason for this is to be able to find out exactly where in a structure a specific leaf belongs.
  • Information in XlrDimItemStructInfo must be supplied for both the special set of structure dimensions as well as for the target dimension.

The following attributes are supported,

Attribute Data Type Description
DimensionItemId String Identity of the dimension item. Parent key.
StructureItemType Enumeration Specifies type of structure item. The following values can be used:
  • Xlr_Structure_Util_API.STRUCTURE_ID_ITEM_ Defines the item representing the structure identity.
    Mandatory in target dimension as well as in all structure specific dimensions.
  • Xlr_Structure_Util_API.STRUCTURE_ID_DESC_ITEM_ Defines the item representing the structure description. Mandatory in target dimension as well as in the structure specific dimension.
  • Xlr_Structure_Util_API.LEVEL_ID_ITEM_ Defines the item representing the structure level identity.
    Might not exist. If available it is mandatory in the target dimension and in the structure level dimension.
  • Xlr_Structure_Util_API.LEVEL_ID_DESC_ITEM_ Defines the item representing the structure level description. Might not exist. If available it is mandatory in the target dimension and in the structure level dimension.
  • Xlr_Structure_Util_API.PARENT_LEVEL_ID_ITEM_ Defines the item representing the structure level parent identity. Might not exist. If available it's mandatory in the structure level dimension.
  • Xlr_Structure_Util_API.NODE_ID_ITEM_ Defines the item representing the structure node identity. Mandatory in target dimension as well as in the structure specific node and leaf dimensions.
  • Xlr_Structure_Util_API.NODE_ID_DESC_ITEM_ Defines the item representing the structure node description. Mandatory in target dimension as well as in the structure specific node dimension
  • Xlr_Structure_Util_API.PARENT_NODE_ID_ITEM_ Defines the item representing the structure node parent identity. Mandatory in the structure specific node dimension
  • Xlr_Structure_Util_API.LEAF_ID_ITEM_Defines the item representing the structure leaf identity. Mandatory in the target dimensions as well as in the structure specific leaf dimension. This item should not be visible to the client.
  • Xlr_Structure_Util_API.ORDINARY_ITEM_Defines a non structure item. It is only normally only used behind the scenes by the framework and does actually never have to be set in Metadata.
ConnectedStructureItemId String Define the connected structure item identity associated with the current item. This identity should always point to an item in one of the structure specific dimensions.
It should be defined for items that are added to the target dimension.

In the Meta Data file this entity is represented by the following section:

XlrDimensionLovItem

The entity keeps information about dimensions items that should be displayed when generating a List of Values.

List of Values is always ordered with respect to a specific item and if this item is a dimension item then it is possible, through this information object, to specify other dimension items in the same dimension that should be displayed along with the master item, i.e. additional list-items.

Example: When the user orders List of Values for the account code this means that the master dimension item is DIM_ACCOUNT.CODE. If we do not provide any information in XlrDimensionLovItem we will only get a list of accounts. So if we want to display something more we can add this information in XlrDimensionLovItem, e.g. adding DIM_ACCOUNT.DESCRIPTION and DIM_ACCOUNT.ACCOUNT_GROUP as List of Values items associated with DIM_ACCOUNT.CODE. It is possible to define extra display items for any number of items but normally only a few of the items in a dimension will normally require this extra information.

The following attributes are supported:

Attribute Data Type Description
DimensionItemId String Identity of the dimension item. Parent key.
ItemNo Integer Item number of additional List of Values items. Key.
LovDimensionItemId String Identity of other dimension items than DimensionItemId, but belonging to the same dimension, that should be part of the List of values.
DisplayOrder Integer Defines the order that the items will appear in the List of Values.

In the Meta Data file this enity is represented by the following section:

XlrDimensionLovSort

The entity keeps information about default sort order when generating a List of Values for a specific dimension item.

It is important to make sure that supplied sort dimension items really are available.

Example: We have defined that DIM_COMPANY.DESCRIPTION should be added when generating List if values on DIM_ACCOUNT.CODE (in XlrDimensionLovItem ). Now we can define the default sort order item as DIM_ACCOUNT.CODE or the items DIM_ACCOUNT.CODE and DIM_ACCOUNT.DESCRIPTION but if we specify DIM_ACCOUNT.ACCOUNT_GROUP then this is an invalid item if the dimension DIM_ACCOUNT should perform distinct select when generating the List-Of-Values.

The following attributes are supported:

Attribute Data Type Description
DimensionItemId String Identity of the dimension item. Parent key.
ItemNo Integer Item number of sort items. Key
SortDimensionItemId String Identity of dimension item that should be used as default sort order item in List of Values.
AscendingSort Boolean Selected if the List of Values should be sorted in ascending order with respect to this item.

In the Meta Data file this entity is represented by the following section:

XlrDimSourceHintItem

This entity keeps performance related information about dimension items per data access type and the following attributes are supported:

Attribute Data Type Description
DimensiontId String Identity of the dimension that owns the item.
SourceType Enumeration Data access type, i.e. On Line or Data Mart.
The value can be one of:
  • Xlr_Meta_Util_API.DM_SOURCE_TYPE_(Data Mart)
  • Xlr_Meta_Util_API.ONLINE_SOURCE_TYPE_(On Line)
DimensionItemId String Identity of the dimension item that the information applies to.
HintType Enumeration Type of hint; either a derived item (defined via e.g. a sub select or a function call) or an indexed item.
The value can be one of:
  • Xlr_Meta_Util_API.DERIVED_ITEM_HINT_TYPE_(derived item)
  • Xlr_Meta_Util_API.INDEX_ITEM_HINT_TYPE_(indexed item)

In the Meta Data file this entity is represented by the following section, with one sub section per data access type:

XlrDimSourceIx

This entity keeps information about dimension source indexes per data access type, and the following attributes are supported:

Attribute Data Type Description
DimensionId String Identity of the dimension that owns the item.
SourceType Enumeration Data access type, i.e. On Line or Data Mart.
The value can be one of:
  • Xlr_Meta_Util_API.DM_SOURCE_TYPE_(Data Mart)
  • Xlr_Meta_Util_API.ONLINE_SOURCE_TYPE_(On Line)
IndexName String Name of a source table index. All indexes in all tables that defines the dimension, with index columns represented as dimension items should preferably by defined.

In the Meta Data file this entity is represented by the following section, with one sub section per data access type:

XlrDimSourceIxItem

This entity keeps the source index details, i.e. the dimension items that are indexed. The following attributes are supported:

Attribute Data Type Description
DimensiontId String Identity of the dimension that owns the item.
SourceType Enumeration Data access type, i.e. on line or data mart.
The value can be one of:
  • Xlr_Meta_Util_API.DM_SOURCE_TYPE_(Data Mart)
  • Xlr_Meta_Util_API.ONLINE_SOURCE_TYPE_(On Line)
IndexName String Name of a source table index.
DimensionItemId String Identity of the indexed dimension item.
ColumnPosition Number Column position in the index according to Oracle.

In the Meta Data file this entity is represented by the following section, with one sub section per data access type:

XlrDimItemFunctions

This entity defines references from a dimension item to BR Parameter Functions.

One dimension item may reference many BR Parameter Functions. The functions are used in IFS Business Reporter when for a given item an associated function based parameter is created.

The following attributes are supported:

Attribute Data Type Description
DimensionItemId String Identity of the dimension item
FunctionId String Identity of a BR Parameter Function that associated with the dimension item

In the metadata file this entity is represented by the following section, with one sub section per BR Parameter Function: