SlideShare a Scribd company logo
Greg Briscoe
Director, Governance and MDM Delivery, US-Analytics
Robert Paramore
DRM Architect and Oracle Principal Solution Consultant
12.14.16
2
Best Practices, Unlocked
 Demystify some of the innermost secrets of DRM —
including how to correct mistakes learned from
inexperienced consultants and misinformed trainers
 Cover how to avoid the most common mistakes we
find with client implementations
 Give you best-practice examples that will make your
implementation run smoothly and provide a scalable,
easy-to-maintain application
3
Agenda Introductions1
Versions2
Hierarchies3
Nodes/Members4
Key Takeaways and Next Steps7
Properties5
Queries and Validations6
4
Want to Hear Audio With This Presentation?
Download the Webinar Replay
5
Director of Governance & Master Data Management Sales & Services
Meet Greg
 Has been working with Oracle products since 1990 — the past 13
years have been focused on Oracle Data Relationship Management
(previously with Razza Solutions, and Hyperion)
 More than 30 years experience in finance and developing business
technologies
 Experienced in project, program, and quality management for
implementation delivery and software development
 Successfully managed multiple projects with budgets in excess of
$70 million
 Has been involved in all aspects of consulting — as a Director of Oracle
Consulting’s Hyperion and BI data integration team for over 5 years,
Greg provided support for Engagement Management, Solution Design,
Project Management, and Services Sales
ABOUTUS-ANALYTICS
Managed Services
Upgrades & Migrations
Implementations
Infrastructure
Process & Advisory
Services
Big Data
Data Governance
Business Intelligence
Financial Close & Consolidation
Planning & Forecasting
Solutions
Data IntegrationTraining
Accolades
– Original Oracle Hyperion and Pillar Partner
– Oracle Data Relationship Management 11.1.2
– Oracle Hyperion Financial Management 11
– Oracle Hyperion Planning 11
– Oracle Essbase 112013, 2014, 2015
2015 Oracle TOLA
EPM Partner of the Year
7
US-Analytics helps hundreds of the nation’s largest and brightest companies
bridge the gap between business goals and IT deliverables.
8
Oracle Principal Solution Consultant – Data Relationship Management (DRM)
Meet Robert Paramore
 Has been working with Oracle solutions since 1998 — the
past 13 years have been focused on Oracle Data Relationship
Management (previously with Razza Solutions, and Hyperion)
 Has been an FS customer (Wachovia), a Hyperion
Implementation Consultant (came to Oracle first via Hyperion
acquisition), a partner doing DRM implementations (The
Hackett Group), and back at Oracle 3+ years as an SC
 Strong financial services industry experience, as well as
experience in many other industries
 Directly engaged with pursuits/projects at Citizens Bank,
Deutsche Bank, Met Life, Northrup Grumman, Aviva, Experian,
Office Depot, Verizon, Pearson, and many others
9
DRM Versions
DRM was not designed to support an
infinitely open “Working” Version
10
Versions are containers for dimensions
and hierarchies
 Versions are the containers for multiple hierarchies:
▶ Enable period-by-period change control
▶ Old versions retained for history / audit purposes
 Versions can be copied to create:
▶ Starting point for the next period’s master data
▶ Ad hoc planning scenarios
 Versions can be compared to identify changes
 Version status is used to identify stages in master data life cycle
 “As Of” versions can be created to represent any point in time:
▶ Leverages Transaction History to generate
11
Master Data Life Cycle
Version Status Management
Working Submitted Finalized
Expired
AdministratorBusiness users
Working
(next period)
Copy to New
12
DRM Versions
Always save your current period working version as your next period starting version.
 It is important for DRM customers to follow this versioning strategy process as a best practice to
ensure that DRM’s delivered functionality may be fully utilized and to ensure complete SOX
compliance.
 If “Final” versions are simply copied from one ongoing “Working” version, the transaction
history for all of DRM will be stored within that one “Working” version. This compounding
transaction history will prove to be problematic. Eventually an IT developed process will have to
be implemented to delete history to avoid system performance issues, and unfortunately this
will potentially create a Sarbanes Oxley (SOX) compliance issue. Also DRM will no longer be able
to support the ability to “roll back” to a certain point in time using transaction history. Since
DRM rebuilds a version using the first transaction through the date of the desired roll-back,
moving the version back one day will take an extraordinary amount of time in that DRM would
have to apply every transaction made in that version since inception. In most cases IT will have
to re-start the application if someone attempts this process.
13
DRM VersionsDRM Hierarchies
 DRM supports Primary
and Alternate Hierarchies
 DRM supports multiple
member node mappings
across different
hierarchies
14
Dimensions, Domains, & Hierarchies
 Terms often used interchangeably
 “Dimension/Domain” might imply multiple hierarchies:
