SlideShare a Scribd company logo
No more unknown members!
Smart data load validation for Hyperion Planning
using ODI
Ricardo Giampaoli
Rodrigo Radtke
About the Speakers
Giampaoli, Ricardo
● Oracle Ace Associate
● Master in Business Administration
and IT management
● Founder of TeraCorp Consulting
● EPM training instructor
● Essbase/Planning/OBIEE/ODI
Certified Specialist
● Blogger @ devepm.com
Radtke, Rodrigo
● Oracle Ace Associate
● Graduated in Computer
Engineering
● Software Developer Advisor at Dell
● ODI, Oracle and Java Certified
● Blogger @ devepm.com
 TeraCorp is a company specialized in products and services
focused on EPM
 TeraCorp mission is to create innovate solutions that helps
people, businesses and partners to exceed their goals reaching
their full potential.
 Learn more @ www.teracorp.com.br/en
About TeraCorp
 Planning uses RDBMS to store its metadata
information
● One main repository is used for Planning system
● One additional repository for each Planning App
 Planning uses Essbase as Database
● The Planning App repositories has the same
Metadata information than Essbase Outline
 The Metadata sync is done by “Refreshing” the
metadata from Planning to Essbase
Hyperion Planning Architecture
 Store all Data used in Hyperion
Planning
 One Essbase App for each
Planning App
 One Essbase cube per each
Planning Plan Type
● Each cube has its own outline that
matches the Planning metadata
● Each cube has its own Data Files
that stores the Planning data
Hyperion Essbase Architecture
 In order to load data in Essbase, its mandatory to inform a
combination of members from all dimension and a data value
● Essbase reads data sources starting at the top and proceeding from left
to right
● Essbase gets the sparse member’s combination informed and
brings/creates the “block” in memory
● Essbase tries to load this member combination data into the block
● If all members from that combination are valid, the data is successfully
loaded
Essbase Data Load
 Three ways to load data:
●Using Essbase Load Data
● If a member is not valid, the process is aborted and no data is
loaded
●Using Essbase Load Rules
● If a member is not valid, the process continues (depending of
the configuration) and all data but the erroneous ones is loaded
●Using ODI
● ODI is a powerful ETL tool used to integrate all different data
sources with Essbase using Java Essbase API to load data
Essbase Data Load
 ODI sends chunks of data to Essbase based on a “Commit Interval”
defined in the Knowledge Module
 If a member is not valid, Essbase cancel the entire Chunk of data and
ODI API switches to “Cell mode”, which sends one individual row to
Essbase per time, until the commit interval ends, making the process
extremely slow
 Invalid member combination causes an error in the data load
● “2015-03-30 18:00:52,234 DEBUG [DwgCmdExecutionThread]: Error occurred in sending
record chunk…Cannot end data load. Analytic Server Error(1003014): Unknown
Member [ACT001] in Data Load, [0] Records Completed 2015-03-30 18:00:52,234
DEBUG [DwgCmdExecutionThread]: Sending data record by record to Essbase”
Essbase Data Load using ODI
 In order to prevent “Cell mode” to happen, we can:
● Check the metadata before the load process to guarantee that all
members are valid
 We can do this dynamically and easily using ODI Constraints
(CKM) and Planning Metadata Repository
Essbase Data Load using ODI
 ODI uses Knowledge Modules (KM) to interact with different
technologies
ODI Architecture
KM Type Description
LKM Loading Loads heterogeneous data to a staging area
IKM Integration Uses a given strategy to populate the target datastore from the Staging Area
CKM Check Checks data in a datastore for errors statically or during an integration process
RKM Reverse-
engineering
Retrieves the structure of a data model from a database. It is needed only for
customized reverse-engineering.
JKM Journalizing Creates the Change Data Capture framework objects in the source staging area
SKM Data Services Deploys data services that provide access to data in datastores
 ODI Constraints checks automatically if the data inside a column
is valid according to a specific condition
 Constraints are used by the CKMs to log all invalid data to a E$
table
 Need to validate all metadata columns before load to Essbase to
guarantee that no invalid member will be sent (preventing “Cell
mode” to trigger)
ODI Constraints (CKM)
 ODI interacts with Planning/Essbase using diverse KMs
● For Planning ODI has only a Load Metadata KM
● For Essbase ODI has a load and extract KMs for both Metadata and
Data
● ODI Knowledge Modules manipulates data to Planning/Essbase using
Java API
 ODI does not have a CKM for Essbase
● Data validation needs to happen in the inbound tables, before the data is
sent to Essbase
ODI Constraints (CKM) and Essbase
 CKM validation is tied to the DataStore (Inbound tables)
