Online Development of a dimension means creating a dimension view before defining and deploying BI Services specific Metadata for the dimension.
This section provides some of the basic steps needed to create Online support for a dimension.
Note: A dimension should as far as possible always support both Online and Data Mart access. For more details about Data Mart implementation please refer to the Data Mart development page.
Some general remarks about Online development for dimensions,
NULL
identities. This means that the dimension view does not have a UNION ALL
section that adds parent lines as in the Data Mart implementation.The reason is trying to keep the dimension definitions as simple as possible
and to avoid negative performance effects by the UNION ALL section.
- The performance if executing Online is normally not as good as a Data Mart execution.
The reason is normally that all information has to be retrieved and calculated at runtime.
- One single function in the dimension view can affect performance quite badly.
The only way to find out is to test and maybe consider view modifications or even design changes.
- The join between a fact and a dimension is in the Online case normally performed as a so called natural join between the ordinary key columns in the dimension and the matching columns in the fact, also called joiners.
- For a natural join it is necessary to specify if the join is exact or not, i.e. if the dimension identity is always present or not in all transaction rows.
- It might be the case that it is very difficult to get a decent performance with the natural join. When this happens the following should be considered:
- Redesign - might mean preparing purpose-built data in IFS Applications that is better suited as the base for an Information Source.
- Switch to Data Mart solution.
Development of Online support for a dimension means creating a set of files that have to be deployed in the database.
The files are,
The dimension view definition is represented as an API file, meaning that it represents a public read interface.
The file is deployed in the database.
After deployment the natural thing would be to SELECT from the view.
Make sure that:
SUB SELECT statements are correct.Note: It is very important to refresh the F1 dictionary after having created a new dimension view that is supposed to act as List of values view in Info Services.
A dimension has to be described/defined in a Metadata file. The Metadata is represented as an INS file.
The file is deployed in the database as any other INS file.
There is of course also the possibility to create the dimension metadata in the Information Source feature.
Information about the deployment is output on screen (or in a log file). Errors must be investigated and corrected. Information lines should be looked up. Do one of the following:
SELECTSELECT * FROM XLR_IMPORT_LOG_TAB ORDER BY TIMESTAMP DESC
When the accurate IMPORT_ID has been found, the following
SELECT can be performed:
SELECT * FROM XLR_IMPORT_LOG_TAB WHERE IMPORT_ID = '<import_id>' ORDER BY LINE_ID ASC
An implementation example related to an Online version of a Dimension can be found here.