▶ Accounts dimension may include “Balance Sheet”, “Profit & Loss”
▶ May also include alternate roll-ups
▶ DRM uses “Category Groups” to align hierarchies into domains or dimensions
 “Hierarchy” has a very specific meaning in DRM:
▶ Hierarchy is defined by the “Top Node”
▶ Top node of a hierarchy may also have a parent in an alternate hierarchy
15
Types of Hierarchies
DRM supports any hierarchy type:
▶ Flat lists
▶ Ragged / Natural
▶ Balanced
▶ ABBA DABBA
Hierarchies belong together in a Version
and should not be placed in separate Versions
just to maintain uniqueness!
16
Alternate Hierarchies
 Alternate roll-up structures
 Usually contain a subset of the members of a dimension
 DRM enforces strict rules on alternate hierarchies:
▶ A hierarchy is defined by its Top Node
▶ A Node can be a member of multiple hierarchies
▶ Nodes will always have the same descendants in any alternate hierarchy
 Orphans are possible, and may need to be cleaned:
▶ What is an orphan?
17
Alternate Hierarchies
Top Nodes & Members
 Three hierarchies (H1, H2, H3)
 A, X, Z are top nodes of hierarchies
 What are the members of each
hierarchy ?
▶ H1: A,B,C,D,E
▶ H2: X, Y, Z, D, W, E
▶ H3: Z, W
H1: A H2: X
B
DC
E
Y
W
H3: Z
18
DRM Mappings
 Mapping by Structure
 Mapping between nodes, and across hierarchies
 “Pointer” properties enable single and multiple mappings:
▶ These are a subset of data types for a property (see manual)
▶ Can only point to other nodes within the same version:
‒ This is a “feature” - encapsulation of all functionality in a version
▶ Pointers can be:
‒ One-way (“pointer”)
‒ Two-way (“associated nodes”)
19
DRM Mappings Special Data Types
Data Type Source Target
Node
(LimbNode)
(LeafNode)
Points to a single target node
(one to one, one way)
No knowledge of source
MultiNod
Points to multiple target nodes
(one to many, one-way)
No knowledge of source
AscNode
Points to a single target node
(one to one, two-way)
Target node points back to
the source node (“marriage”)
AscNodes
Points to multiple target nodes
(one to many, two-way)
Target nodes point back to
source, but not to each other
(“friends”)
AscGroup
Points to multiple target nodes
(network)
Target nodes all point to each
other (“fraternity”)
20
DRM VersionsDRM Nodes/Members
 DRM member nodes are by definition global
 DRM supports multiple parents
 Imports and Blends versus Scripts aka Automators
 Use Domains, Prefixes, and Hierarchy Groups
21
DRM Bulk Data Imports
 DRM Import functionality is designed for fast, bulk loads:
▶ Does not enforce security or validations
▶ Individual record loads are not logged
▶ Thousands of records can be loaded in only a few minutes
 So requires load into new, empty version
▶ After import is completed, hierarchies can be “blended” into final destination
versions
22
DRM Blender
 Allows any two hierarchy fragments to me merged:
▶ Hierarchy fragments can be in different versions
▶ Option to create a new target version containing the result set – recommended!
▶ Blender allows many options:
‒ Process moves
‒ Process inserts
‒ Process removes:
• Potentially very destructive
▶ Bender also permits property values to be merged
23
Shared and Duplicate Nodes
 Shared nodes:
▶ Nodes exist only once: shared members are pointers to the original
▶ Can be re-used in multiple locations in multiple hierarchies
▶ Always have the same descendant nodes (so roll-ups consistent)
▶ DRM supports these “out of the box” (minor configuration required)
 Duplicate nodes:
▶ Not permitted in DRM
▶ But nodes can appear in multiple hierarchies … some may refer to these as
“duplicates”
24
Myth 4: “DRM Properties”
 DRM properties reduce the amount of data input
 DRM properties are powerful
▶ Property definitions span the entire repository and
are visible to all versions, hierarchies, and nodes.
▶ Property definitions cross versions, so making a
change to a property definition can affect current
as well as historical data.
 DRM now supports Jython scripting to augment
its functionality
DRM Properties
25
DRM Properties
 You can not use “NameSpace” anyway you want
▶ Custom. must be the beginning of all non Oracle delivered properties
 Properties can be Local, Global, Hierarchy, or Version
 Local Properties can have different values for the same node in different hierarchies
 Local properties may hold different values for shared nodes within a hierarchy
 Any property that involves position in a hierarchy “must” be local
 Global Properties for any node have the same value everywhere that node is used
26
Formula Performance Guidelines
 Derived formulas used with properties and validations can greatly impact
overall system performance
 5 Steps to Improving System Performance with Formulas