● For each inbound Table we need to create a set of constraints to
validate the data
● This makes difficult when we have more planning applications to load
data since we will have multiple inbounds jobs
 If we have only one generic inbound table that contains one
column for each planning dimension (Distinct of all dimensions
from all Applications) we can have dynamic ODI Constraints to
validate any number of Hyperion Planning applications
ODI CKM and Inbound Tables
 For each dimension column in this table, an
ODI constraint will be created to guarantee that
the data is valid for that dimension
● Create the table respecting the Sparse dimensions first and
dense dimension later, this way we can load a entire block
each time
● The dense members are set before the data columns to
improve performance
● If the job loads an entire year the Period members could go
into columns (Loads an entire block per time)
● APP_NAME, CUBE and INTERFACE_NAME is used for
multiple application purposes
Inbound Generic table design
 In order to validate against Essbase outline, we would need to
extract all outline members first
● One ODI interface per dimension
● Can be very slow in some large dimensions
 Easier if we validate against Planning Repository (RDBMS)
● All metadata information from all dimensions is inside the Planning App
repository
● A lot faster to extract the metadata since it uses SQL
● Can be used even without the need of extracting the metadata
ODI Constraints (CKM) Estrategy
 Option 1:
● Inbound table is in the same Database as Planning App Repository or
using DB Link
● Uses the Planning Repository SQL inside the ODI Constraints querying the
Planning App repository on the fly
 Option 2:
● Inbound table in a different Database as Planning App Repository
● Needs to export all existing metadata from Planning App Repository to a temporary
table first and then create the ODI Constraints to query this temp table
Data Validation Architecture
 All Planning App metadata is stored in only one table
Planning Repository (HSP_OBJECT)
Column Name Description
OBJECT_ID Object ID for all objects in planning.
OBJECT_NAME Stores all metadata description in Planning (e.g. Alias, Members)
OBJECT_TYPE Type of the Object (e.g. Entity, Account, Attribute…)
PARENT_ID Parent ID of the object. Used for build the parent/child relationship with OBJECT_ID
GENERATION Inform which generation that object belongs.
HAS_CHILDREN Inform if the object has or not a child
 All existing metadata can be retrieved by a single query on
HSP_OBJECT
 If we change the query a little we can bring all members at once
Repository Query
This query will return
all Accounts Hierarchy
This query will return
all Hierarchies
 Not all members in HSP_OBJECT will be loaded to all Essbase
Cubes
● The member’s Plan Type defines in which Cube it will exist
 Each Essbase Cube is represented by a Plan Type in Planning
 Each Planning member may belong to multiple Plan Types
 Data load occurs in one cube at a time
● That’s why we must find out which Plan Types a member
belongs in order to validate the data for the correct cube
Planning Repository
 The properties of the members are stored in this table
Planning Repository (HSP_MEMBER)
Column Name Description
MEMBER_ID Same as Object ID.
USED_IN
Defines in what Plan Types (Cubes) that member will belong.
In case of a member exists in more than one Plan Type, Planning Sums the value
of all plan types its belongs
Plan Types: 1 2 3 4 5
Used In: 1 2 4 8 16
 This table stores the Plan Types created in the Planning App
Planning Repository (HSP_PLAN_TYPE)
Column Name Description
PLAN_TYPE ID of the Plan Type
TYPE_NAME Name of the Plan Type
 For each plan type that the member belongs
Planning SUMs the Used In
● If a Member exists in Plan Type 1 and 2 Used In 1 + 2 = 3
● All Plan Types = 1 + 2 + 4 + 8 + 16 = 31
 To figure out if a member belongs to a plan type we
need to verify if its “Used In” is included in the SUM
● Plan Type 5 (Used in 16) exists in 31?
● Plan Type 1 (Used in 1) exists in 30?
● Which Plan Type exists in 20?
Planning Repository
Plan Type Used In
Plan Type 1 1
Plan Type 2 2
Plan Type 3 4
Plan Type 4 8
Plan Type 5 16
 MOD returns the remainder
(modulus) of argument 1 divided
by argument 2
● If MOD of Used In per actual Plan
Type * 2 is >= actual Plan Type then
it exists in the SUM of Plan Types.
● Plan Type 5 exists in 31
● Plan Type 1 not exists in 30
● Plan Type 3 and 5 exists in 20
Planning Repository
 All necessary validation data will come from these three tables
● A member that belongs to two Plan Types will appear two times
● MOD technique is used to discover which Plan Type that member
belongs to and “OR” is used to combine more than one Plan Type
Repository Query
This query multiplies all
members depending of
how many Plan type it
belongs
 Another way to select a
