There is lot of posts on internet on how to create your own custom fact groups and integrate them in load plans. But almost all of those requires you to intervene in ODI Metadata tables which sometimes leads to haphazard.
In this post, I’ll give you the alternate approach that Oracle recommends and works well for all of your custom modules. Also, I’ll mention all the bottlenecks that I had dealt during this phase.
Load plan generation in BIACM works through a utility called LPG aka load plan generator which ultimately crawls through the entire ODI code for all the checked Fact group and the associated dimension groups and creates a master load plan which is nothing but a amalgamation of many load plans that resides in dev components. System components tell you the ordering in which the selected dev components should pick up. It is not that convoluted as it sounds. We’ll go step by step to understand what’s happening and how can we use all these to integrate our custom module.
Below are the steps delineating the process of generating a load plan out of custom fact group
- Create Fact Group & Dimension Group (through BIACM)
- Goto Manage Business Intelligence Applications > Business Intelligence Applications Offerings tab
- Check the box against Oracle Custom Analytics > Custom Functional Area for Custom Analytics.
- Now under associated dimension and fact groups click on the + sign to add the fact group followed by the dimension group
- Now the next step is to create Dev Components (individual LP consisting of scenarios) in ODI
- SDE Dimension LP (_DS scenarios)
- SDE Fact LP(_FS scenarios)
- SIL Dimension LP (_D scenarios)
- SIL Fact LP(_F scenarios)
- Add dev components to respective system components (remember the ordering based upon the dependency)
- Add Fact group & dimension group name(from step 1) to flex-field value of each individual table at module level. It helps LPG in segregating tables based upon the Module
- Create foreign keys in fact table to refer the associated dimension.
- PRODUCT_LINE_VERSION_KEY,
- DATA_SERVER_TYPE,
- LS_DATASOURCE_NUM_ID
- LS_SCHEMA_TYPE
The trick is to atleast add a single foreign key to a dimension that has its scenario attached in respective dev component.