▶ Understand when formulas are being calculated
▶ Understand which formula functions are the most expensive and should only be
used when necessary
▶ Try to perform as few calculations as possible
▶ Minimize the number of nodes that need to be evaluated
▶ Separate common formula expressions into their own derived properties
27
Features Using Formulas
 Formulas may be calculated during
▶ Browsing (View By and Node Type properties)
▶ Searching (Find By properties)
▶ Editing (Node Type property and Real Time validations)
▶ Batch Validations (Validation criteria)
▶ Queries (Filter criteria and return properties)
▶ Compares (Filter criteria and return properties)
▶ Imports (Derived and overrideable properties)
▶ Blenders (Derived and overrideable properties)
▶ Exports (Filter criteria and export columns)
28
Formula Optimization
 Changing the way a formula is written may result in a significant
performance improvement for long-running operations that calculate
formulas for a large set of nodes
 Convenience and performance are often tradeoffs
▶ Using one property formula with IF logic may perform worse than using two separate
properties
▶ Avoid “overloading” one formula with too much conditional logic
▶ Avoid combining conditional logic for different contexts into the same formula
▶ Avoid referring to a calculated value of a related node if it can be calculated locally for the
current node using a different property
 Taking the time upfront to optimize formulas will typically outweigh the
time taken to troubleshoot bad performance later
29
Node Type Implications
 Node types are evaluated when browsing hierarchies or displaying node-
level properties
 Node types are also evaluated when performing node-level changes
 Using a complex derived property to determine the node type could
degrade performance of these operations
 Consider creating separate node type properties and using them with
different hierarchies rather than combining all logic into a single node type
property
 Avoid using iterative or recursive formulas for node types if possible
30
Expensive Formula Functions
 Iterative functions are the most expensive in terms of performance
▶ ListDescendants, ListChildren, ListAncestors, ListSiblings
▶ ListRelatedNodesWith, ListNodesWith, and ListNodePropValues
▶ NumDescendantsWith and NumChildWith
▶ HasChildWith and HasSiblingWith
▶ IsNodeAbove and IsNodeBelow
▶ InvertedLevel
 Functions used recursively can also be very expensive depending on the
number of nodes that must be evaluated
▶ ParentPropValue
▶ PreviousSibling and NextSibling
31
Expression Caching?
 Derived properties and/or validations may evaluate the same expression
multiple times for the same node
 When embedded multiple times in the same formula or in larger formulas
across multiple properties/validations, these expressions are calculated
multiple times for the same node
 Create a new derived property that will contain only the expression that is
called multiple times
 The derived property will be calculated only once for each node
 Modify the original formula(s) to refer to the new derived property value
when the expression needs to be evaluated
32
Expression Caching - Example
HFM.Membership
If(Or(Equals(Integer,PropValue(Core.Level),1),Equals(String,
ParentPropValue(HFM.Membership),Base Member)),Not Applicable,
If(And(Equals(String, ParentPropValue(HFM.Membership),Parent Member),
Not(NodeIsLeaf())),Parent Member,
If(And(Equals(String,ParentPropValue(HFM.Membership)
,Parent Member),NodeIsLeaf()),Base Member,
ParentPropValue(HFM.Membership))))
ParentPropValue(HFM.Membership) is calculated 4 times for each node
33
Expression Caching - Example
HFM.ParentMembership = ParentPropValue(HFM.Membership)
If(Or(Equals(Integer,PropValue(Core.Level),1),Equals(String,
PropValue(HFM.ParentMembership),Base Member)),Not Applicable,
If(And(Equals(String, PropValue(HFM.ParentMembership),Parent Member),
Not(NodeIsLeaf())),Parent Member,
If(And(Equals(String,PropValue(HFM.ParentMembership)
,Parent Member),NodeIsLeaf()),Base Member,
PropValue(HFM.ParentMembership))))
ParentPropValue(HFM.Membership) is calculated once for each node
34
Diagnostics Utility – Property Profiler
 Analyzes the processing cost of properties for nodes in a hierarchy
 Enables implementers and administrators to
▶ Identify properties which may cause performance issues
▶ Compare similar derived property formulas to determine which is better
performing
▶ Understand why one process may be slower/faster than another
▶ Determine their options for improving performance
 DRM-Diagnostics.exe is available in the following PSUs
▶ 11.1.2.1.106
▶ 11.1.2.2.300
35
Diagnostics Utility – Property Profiler
Command-line
interface
/Help command
lists all valid
parameters
Run
interactively or
via a batch
script
36
Myth 5: “DRM Validations and Queries”
 DRM validations can be performed in batch,
real-time, and on demand
 DRM “Classic” cannot test for the existence of