Plan Type is using
BITAND
● BITAND computes an
AND operation of the bits
Planning Repository
Plan Type Used In Binary
Plan Type 1 1 00001
Plan Type 2 2 00010
Plan Type 3 4 00100
Plan Type 4 8 01000
Plan Type 5 16 10000
 Three types of ODI constraints:
● Key: Checks if there are duplicated records or NULL
values in the data
● Reference: Checks the relationship (Foreign key) between two tables.
Both tables needs to be reverse-engineered inside ODI models
● Condition: Checks for any other specific rule using custom queries
 Better to use Condition:
● No additional ODI models required (just the inbound table)
● More SQL flexibility
● Allow complex logic checks
ODI Constraints (CKM) Implementation
 Validates directly against Hyperion Planning repository
● One constraint per dimension
● No need of any “extra” metadata extract
 Inbound table and Planning Repository schemas needs to be in
the same database or using DB Link
● ODI needs to execute a SQL that access both tables (Inbound table and
Planning repository) in the same connection
Option 1: Constraints Against Planning App
 2 changes in the
query for all
constraints
 2 ODI variables
that dynamically
switches between
Planning
Applications and
Plan Types
Option 1: Constraints Against Planning App
 Need to extract the metadata to a temporary table every time
 One constraint per dimension
 Inbound table and Planning Repository schemas may exist in
different Databases
 Temp table will be created on the same Inbound table schema
Option 2: Constraints Against a Temporary Table
Option 2: Constraints against a temporary table
 Gets all Dimensions at
same time
 1 ODI variables that
dynamically switches
between Planning
Applications
Option 2: Constraints Creation
 2 changes in the
query for all
constraints
 2 ODI variables
that dynamically
switches between
Planning
Applications and
Plan Types
ODI Constraints Execution
 When we open ODI
Operator, each constraint
validation will be shown
in the “Control” steps
 Each step will show how
may invalid members
was removed from the
inbound data
 Invalid data is sent to the
E$ error table
 With only one inbound generic table, we will have only one
generic E$ table
● Stores all the POV and the data that fails the validation
● ODI_Cons_name, Interface_Name, App_Name, Cube and
ODI_Sess_NO identifies what was the error, from which package that
error came from and to which Planning app it should have loaded
Generic E$
 Easy to add new Planning Applications
 Generic Inbound tables makes easier to create Generic
components
● Send Email
● Text Logs (export from E$ table)
● Error Handling
● Fewer ODI components to Maintain
Generic Structure Benefits
Overall Architecture
Excel
Oracle
Sql
Server
XML
Teradata
Sources Stage Area
Inbound Table
Table 1
Table 2
Table 3
Table 4
Table N
Inbound
Generic
E$ Table
E$ Inbound
Generic
Generic Components
Error
Handling
Send
Email
Planning
Cube
1
Cube
2
Cube
3
Cube
N
QUESTIONS?
Ricardo Giampaoli – TeraCorp
Rodrigo Radtke de Souza - Dell
Thank you!

More Related Content

What's hot

nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
Alithya
 
03. data forms in hyperion planning
03. data forms in hyperion planning03. data forms in hyperion planning
03. data forms in hyperion planning
epmvirtual.com
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
Alithya
 
GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS
  GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS  GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS
GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS
Kyle Goodfriend
 
Attributes of output Primitive
Attributes of output Primitive Attributes of output Primitive
Attributes of output Primitive
SachiniGunawardana
 
Hyperion LCM Utility
Hyperion LCM UtilityHyperion LCM Utility
Hyperion LCM Utility
Amit Sharma
 
A Guide to Oracle's Planning and Budgeting Cloud Service
A Guide to Oracle's Planning and Budgeting Cloud ServiceA Guide to Oracle's Planning and Budgeting Cloud Service
A Guide to Oracle's Planning and Budgeting Cloud Service
InnovusPartners
 
Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)
US-Analytics
 
Boyer moore algorithm
Boyer moore algorithmBoyer moore algorithm
Boyer moore algorithm
AYESHA JAVED
 
Compiler Design Unit 1
Compiler Design Unit 1Compiler Design Unit 1
Compiler Design Unit 1
Jena Catherine Bel D
 
Planning learn step by step
Planning learn step by stepPlanning learn step by step
Planning learn step by step
ksrajakumar
 
The Wright Move – A Continued Journey to the Oracle EPM Cloud
 The Wright Move – A Continued Journey to the Oracle EPM Cloud The Wright Move – A Continued Journey to the Oracle EPM Cloud
The Wright Move – A Continued Journey to the Oracle EPM Cloud
Alithya
 
Rpp myob komputer akuntansi
Rpp myob komputer akuntansiRpp myob komputer akuntansi
Rpp myob komputer akuntansi
Vira Zeski
 
