Overview - Custom Dimension Connections¶
This page gives an overview of functionality that enables an end-user to configure how a given dimension should be connected to a Fact (Information Source). The functionality also supports creation of new inherited dimensions.
Some general cases that are supported by the functionality:
- Connect a dimension that is not yet connected to an Information Source.
- A dimension is already connected to an Information Source but there is a need to change how the connection between the two is defined.
- A new instance of an existing and connected dimension, i.e. an inherited dimension, needs to be created and connected.
- A new time dimension needs to be created and connected.,
Some use cases are presented in this section.
Case 1 - Create a new Dimension-Fact connection¶
A typical case can be that there is a need to connect an existing dimension to a Fact (Information Source). If e.g. a customer is using the code parts in Financials in a specific way, it can be a possible to connect a new dimension that represents values also represented by a given code part.
If e.g. code part G is always used to represent suppliers, then the supplier dimension can be connected to code part G as well. Of course it is important to be aware of a few things:
- A code part can be used for different purposes in different companies, which means that to connect the supplier dimension to one code part might not be accurate in all cases.
- If the dimension connected has only one key, e.g. Supplier ID, and that key is connected to the code part G in the Fact, then the connection in not complete since a code part dimension is always connected using the parent key Company and the key, code part. This type of connections will still work but it is important to design the reports in a proper way.
Another case is when a Fact (Information Source) is lacking a dimension. The dimension either exists as a core dimension or is created as a quick dimension, e.g. from a LU (entity) view or an IAL. As long as the Fact has all necessary attributes, it will be possible to connect the dimension.
Case 2 - Create and connect a new instance of an existing dimension¶
In some cases it is might not be possible to define Information Source queries with only one instance of a specific dimension. This can be handled by creating a new instance of the dimension, i.e. to create an Inherited Dimension, and then connect it. Say that the Supplier dimension is already connected to a Fact and we need yet another supplier dimension to be able to handle the necessary filter criteria. The Custom Dimension Connections functionality can be used to create and connect this inherited dimension.
A limitation to be aware of is that not all dimensions can be inherited.
Case 3 - Connect a new time dimension¶
There can be a need to create a new time dimension and connected it to a date column in one or more Facts. This can also be handled by the Custom Dimension Connections functionality, by starting with the general time dimension DIM_BI_TIME, defining the Facts and for each Fact specifying that a new inherited dimension should be created. This means that a new time dimension, inherited from DIM_BI_TIME, will be created and connected to an appropriate date and it also enables the possibility to use a time dimension with the same name in several Facts (which is fine as long as the dates have a shared meaning).
Custom Dimension Connections Page¶
The functionality related to dimension connections is handled by one single page called Custom Dimension Connections.
The page has a header part, a Join Info/Connections section with Fact (Information Source) information and a Join Info Details section with connection information for each Fact (Information Source).
|Dimension ID||Identity of the Dimension|
|Display Name||The display name of the Dimension|
|Module||The identity of the component to which the Dimension belongs|
|Approved||Defines whether the (Approved) Custom Dimension Connections are approved for publishing|
|Published||Defines whether the (Approved) Custom Dimension Connections are published and available to be used|
|Synchronized||Selected as long as no configurations have been made that affects the published Custom Dimension Connections|
|Fact ID||Identity of the Fact (Information Source)|
|Display Name||The display name of the Fact|
|Module||The identity of the component to which the Fact belongs|
|Display Order for Dimension||Defines whether the (Approved) Custom Dimension Connections are approved for publishing|
|Exact Join||Defines whether the (Approved) Custom Dimension Connections are published and available to be used|
|Dimension Already Connected||Selected as long as no configurations have been made that affects the published Custom Dimension Connections|
|Replace Existing Dimension Connection||Selected if the current Join Information should be modified. Valid only for Dimensions which are already connected|
|New Inherited Dimension ID||Identity of new dimension which will be inherited from the Dimension and connected to the Fact|
|Display Name of New Inherited Dimension
||Display Name of New Inherited Dimension
|Dimension Alias||Alias used when creating the SQL join between dimension and Fact. Mandatory when an Inherited Dimension is connected or a new Inherited Dimension is created|
|Approved||Defines whether the Custom Dimension Connection is approved for publishing|
|Synchronized||Selected as long as no configurations have been made that affect the published Custom Dimension Connection|
Join Info Details¶
|Join No||Join detail counter|
|Fact Item ID||Identity of the Fact Item to be joined with the Dimension Item|
|Dimension Item ID||Identity of the Dimension Item to be joined with the Fact Item|
A workflow for defining dimension connections is presented below:
- Start by creating a new record and specify the dimension to be connected.
A special case is when the purpose is to create an inherited dimension from an existing dimension, then Dimension ID represents the dimension to be inherited from. The dimension to be connected is in this case specified in the connection details. 2. Save the header 3. Next define the Facts (Information Sources) that the dimension should be connected to. 1. Specify identity of the Fact (Information Source) to which the dimension is to be connected 2. Define the Display Order, i.e. the order in which the dimension appears in the Information Source navigator e.g. in IFS Business Reporter. 3. Define if the join between the dimension and the Fact is exact or not, i.e. if each row in the Fact contains the necessary dimensions keys or not. 4. Special case - the dimensions is already connected to the Fact 1. Select Replace Existing Dimension Connection if the purpose is to change how the Fact and the dimension is connected (joined) 2. If the purpose is to create a new inherited dimension based in Dimension ID then enter a new dimension identity in New Inherited Dimension ID, supply a display name for the new dimension and also define a Dimension Alias. 4. For each Fact (Information Source) it will be necessary to define the join information, i.e. how the dimension is connected to the Fact. To simplify, once a (Fact) connection is selected the command named Suggest Join Info can be used to get a suggested join created. 5. Once a Fact (Information Source) connection is completed, it is necessary to Approve the connection. 6. Next step is to Approve all approved connections. 7. The last step is to Publish the defined and approved connections. This step leads to that Information Source metadata will be modified and that in some cases new database objects are created.
How to modify or remove defined connections is described below:
- Perform Unpublish on header level. This means that all added metadata configurations are removed, the old definitions are restored and all custom specific database objects are removed.
- Perform Disapprove on header level.
- Disapprove connections to be modified or deleted.
- Remove connections that should no longer apply or modify the connection definitions.
- If all connections are removed then it can be worth removing the dimension (header) entry as well.
- If modifications were done, start over by approving the modified connections and then Approve and Publish on the header level.
Export and Import¶
Custom Dimension Connections definitions can be exported from one environment and imported in another.
Export and Import is available as commands in the header part of the Custom Dimension Connections page.
The export will consider all defined connections and join details, even connections that are not yet approved.
The import will always define all connections as not approved.
The export/import functionality can be used to move definitions from e.g. a Test environment to a Prod environment.
Note: The Custom Dimension Connections might refer to Custom Attributes. If so, it will be necessary to first export and import the needed Custom Attributes before handling the export and import of the Custom Dimension Connections.
Monitoring - Diagnostics¶
The Custom Dimension Connections definitions lead to that existing Dimension/Fact source views are referenced.
If something happens to the tables referenced by the source views, the source views might get invalidated.
To keep track of views, indirectly referenced by Custom Dimension Connections definitions, that become invalid and thus may lead to that the custom connection joins no longer are valid, a monitoring event with identity IS_CUSTOM_DIM_CONN_INV_VIEWS in category IS_CUSTOM_OBJECTS has been added and can be found in Application Monitoring Console.
Always make sure to investigate the reason for the invalid views are used. Invalid Fact/Dimension source views leads to that related Facts/Dimensions cannot be properly used in IFS Business Reporter etc.
For more information about monitoring, please refer to documentation about Application Monitoring Console Configuration
Some examples on how to use the Custom Dimension Connections functionality can be found via this link >>