a value until the record is committed, or saved.
Use the DRG for this kind of user interfacing!
 DRG can validate using an external database
table, and by using a 3rd party API call
DRM Validations & Queries
37
Validations and Queries
 Use List/Lookups - Avoid un-necessary validations
 Use custom properties “IsValidName” for production delivery
▶ Build queries that only evaluate Yes/No, or True/False (Booleans)
‒ They will run faster, cause much less performance impact on your environment
 Use consistent naming
▶ Standards for naming should be established before any DRM component is
configured!
38
Q&A
39
 Schedule a custom demo for your organization
 Review cost proposals, a high-level
implementation timeline, and how to make
DRM work in your organization
Greg Briscoe
Vice President DRM/MDM
Service Delivery
Mobile: 512-771-2370
gbriscoe@us-analytics.com
www.us-analytics.com
Contact
What’s Next?
40
Evolution of DRM
ERA RELEASE BRANDED AS … CORE TECH KEY NEW FEATURES
2000 1.x – 4.x Bank One HCS / CCS • Client-Server (2-tier)
• “Thick” client
2002 5.x – 8.x Mazlo (briefly), then
Razza Dimension Server
• N-Tier architecture • Import, blend
2005 9.x Hyperion MDM
2008 11.x – 11.1.1 Oracle DRM • Focus on Oracle DB • Open API
2010 11.1.2 Oracle DRM • Browser-based client
• 64 bit server
• Unicode support
• Multi apps per server
• Integration to EBS, EPMA …
• BPEL workflow integration (WDK)
• Metadata migration + App Templates
• Anonymous read-only access
2013 11.1.2.3 Oracle DRM
Oracle DRG
• JavaScript for properties &
validations
• Embedded governance & workflow
• Enhanced integration (continuing)
2015 11.1.2.4 Oracle DRM
Oracle DRG
• Updated application
architecture
• Key enhancements to governance &
workflow
41
Industry Standard and Widely Deployed
Over 1,500 DRM Customers Globally!
PUBLIC SECTOR LIFE SCIENCES
AND HEALTHCARE
RETAIL
HIGH TECHNOLOGYMANUFACTURING &
DISTRIBUTION
COMMUNICATIONS
MEDIA & UTILITIES
FINANCIAL SERVICES
42
Want to Hear Audio With These Slides?
Download the Audio Presentation

More Related Content

PPT
Importancia das folhas
PPTX
DRM Webinar Series, PART 2: Concerned You're Not Getting the Most Out of Orac...
PDF
Distributed Algorithms with DDS
PPTX
DRM Webinar Series, PART 1: Barriers Preventing You From Getting Started?
PPT
Using Product Box to Build the Complete Developer
PDF
Adopting Domain-Driven Design in your organization
PDF
Domain Driven Design
PPTX
Chosing The Right Language for your project
Importancia das folhas
DRM Webinar Series, PART 2: Concerned You're Not Getting the Most Out of Orac...
Distributed Algorithms with DDS
DRM Webinar Series, PART 1: Barriers Preventing You From Getting Started?
Using Product Box to Build the Complete Developer
Adopting Domain-Driven Design in your organization
Domain Driven Design
Chosing The Right Language for your project

Similar to DRM Webinar Series, PART 4: Best Practices, Unlocked (20)

PPTX
Dreamforce14 Multi Org Collaboration Architecture
PPTX
Pragmatic Approach to Microservices and Cell-based Architecture
PDF
Domain Specific Languages for Parallel Graph AnalytiX (PGX)
PDF
Integrating DDS into AXCIOMA - The Component Approach
PDF
Integrating DDS into AXCIOMA, the component approach
DOC
136 latest dot net interview questions
PDF
Cyclone DDS Unleashed: The Origins
PPTX
Domain Driven Design
PPTX
Technologies for startup
PDF
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
PDF
Everything You Need To Know To Find DAO Makers_ How To Hire DAO Developers.pdf
DOC
7 latest-dot-net-interview-questions
PDF
Introduction to Tools and Frameworks in DApp Development.pdf
PPT
KB Seminars: Working with Technology - Platforms; 10/13
PDF
Product Keynote: Advancing Denodo’s Logical Data Fabric with AI and Advanced ...
PDF
Star team 13 datasheet(1)
PDF
From class to architecture
PPTX
Q Con New York 2015 Presentation - Conjur
ODP
Everything you always wanted to know about Distributed databases, at devoxx l...
Dreamforce14 Multi Org Collaboration Architecture
Pragmatic Approach to Microservices and Cell-based Architecture
Domain Specific Languages for Parallel Graph AnalytiX (PGX)
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA, the component approach
136 latest dot net interview questions
Cyclone DDS Unleashed: The Origins
Domain Driven Design
Technologies for startup
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
Everything You Need To Know To Find DAO Makers_ How To Hire DAO Developers.pdf
7 latest-dot-net-interview-questions
Introduction to Tools and Frameworks in DApp Development.pdf
KB Seminars: Working with Technology - Platforms; 10/13
Product Keynote: Advancing Denodo’s Logical Data Fabric with AI and Advanced ...
Star team 13 datasheet(1)
From class to architecture
Q Con New York 2015 Presentation - Conjur
Everything you always wanted to know about Distributed databases, at devoxx l...
Ad