I Can do WHAT with PCMCS? Features and Functions, Business Benefits, and Use...
I Can do WHAT with PCMCS?  Features and Functions, Business Benefits, and Use...I Can do WHAT with PCMCS?  Features and Functions, Business Benefits, and Use...
I Can do WHAT with PCMCS? Features and Functions, Business Benefits, and Use...
Alithya
 
Essbase ASO and BSO tuning
Essbase ASO and BSO tuningEssbase ASO and BSO tuning
Essbase ASO and BSO tuning
sodhiranga
 
Erp cloud service integration how end to-end_automation
Erp cloud service integration how end to-end_automationErp cloud service integration how end to-end_automation
Erp cloud service integration how end to-end_automation
Vikas Rai PRINCE2® ITIL®
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next Level
Francisco Amores
 
EPBCS - A New Approach to Planning Implementations
EPBCS - A New Approach to Planning ImplementationsEPBCS - A New Approach to Planning Implementations
EPBCS - A New Approach to Planning Implementations
Joseph Alaimo Jr
 
Redis and its many use cases
Redis and its many use casesRedis and its many use cases
Redis and its many use cases
Christian Joudrey
 
My Favorite Calc Code
My Favorite Calc CodeMy Favorite Calc Code
My Favorite Calc Code
Alithya
 

What's hot (20)

nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
nter-pod Revolutions: Connected Enterprise Solution in Oracle EPM Cloud
 
03. data forms in hyperion planning
03. data forms in hyperion planning03. data forms in hyperion planning
03. data forms in hyperion planning
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
 
GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS
  GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS  GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS
GETTING STARTED WITH GROOVY FOR THE NON-TECHNICAL SUPERSTARS
 
Attributes of output Primitive
Attributes of output Primitive Attributes of output Primitive
Attributes of output Primitive
 
Hyperion LCM Utility
Hyperion LCM UtilityHyperion LCM Utility
Hyperion LCM Utility
 
A Guide to Oracle's Planning and Budgeting Cloud Service
A Guide to Oracle's Planning and Budgeting Cloud ServiceA Guide to Oracle's Planning and Budgeting Cloud Service
A Guide to Oracle's Planning and Budgeting Cloud Service
 
Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)Oracle Planning and Budgeting Cloud Service (PBCS)
Oracle Planning and Budgeting Cloud Service (PBCS)
 
Boyer moore algorithm
Boyer moore algorithmBoyer moore algorithm
Boyer moore algorithm
 
Compiler Design Unit 1
Compiler Design Unit 1Compiler Design Unit 1
Compiler Design Unit 1
 
Planning learn step by step
Planning learn step by stepPlanning learn step by step
Planning learn step by step
 
The Wright Move – A Continued Journey to the Oracle EPM Cloud
 The Wright Move – A Continued Journey to the Oracle EPM Cloud The Wright Move – A Continued Journey to the Oracle EPM Cloud
The Wright Move – A Continued Journey to the Oracle EPM Cloud
 
Rpp myob komputer akuntansi
Rpp myob komputer akuntansiRpp myob komputer akuntansi
Rpp myob komputer akuntansi
 
I Can do WHAT with PCMCS? Features and Functions, Business Benefits, and Use...
I Can do WHAT with PCMCS?  Features and Functions, Business Benefits, and Use...I Can do WHAT with PCMCS?  Features and Functions, Business Benefits, and Use...
I Can do WHAT with PCMCS? Features and Functions, Business Benefits, and Use...
 
Essbase ASO and BSO tuning
Essbase ASO and BSO tuningEssbase ASO and BSO tuning
Essbase ASO and BSO tuning
 
Erp cloud service integration how end to-end_automation
Erp cloud service integration how end to-end_automationErp cloud service integration how end to-end_automation
Erp cloud service integration how end to-end_automation
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next Level
 
EPBCS - A New Approach to Planning Implementations
EPBCS - A New Approach to Planning ImplementationsEPBCS - A New Approach to Planning Implementations
EPBCS - A New Approach to Planning Implementations
 
Redis and its many use cases
Redis and its many use casesRedis and its many use cases
Redis and its many use cases
 
My Favorite Calc Code
My Favorite Calc CodeMy Favorite Calc Code
My Favorite Calc Code
 

Viewers also liked

What would happen if i did...in hfm (part 2)
What would happen if i did...in hfm (part 2)What would happen if i did...in hfm (part 2)
What would happen if i did...in hfm (part 2)
Alithya
 
EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17
Datavail
 
