A Facts is the main entity in a Star Schema model and in most cases represents transactional data. By connecting dimensions to a fact we get an Information Source. A fact provides the following information:
This section supplies some guidelines how to develop facts.
Note: All development of fact in IFS Applications should be done by using IFS Developer Studio.
The Business Reporting & Analysis services framework handles two data access types:
Fact data is in this case processed and stored either in Materialized Views or in snapshot tables in the Oracle database. For this case the following storage layer objects have to be created:
- Materialized View(s) or snapshot tables
- Specific views related to incremental load of snapshot tables
- Fact View
In this case the fact data is retrieved from the ordinary core tables or views. For this case the following storage layer objects have to be created:
- Fact View
Metadata files:
This file currently also an INS file.
Some specific aspects to be considered when creating a fact:
The information can be derived from one or more tables and the items can be either directly referenced or calculated.
_key
The key columns can be useful for Drill Down functionality but also for handling of true/natural join.
It is important that NULL identities are handled correctly, i.e. taking into account that a dimension identity can NULL in a transaction row.
Note: The NULL handling for dimension identity columns differ between the Online and Data Mart version.
Make sure that the dimension identity definitions in the fact match the identity definition in each dimension.
This means that if a dimensions has an ID=
"<parent_column>^<code_column>",
then it should be made sure that the columns <parent_column> and <code_column>
are also available as separate columns in the fact.
The main purpose is to support natural/true join for Online execution.
- The database value
- The translated database value
Splitting a source into several sub sources might increase the understanding/clarity and might also be good for performance, since each source then has less transactions than the original source.
The security has to be implemented in the fact view. This applies both to Data Mart and Online.
- One view is always the standard view for the data access type.
- An optional view that is used if the view handling type is UseOptional.
This view can e.g. be defined without Row Level Security definitions, to make it possible to switch to a faster view if the customer allows this.
- An alternative view, that can be used if the view handling type is AlternativeOrStd.
The view is linked to an API that has to be defined.
If the API for the current user, during execution, allows the user to use the alternative view, it can be used. Else the standard view is used.
- All views for a fact has to support the same items.
Development of Data Mart support means that the fact specific data is collected in one of the following ways:
The fact information is retrieved by a Data Mart specific fact view.
Development of Online support means that the fact specific data is retrieved directly from the source tables via an online specific fact view.
A component that owns Information Sources, can define a default BR Client Navigator folder name for its Information Sources. This is done in a component specific INS file. Executing these component INS files during installation means that registered Information Sources will appear in the Information Source Navigator in IFS Business Reporter directly after the installation (as long as the user has been granted access to the Information Sources).
The following method is used to register a default folder for an Information Source:
Xlr_Def_Fact_Nav_Folder_API.Set_Default_Folder_Name( fact_id_ IN VARCHAR2, default_folder_name_ IN VARCHAR2, always_add_ IN BOOLEAN DEFAULT FALSE)
The method actions are:
If a fact (IS) is removed via the
Setup BAClient Navigator then that fact (IS) will not be added again
if the INS file is executed. This must be considered as the standard behavior.
There might however be cases where it is necessary to force an addition of as
fact to the BA Client Navigator. To handle this
case it is necessary to define the always_add_
parameter to
TRUE
, i.e.
-- Default way of calling the registration method Xlr_Def_Fact_Nav_Folder_API.Set_Default_Folder_Name(<'<fact_id>', 'Financials'); -- Making sure that the fact is always added to the default folder Xlr_Def_Fact_Nav_Folder_API.Set_Default_Folder_Name(<'<fact_id>', 'Financials', TRUE);
Each component with Information Sources defines its own INS file. A template file can be found here.