More from US-Analytics (12)

PPTX
IT Made Me Virtualize Essbase and Performance Sucks
PPTX
Planning presentation introduction to planning
PPTX
Best of Oracle Hyperion 11.1.2.4
PPTX
Oracle Planning and Budgeting Cloud Service (PBCS)
PPTX
Sending Hyperion Planning to the Cloud
PPTX
DRM Webinar Series, PART 3: Will DRM Integrate With Our Applications?
PPTX
Data Governance for EPM Systems with Oracle DRM
PPTX
How to Save 30% on Your General Ledger Redesign/Upgrade
PPTX
Data Governance for the Cloud with Oracle DRM
PPTX
What's New In Hyperion Planning 11.1.2.4?
PPTX
Oracle EPM Mobility 11.1.2.4
PPTX
What's New In HFM 11.1.2.4?
IT Made Me Virtualize Essbase and Performance Sucks
Planning presentation introduction to planning
Best of Oracle Hyperion 11.1.2.4
Oracle Planning and Budgeting Cloud Service (PBCS)
Sending Hyperion Planning to the Cloud
DRM Webinar Series, PART 3: Will DRM Integrate With Our Applications?
Data Governance for EPM Systems with Oracle DRM
How to Save 30% on Your General Ledger Redesign/Upgrade
Data Governance for the Cloud with Oracle DRM
What's New In Hyperion Planning 11.1.2.4?
Oracle EPM Mobility 11.1.2.4
What's New In HFM 11.1.2.4?
Ad

Recently uploaded (20)

PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation theory and applications.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
Teaching material agriculture food technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Digital-Transformation-Roadmap-for-Companies.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation theory and applications.pdf
Big Data Technologies - Introduction.pptx
Review of recent advances in non-invasive hemoglobin estimation
Understanding_Digital_Forensics_Presentation.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Teaching material agriculture food technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
Electronic commerce courselecture one. Pdf
Unlocking AI with Model Context Protocol (MCP)
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Bridging biosciences and deep learning for revolutionary discoveries: a compr...