Understanding Cloud Strategies: On premise, Cloud, and the Hybrid Approach
Understanding Cloud Strategies: On premise, Cloud, and the Hybrid ApproachUnderstanding Cloud Strategies: On premise, Cloud, and the Hybrid Approach
Understanding Cloud Strategies: On premise, Cloud, and the Hybrid Approach
Alithya
 
What Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE EditionWhat Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE Edition
Alithya
 
Know about hfm
Know about hfmKnow about hfm
Know about hfm
prasana lakky
 
KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3
Alithya
 

Viewers also liked (6)

What would happen if i did...in hfm (part 2)
What would happen if i did...in hfm (part 2)What would happen if i did...in hfm (part 2)
What would happen if i did...in hfm (part 2)
 
EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17EPM Logs 101 - Hyperion Focus 17
EPM Logs 101 - Hyperion Focus 17
 
Understanding Cloud Strategies: On premise, Cloud, and the Hybrid Approach
Understanding Cloud Strategies: On premise, Cloud, and the Hybrid ApproachUnderstanding Cloud Strategies: On premise, Cloud, and the Hybrid Approach
Understanding Cloud Strategies: On premise, Cloud, and the Hybrid Approach
 
What Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE EditionWhat Would Happen If I...? FDMEE Edition
What Would Happen If I...? FDMEE Edition
 
Know about hfm
Know about hfmKnow about hfm
Know about hfm
 
KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3
 

Similar to No more unknown members! Smart data load validation for Hyperion Planning using ODI

RGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrationsRGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrations
Ricardo Giampaoli
 
Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)
Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)
Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)
Rodrigo Radtke de Souza
 
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCSHow to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
Rodrigo Radtke de Souza
 
Test Data Transfer Tool
Test Data Transfer ToolTest Data Transfer Tool
Test Data Transfer Tool
Hai Nguyen
 
introductionofssis-130418034853-phpapp01.pptx
introductionofssis-130418034853-phpapp01.pptxintroductionofssis-130418034853-phpapp01.pptx
introductionofssis-130418034853-phpapp01.pptx
YashaswiniSrinivasan1
 
Data warehouse physical design
Data warehouse physical designData warehouse physical design
Data warehouse physical design
Er. Nawaraj Bhandari
 
How to build data accessibility for everyone
How to build data accessibility for everyoneHow to build data accessibility for everyone
How to build data accessibility for everyone
Karen Hsieh
 
Database management system (part 1)
Database management system (part 1)Database management system (part 1)
Database management system (part 1)
KavithaA19
 
Take a peek at Dell's smart EPM global environment
Take a peek at Dell's smart EPM global environmentTake a peek at Dell's smart EPM global environment
Take a peek at Dell's smart EPM global environment
Rodrigo Radtke de Souza
 
Oracle advanced supply chain planning implementation and user
Oracle advanced supply chain planning implementation and userOracle advanced supply chain planning implementation and user
Oracle advanced supply chain planning implementation and user
Sairam Laga
 
Database Migration Tool
Database Migration ToolDatabase Migration Tool
Database Migration Tool
ijceronline
 
Msbi Architecture
Msbi ArchitectureMsbi Architecture
Dbms schemas for decision support
Dbms schemas for decision supportDbms schemas for decision support
Dbms schemas for decision support
rameswara reddy venkat
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Amazon Web Services
 
Resume..
Resume..Resume..
Resume..
Ramesh Gurajana
 
DBMS
DBMS DBMS
Datastage to ODI
Datastage to ODIDatastage to ODI
Datastage to ODI
Nagendra K
 
AWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best PracticesAWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best Practices
Amazon Web Services
 
The strength of a spatial database
The strength of a spatial databaseThe strength of a spatial database
The strength of a spatial database
Peter Horsbøll Møller
 
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
Equnix Business Solutions
 

Similar to No more unknown members! Smart data load validation for Hyperion Planning using ODI (20)

RGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrationsRGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrations
 
Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)
Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)
Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)
 
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCSHow to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
 
Test Data Transfer Tool
Test Data Transfer ToolTest Data Transfer Tool
Test Data Transfer Tool
 
introductionofssis-130418034853-phpapp01.pptx
introductionofssis-130418034853-phpapp01.pptxintroductionofssis-130418034853-phpapp01.pptx
introductionofssis-130418034853-phpapp01.pptx
 
Data warehouse physical design
Data warehouse physical designData warehouse physical design
Data warehouse physical design
 
How to build data accessibility for everyone
How to build data accessibility for everyoneHow to build data accessibility for everyone
How to build data accessibility for everyone
 
Database management system (part 1)
Database management system (part 1)Database management system (part 1)
Database management system (part 1)
 
Take a peek at Dell's smart EPM global environment
Take a peek at Dell's smart EPM global environmentTake a peek at Dell's smart EPM global environment
Take a peek at Dell's smart EPM global environment
 