DRM Webinar Series, PART 4: Best Practices, Unlocked

  • 1. Greg Briscoe Director, Governance and MDM Delivery, US-Analytics Robert Paramore DRM Architect and Oracle Principal Solution Consultant 12.14.16
  • 2. 2 Best Practices, Unlocked  Demystify some of the innermost secrets of DRM — including how to correct mistakes learned from inexperienced consultants and misinformed trainers  Cover how to avoid the most common mistakes we find with client implementations  Give you best-practice examples that will make your implementation run smoothly and provide a scalable, easy-to-maintain application
  • 3. 3 Agenda Introductions1 Versions2 Hierarchies3 Nodes/Members4 Key Takeaways and Next Steps7 Properties5 Queries and Validations6
  • 4. 4 Want to Hear Audio With This Presentation? Download the Webinar Replay
  • 5. 5 Director of Governance & Master Data Management Sales & Services Meet Greg  Has been working with Oracle products since 1990 — the past 13 years have been focused on Oracle Data Relationship Management (previously with Razza Solutions, and Hyperion)  More than 30 years experience in finance and developing business technologies  Experienced in project, program, and quality management for implementation delivery and software development  Successfully managed multiple projects with budgets in excess of $70 million  Has been involved in all aspects of consulting — as a Director of Oracle Consulting’s Hyperion and BI data integration team for over 5 years, Greg provided support for Engagement Management, Solution Design, Project Management, and Services Sales
  • 6. ABOUTUS-ANALYTICS Managed Services Upgrades & Migrations Implementations Infrastructure Process & Advisory Services Big Data Data Governance Business Intelligence Financial Close & Consolidation Planning & Forecasting Solutions Data IntegrationTraining Accolades – Original Oracle Hyperion and Pillar Partner – Oracle Data Relationship Management 11.1.2 – Oracle Hyperion Financial Management 11 – Oracle Hyperion Planning 11 – Oracle Essbase 112013, 2014, 2015 2015 Oracle TOLA EPM Partner of the Year
  • 7. 7 US-Analytics helps hundreds of the nation’s largest and brightest companies bridge the gap between business goals and IT deliverables.
  • 8. 8 Oracle Principal Solution Consultant – Data Relationship Management (DRM) Meet Robert Paramore  Has been working with Oracle solutions since 1998 — the past 13 years have been focused on Oracle Data Relationship Management (previously with Razza Solutions, and Hyperion)  Has been an FS customer (Wachovia), a Hyperion Implementation Consultant (came to Oracle first via Hyperion acquisition), a partner doing DRM implementations (The Hackett Group), and back at Oracle 3+ years as an SC  Strong financial services industry experience, as well as experience in many other industries  Directly engaged with pursuits/projects at Citizens Bank, Deutsche Bank, Met Life, Northrup Grumman, Aviva, Experian, Office Depot, Verizon, Pearson, and many others
  • 9. 9 DRM Versions DRM was not designed to support an infinitely open “Working” Version
  • 10. 10 Versions are containers for dimensions and hierarchies  Versions are the containers for multiple hierarchies: ▶ Enable period-by-period change control ▶ Old versions retained for history / audit purposes  Versions can be copied to create: ▶ Starting point for the next period’s master data ▶ Ad hoc planning scenarios  Versions can be compared to identify changes  Version status is used to identify stages in master data life cycle  “As Of” versions can be created to represent any point in time: ▶ Leverages Transaction History to generate
  • 11. 11 Master Data Life Cycle Version Status Management Working Submitted Finalized Expired AdministratorBusiness users Working (next period) Copy to New
  • 12. 12 DRM Versions Always save your current period working version as your next period starting version.  It is important for DRM customers to follow this versioning strategy process as a best practice to ensure that DRM’s delivered functionality may be fully utilized and to ensure complete SOX compliance.  If “Final” versions are simply copied from one ongoing “Working” version, the transaction history for all of DRM will be stored within that one “Working” version. This compounding transaction history will prove to be problematic. Eventually an IT developed process will have to be implemented to delete history to avoid system performance issues, and unfortunately this will potentially create a Sarbanes Oxley (SOX) compliance issue. Also DRM will no longer be able to support the ability to “roll back” to a certain point in time using transaction history. Since DRM rebuilds a version using the first transaction through the date of the desired roll-back, moving the version back one day will take an extraordinary amount of time in that DRM would have to apply every transaction made in that version since inception. In most cases IT will have to re-start the application if someone attempts this process.
  • 13. 13 DRM VersionsDRM Hierarchies  DRM supports Primary and Alternate Hierarchies  DRM supports multiple member node mappings across different hierarchies
  • 14. 14 Dimensions, Domains, & Hierarchies  Terms often used interchangeably  “Dimension/Domain” might imply multiple hierarchies: ▶ Accounts dimension may include “Balance Sheet”, “Profit & Loss” ▶ May also include alternate roll-ups ▶ DRM uses “Category Groups” to align hierarchies into domains or dimensions  “Hierarchy” has a very specific meaning in DRM: ▶ Hierarchy is defined by the “Top Node” ▶ Top node of a hierarchy may also have a parent in an alternate hierarchy
  • 15. 15 Types of Hierarchies DRM supports any hierarchy type: ▶ Flat lists ▶ Ragged / Natural ▶ Balanced ▶ ABBA DABBA Hierarchies belong together in a Version and should not be placed in separate Versions just to maintain uniqueness!
  • 16. 16 Alternate Hierarchies  Alternate roll-up structures  Usually contain a subset of the members of a dimension  DRM enforces strict rules on alternate hierarchies: ▶ A hierarchy is defined by its Top Node ▶ A Node can be a member of multiple hierarchies ▶ Nodes will always have the same descendants in any alternate hierarchy  Orphans are possible, and may need to be cleaned: ▶ What is an orphan?
  • 17. 17 Alternate Hierarchies Top Nodes & Members  Three hierarchies (H1, H2, H3)  A, X, Z are top nodes of hierarchies  What are the members of each hierarchy ? ▶ H1: A,B,C,D,E ▶ H2: X, Y, Z, D, W, E ▶ H3: Z, W H1: A H2: X B DC E Y W H3: Z
  • 18. 18 DRM Mappings  Mapping by Structure  Mapping between nodes, and across hierarchies  “Pointer” properties enable single and multiple mappings: ▶ These are a subset of data types for a property (see manual) ▶ Can only point to other nodes within the same version: ‒ This is a “feature” - encapsulation of all functionality in a version ▶ Pointers can be: ‒ One-way (“pointer”) ‒ Two-way (“associated nodes”)
  • 19. 19 DRM Mappings Special Data Types Data Type Source Target Node (LimbNode) (LeafNode) Points to a single target node (one to one, one way) No knowledge of source MultiNod Points to multiple target nodes (one to many, one-way) No knowledge of source AscNode Points to a single target node (one to one, two-way) Target node points back to the source node (“marriage”) AscNodes Points to multiple target nodes (one to many, two-way) Target nodes point back to source, but not to each other (“friends”) AscGroup Points to multiple target nodes (network) Target nodes all point to each other (“fraternity”)
  • 20. 20 DRM VersionsDRM Nodes/Members  DRM member nodes are by definition global  DRM supports multiple parents  Imports and Blends versus Scripts aka Automators  Use Domains, Prefixes, and Hierarchy Groups
  • 21. 21 DRM Bulk Data Imports  DRM Import functionality is designed for fast, bulk loads: ▶ Does not enforce security or validations ▶ Individual record loads are not logged ▶ Thousands of records can be loaded in only a few minutes  So requires load into new, empty version ▶ After import is completed, hierarchies can be “blended” into final destination versions
  • 22. 22 DRM Blender  Allows any two hierarchy fragments to me merged: ▶ Hierarchy fragments can be in different versions ▶ Option to create a new target version containing the result set – recommended! ▶ Blender allows many options: ‒ Process moves ‒ Process inserts ‒ Process removes: • Potentially very destructive ▶ Bender also permits property values to be merged
  • 23. 23 Shared and Duplicate Nodes  Shared nodes: ▶ Nodes exist only once: shared members are pointers to the original ▶ Can be re-used in multiple locations in multiple hierarchies ▶ Always have the same descendant nodes (so roll-ups consistent) ▶ DRM supports these “out of the box” (minor configuration required)  Duplicate nodes: ▶ Not permitted in DRM ▶ But nodes can appear in multiple hierarchies … some may refer to these as “duplicates”
  • 24. 24 Myth 4: “DRM Properties”  DRM properties reduce the amount of data input  DRM properties are powerful ▶ Property definitions span the entire repository and are visible to all versions, hierarchies, and nodes. ▶ Property definitions cross versions, so making a change to a property definition can affect current as well as historical data.  DRM now supports Jython scripting to augment its functionality DRM Properties
  • 25. 25 DRM Properties  You can not use “NameSpace” anyway you want ▶ Custom. must be the beginning of all non Oracle delivered properties  Properties can be Local, Global, Hierarchy, or Version  Local Properties can have different values for the same node in different hierarchies  Local properties may hold different values for shared nodes within a hierarchy  Any property that involves position in a hierarchy “must” be local  Global Properties for any node have the same value everywhere that node is used
  • 26. 26 Formula Performance Guidelines  Derived formulas used with properties and validations can greatly impact overall system performance  5 Steps to Improving System Performance with Formulas ▶ Understand when formulas are being calculated ▶ Understand which formula functions are the most expensive and should only be used when necessary ▶ Try to perform as few calculations as possible ▶ Minimize the number of nodes that need to be evaluated ▶ Separate common formula expressions into their own derived properties
  • 27. 27 Features Using Formulas  Formulas may be calculated during ▶ Browsing (View By and Node Type properties) ▶ Searching (Find By properties) ▶ Editing (Node Type property and Real Time validations) ▶ Batch Validations (Validation criteria) ▶ Queries (Filter criteria and return properties) ▶ Compares (Filter criteria and return properties) ▶ Imports (Derived and overrideable properties) ▶ Blenders (Derived and overrideable properties) ▶ Exports (Filter criteria and export columns)
  • 28. 28 Formula Optimization  Changing the way a formula is written may result in a significant performance improvement for long-running operations that calculate formulas for a large set of nodes  Convenience and performance are often tradeoffs ▶ Using one property formula with IF logic may perform worse than using two separate properties ▶ Avoid “overloading” one formula with too much conditional logic ▶ Avoid combining conditional logic for different contexts into the same formula ▶ Avoid referring to a calculated value of a related node if it can be calculated locally for the current node using a different property  Taking the time upfront to optimize formulas will typically outweigh the time taken to troubleshoot bad performance later
  • 29. 29 Node Type Implications  Node types are evaluated when browsing hierarchies or displaying node- level properties  Node types are also evaluated when performing node-level changes  Using a complex derived property to determine the node type could degrade performance of these operations  Consider creating separate node type properties and using them with different hierarchies rather than combining all logic into a single node type property  Avoid using iterative or recursive formulas for node types if possible
  • 30. 30 Expensive Formula Functions  Iterative functions are the most expensive in terms of performance ▶ ListDescendants, ListChildren, ListAncestors, ListSiblings ▶ ListRelatedNodesWith, ListNodesWith, and ListNodePropValues ▶ NumDescendantsWith and NumChildWith ▶ HasChildWith and HasSiblingWith ▶ IsNodeAbove and IsNodeBelow ▶ InvertedLevel  Functions used recursively can also be very expensive depending on the number of nodes that must be evaluated ▶ ParentPropValue ▶ PreviousSibling and NextSibling
  • 31. 31 Expression Caching?  Derived properties and/or validations may evaluate the same expression multiple times for the same node  When embedded multiple times in the same formula or in larger formulas across multiple properties/validations, these expressions are calculated multiple times for the same node  Create a new derived property that will contain only the expression that is called multiple times  The derived property will be calculated only once for each node  Modify the original formula(s) to refer to the new derived property value when the expression needs to be evaluated
  • 32. 32 Expression Caching - Example HFM.Membership If(Or(Equals(Integer,PropValue(Core.Level),1),Equals(String, ParentPropValue(HFM.Membership),Base Member)),Not Applicable, If(And(Equals(String, ParentPropValue(HFM.Membership),Parent Member), Not(NodeIsLeaf())),Parent Member, If(And(Equals(String,ParentPropValue(HFM.Membership) ,Parent Member),NodeIsLeaf()),Base Member, ParentPropValue(HFM.Membership)))) ParentPropValue(HFM.Membership) is calculated 4 times for each node
  • 33. 33 Expression Caching - Example HFM.ParentMembership = ParentPropValue(HFM.Membership) If(Or(Equals(Integer,PropValue(Core.Level),1),Equals(String, PropValue(HFM.ParentMembership),Base Member)),Not Applicable, If(And(Equals(String, PropValue(HFM.ParentMembership),Parent Member), Not(NodeIsLeaf())),Parent Member, If(And(Equals(String,PropValue(HFM.ParentMembership) ,Parent Member),NodeIsLeaf()),Base Member, PropValue(HFM.ParentMembership)))) ParentPropValue(HFM.Membership) is calculated once for each node
  • 34. 34 Diagnostics Utility – Property Profiler  Analyzes the processing cost of properties for nodes in a hierarchy  Enables implementers and administrators to ▶ Identify properties which may cause performance issues ▶ Compare similar derived property formulas to determine which is better performing ▶ Understand why one process may be slower/faster than another ▶ Determine their options for improving performance  DRM-Diagnostics.exe is available in the following PSUs ▶ 11.1.2.1.106 ▶ 11.1.2.2.300
  • 35. 35 Diagnostics Utility – Property Profiler Command-line interface /Help command lists all valid parameters Run interactively or via a batch script
  • 36. 36 Myth 5: “DRM Validations and Queries”  DRM validations can be performed in batch, real-time, and on demand  DRM “Classic” cannot test for the existence of a value until the record is committed, or saved. Use the DRG for this kind of user interfacing!  DRG can validate using an external database table, and by using a 3rd party API call DRM Validations & Queries
  • 37. 37 Validations and Queries  Use List/Lookups - Avoid un-necessary validations  Use custom properties “IsValidName” for production delivery ▶ Build queries that only evaluate Yes/No, or True/False (Booleans) ‒ They will run faster, cause much less performance impact on your environment  Use consistent naming ▶ Standards for naming should be established before any DRM component is configured!
  • 39. 39  Schedule a custom demo for your organization  Review cost proposals, a high-level implementation timeline, and how to make DRM work in your organization Greg Briscoe Vice President DRM/MDM Service Delivery Mobile: 512-771-2370 gbriscoe@us-analytics.com www.us-analytics.com Contact What’s Next?
  • 40. 40 Evolution of DRM ERA RELEASE BRANDED AS … CORE TECH KEY NEW FEATURES 2000 1.x – 4.x Bank One HCS / CCS • Client-Server (2-tier) • “Thick” client 2002 5.x – 8.x Mazlo (briefly), then Razza Dimension Server • N-Tier architecture • Import, blend 2005 9.x Hyperion MDM 2008 11.x – 11.1.1 Oracle DRM • Focus on Oracle DB • Open API 2010 11.1.2 Oracle DRM • Browser-based client • 64 bit server • Unicode support • Multi apps per server • Integration to EBS, EPMA … • BPEL workflow integration (WDK) • Metadata migration + App Templates • Anonymous read-only access 2013 11.1.2.3 Oracle DRM Oracle DRG • JavaScript for properties & validations • Embedded governance & workflow • Enhanced integration (continuing) 2015 11.1.2.4 Oracle DRM Oracle DRG • Updated application architecture • Key enhancements to governance & workflow
  • 41. 41 Industry Standard and Widely Deployed Over 1,500 DRM Customers Globally! PUBLIC SECTOR LIFE SCIENCES AND HEALTHCARE RETAIL HIGH TECHNOLOGYMANUFACTURING & DISTRIBUTION COMMUNICATIONS MEDIA & UTILITIES FINANCIAL SERVICES
  • 42. 42 Want to Hear Audio With These Slides? Download the Audio Presentation