Oracle advanced supply chain planning implementation and user
Oracle advanced supply chain planning implementation and userOracle advanced supply chain planning implementation and user
Oracle advanced supply chain planning implementation and user
 
Database Migration Tool
Database Migration ToolDatabase Migration Tool
Database Migration Tool
 
Msbi Architecture
Msbi ArchitectureMsbi Architecture
Msbi Architecture
 
Dbms schemas for decision support
Dbms schemas for decision supportDbms schemas for decision support
Dbms schemas for decision support
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
 
Resume..
Resume..Resume..
Resume..
 
DBMS
DBMS DBMS
DBMS
 
Datastage to ODI
Datastage to ODIDatastage to ODI
Datastage to ODI
 
AWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best PracticesAWS Summit Singapore - Managing a Database Migration Project | Best Practices
AWS Summit Singapore - Managing a Database Migration Project | Best Practices
 
The strength of a spatial database
The strength of a spatial databaseThe strength of a spatial database
The strength of a spatial database
 
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
[EPPG] Oracle to PostgreSQL, Challenges to Opportunity
 

Recently uploaded

Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Aggregage
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
jerlynmaetalle
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
74nqk8xf
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
kuntobimo2016
 
Natural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptxNatural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptx
fkyes25
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
Sm321
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
apvysm8
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
ahzuo
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
nuttdpt
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
dwreak4tg
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
g4dpvqap0
 
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdfEnhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
GetInData
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Kiwi Creative
 

Recently uploaded (20)

Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
Influence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business PlanInfluence of Marketing Strategy and Market Competition on Business Plan
Influence of Marketing Strategy and Market Competition on Business Plan
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
 
Natural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptxNatural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptx
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
 
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdfEnhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdf
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
 

No more unknown members! Smart data load validation for Hyperion Planning using ODI

  • 1. No more unknown members! Smart data load validation for Hyperion Planning using ODI Ricardo Giampaoli Rodrigo Radtke
  • 2. About the Speakers Giampaoli, Ricardo ● Oracle Ace Associate ● Master in Business Administration and IT management ● Founder of TeraCorp Consulting ● EPM training instructor ● Essbase/Planning/OBIEE/ODI Certified Specialist ● Blogger @ devepm.com Radtke, Rodrigo ● Oracle Ace Associate ● Graduated in Computer Engineering ● Software Developer Advisor at Dell ● ODI, Oracle and Java Certified ● Blogger @ devepm.com
  • 3.  TeraCorp is a company specialized in products and services focused on EPM  TeraCorp mission is to create innovate solutions that helps people, businesses and partners to exceed their goals reaching their full potential.  Learn more @ www.teracorp.com.br/en About TeraCorp
  • 4.  Planning uses RDBMS to store its metadata information ● One main repository is used for Planning system ● One additional repository for each Planning App  Planning uses Essbase as Database ● The Planning App repositories has the same Metadata information than Essbase Outline  The Metadata sync is done by “Refreshing” the metadata from Planning to Essbase Hyperion Planning Architecture
  • 5.  Store all Data used in Hyperion Planning  One Essbase App for each Planning App  One Essbase cube per each Planning Plan Type ● Each cube has its own outline that matches the Planning metadata ● Each cube has its own Data Files that stores the Planning data Hyperion Essbase Architecture
  • 6.  In order to load data in Essbase, its mandatory to inform a combination of members from all dimension and a data value ● Essbase reads data sources starting at the top and proceeding from left to right ● Essbase gets the sparse member’s combination informed and brings/creates the “block” in memory ● Essbase tries to load this member combination data into the block ● If all members from that combination are valid, the data is successfully loaded Essbase Data Load
  • 7.  Three ways to load data: ●Using Essbase Load Data ● If a member is not valid, the process is aborted and no data is loaded ●Using Essbase Load Rules ● If a member is not valid, the process continues (depending of the configuration) and all data but the erroneous ones is loaded ●Using ODI ● ODI is a powerful ETL tool used to integrate all different data sources with Essbase using Java Essbase API to load data Essbase Data Load
  • 8.  ODI sends chunks of data to Essbase based on a “Commit Interval” defined in the Knowledge Module  If a member is not valid, Essbase cancel the entire Chunk of data and ODI API switches to “Cell mode”, which sends one individual row to Essbase per time, until the commit interval ends, making the process extremely slow  Invalid member combination causes an error in the data load ● “2015-03-30 18:00:52,234 DEBUG [DwgCmdExecutionThread]: Error occurred in sending record chunk…Cannot end data load. Analytic Server Error(1003014): Unknown Member [ACT001] in Data Load, [0] Records Completed 2015-03-30 18:00:52,234 DEBUG [DwgCmdExecutionThread]: Sending data record by record to Essbase” Essbase Data Load using ODI
  • 9.  In order to prevent “Cell mode” to happen, we can: ● Check the metadata before the load process to guarantee that all members are valid  We can do this dynamically and easily using ODI Constraints (CKM) and Planning Metadata Repository Essbase Data Load using ODI
  • 10.  ODI uses Knowledge Modules (KM) to interact with different technologies ODI Architecture KM Type Description LKM Loading Loads heterogeneous data to a staging area IKM Integration Uses a given strategy to populate the target datastore from the Staging Area CKM Check Checks data in a datastore for errors statically or during an integration process RKM Reverse- engineering Retrieves the structure of a data model from a database. It is needed only for customized reverse-engineering. JKM Journalizing Creates the Change Data Capture framework objects in the source staging area SKM Data Services Deploys data services that provide access to data in datastores
  • 11.  ODI Constraints checks automatically if the data inside a column is valid according to a specific condition  Constraints are used by the CKMs to log all invalid data to a E$ table  Need to validate all metadata columns before load to Essbase to guarantee that no invalid member will be sent (preventing “Cell mode” to trigger) ODI Constraints (CKM)
  • 12.  ODI interacts with Planning/Essbase using diverse KMs ● For Planning ODI has only a Load Metadata KM ● For Essbase ODI has a load and extract KMs for both Metadata and Data ● ODI Knowledge Modules manipulates data to Planning/Essbase using Java API  ODI does not have a CKM for Essbase ● Data validation needs to happen in the inbound tables, before the data is sent to Essbase ODI Constraints (CKM) and Essbase
  • 13.  CKM validation is tied to the DataStore (Inbound tables) ● For each inbound Table we need to create a set of constraints to validate the data ● This makes difficult when we have more planning applications to load data since we will have multiple inbounds jobs  If we have only one generic inbound table that contains one column for each planning dimension (Distinct of all dimensions from all Applications) we can have dynamic ODI Constraints to validate any number of Hyperion Planning applications ODI CKM and Inbound Tables
  • 14.  For each dimension column in this table, an ODI constraint will be created to guarantee that the data is valid for that dimension ● Create the table respecting the Sparse dimensions first and dense dimension later, this way we can load a entire block each time ● The dense members are set before the data columns to improve performance ● If the job loads an entire year the Period members could go into columns (Loads an entire block per time) ● APP_NAME, CUBE and INTERFACE_NAME is used for multiple application purposes Inbound Generic table design
  • 15.  In order to validate against Essbase outline, we would need to extract all outline members first ● One ODI interface per dimension ● Can be very slow in some large dimensions  Easier if we validate against Planning Repository (RDBMS) ● All metadata information from all dimensions is inside the Planning App repository ● A lot faster to extract the metadata since it uses SQL ● Can be used even without the need of extracting the metadata ODI Constraints (CKM) Estrategy
  • 16.  Option 1: ● Inbound table is in the same Database as Planning App Repository or using DB Link ● Uses the Planning Repository SQL inside the ODI Constraints querying the Planning App repository on the fly  Option 2: ● Inbound table in a different Database as Planning App Repository ● Needs to export all existing metadata from Planning App Repository to a temporary table first and then create the ODI Constraints to query this temp table Data Validation Architecture
  • 17.  All Planning App metadata is stored in only one table Planning Repository (HSP_OBJECT) Column Name Description OBJECT_ID Object ID for all objects in planning. OBJECT_NAME Stores all metadata description in Planning (e.g. Alias, Members) OBJECT_TYPE Type of the Object (e.g. Entity, Account, Attribute…) PARENT_ID Parent ID of the object. Used for build the parent/child relationship with OBJECT_ID GENERATION Inform which generation that object belongs. HAS_CHILDREN Inform if the object has or not a child
  • 18.  All existing metadata can be retrieved by a single query on HSP_OBJECT  If we change the query a little we can bring all members at once Repository Query This query will return all Accounts Hierarchy This query will return all Hierarchies
  • 19.  Not all members in HSP_OBJECT will be loaded to all Essbase Cubes ● The member’s Plan Type defines in which Cube it will exist  Each Essbase Cube is represented by a Plan Type in Planning  Each Planning member may belong to multiple Plan Types  Data load occurs in one cube at a time ● That’s why we must find out which Plan Types a member belongs in order to validate the data for the correct cube Planning Repository
  • 20.  The properties of the members are stored in this table Planning Repository (HSP_MEMBER) Column Name Description MEMBER_ID Same as Object ID. USED_IN Defines in what Plan Types (Cubes) that member will belong. In case of a member exists in more than one Plan Type, Planning Sums the value of all plan types its belongs Plan Types: 1 2 3 4 5 Used In: 1 2 4 8 16
  • 21.  This table stores the Plan Types created in the Planning App Planning Repository (HSP_PLAN_TYPE) Column Name Description PLAN_TYPE ID of the Plan Type TYPE_NAME Name of the Plan Type
  • 22.  For each plan type that the member belongs Planning SUMs the Used In ● If a Member exists in Plan Type 1 and 2 Used In 1 + 2 = 3 ● All Plan Types = 1 + 2 + 4 + 8 + 16 = 31  To figure out if a member belongs to a plan type we need to verify if its “Used In” is included in the SUM ● Plan Type 5 (Used in 16) exists in 31? ● Plan Type 1 (Used in 1) exists in 30? ● Which Plan Type exists in 20? Planning Repository Plan Type Used In Plan Type 1 1 Plan Type 2 2 Plan Type 3 4 Plan Type 4 8 Plan Type 5 16
  • 23.  MOD returns the remainder (modulus) of argument 1 divided by argument 2 ● If MOD of Used In per actual Plan Type * 2 is >= actual Plan Type then it exists in the SUM of Plan Types. ● Plan Type 5 exists in 31 ● Plan Type 1 not exists in 30 ● Plan Type 3 and 5 exists in 20 Planning Repository
  • 24.  All necessary validation data will come from these three tables ● A member that belongs to two Plan Types will appear two times ● MOD technique is used to discover which Plan Type that member belongs to and “OR” is used to combine more than one Plan Type Repository Query This query multiplies all members depending of how many Plan type it belongs
  • 25.  Another way to select a Plan Type is using BITAND ● BITAND computes an AND operation of the bits Planning Repository Plan Type Used In Binary Plan Type 1 1 00001 Plan Type 2 2 00010 Plan Type 3 4 00100 Plan Type 4 8 01000 Plan Type 5 16 10000
  • 26.  Three types of ODI constraints: ● Key: Checks if there are duplicated records or NULL values in the data ● Reference: Checks the relationship (Foreign key) between two tables. Both tables needs to be reverse-engineered inside ODI models ● Condition: Checks for any other specific rule using custom queries  Better to use Condition: ● No additional ODI models required (just the inbound table) ● More SQL flexibility ● Allow complex logic checks ODI Constraints (CKM) Implementation
  • 27.  Validates directly against Hyperion Planning repository ● One constraint per dimension ● No need of any “extra” metadata extract  Inbound table and Planning Repository schemas needs to be in the same database or using DB Link ● ODI needs to execute a SQL that access both tables (Inbound table and Planning repository) in the same connection Option 1: Constraints Against Planning App
  • 28.  2 changes in the query for all constraints  2 ODI variables that dynamically switches between Planning Applications and Plan Types Option 1: Constraints Against Planning App
  • 29.  Need to extract the metadata to a temporary table every time  One constraint per dimension  Inbound table and Planning Repository schemas may exist in different Databases  Temp table will be created on the same Inbound table schema Option 2: Constraints Against a Temporary Table
  • 30. Option 2: Constraints against a temporary table  Gets all Dimensions at same time  1 ODI variables that dynamically switches between Planning Applications
  • 31. Option 2: Constraints Creation  2 changes in the query for all constraints  2 ODI variables that dynamically switches between Planning Applications and Plan Types
  • 32. ODI Constraints Execution  When we open ODI Operator, each constraint validation will be shown in the “Control” steps  Each step will show how may invalid members was removed from the inbound data  Invalid data is sent to the E$ error table
  • 33.  With only one inbound generic table, we will have only one generic E$ table ● Stores all the POV and the data that fails the validation ● ODI_Cons_name, Interface_Name, App_Name, Cube and ODI_Sess_NO identifies what was the error, from which package that error came from and to which Planning app it should have loaded Generic E$
  • 34.  Easy to add new Planning Applications  Generic Inbound tables makes easier to create Generic components ● Send Email ● Text Logs (export from E$ table) ● Error Handling ● Fewer ODI components to Maintain Generic Structure Benefits
  • 35. Overall Architecture Excel Oracle Sql Server XML Teradata Sources Stage Area Inbound Table Table 1 Table 2 Table 3 Table 4 Table N Inbound Generic E$ Table E$ Inbound Generic Generic Components Error Handling Send Email Planning Cube 1 Cube 2 Cube 3 Cube N
  • 37. Ricardo Giampaoli – TeraCorp Rodrigo Radtke de Souza - Dell Thank you!