Download barbieribestpracticesinhfmapplicationdesignodtugjune2010-100714085034-phpapp02...
Best Practices in HFM Application Design Chris Barbieri Consolidation Practice Director Oracle ACE Ranzal & Associates
Personal Background Chris Barbieri • Esta Establ blis ishe hed d HFM HFM perf perfor orma manc nce e tuni tuning ng tech techni niqu ques es and statistics widely used today • 4+ yea years rs as as Sr. Sr. Pro Produ duct ct Iss Issue uess Mana Manage gerr at Hype Hyperi rion on – HFM, Smart View, Shared Services, MDM
, HFM and Enterprise • MBA, Babson College • B.S. B.S. Fina Financ nce e & Acco Accoun unti ting ng,, Bos Bosto ton n Col Colle lege ge • Co-f Co-fou ound nded ed the the HFM HFM Per Perfo form rman ance ce Tun Tunin ing g Lab Lab at at Ranzal with infrastructure expert Kurt Schletter
Application Design: the Foundation of Performance • Hyperion Financial Management • Metadata design as it impacts – Volume of members – Impact of structures
• Data – Content – Density
Metadata
Designing HFM’s 12 Dimensions Application Profile
User controlled
1. Year
5.
Entity
2. Period
6.
Account
3. View
7.
ICP
8.
Scenario
4. Value dimension, includes currencies
User defined 9.
Custom 1
10. Custom 2 11. Custom 3 12. Custom 4
Application Profile Year – No inherent impact on performance – Cannot be changed after the application is built – Impacts the number of tables that can be created in the database
Period –
e ase per o s compr se t e co umn structure o every table, whether you use them or not. – For this reason, avoid weekly or yearly profiles unless it is key to your entire application’s design
View – No impact, but only YTD is stored and Periodic, QTD are on-the-fly derivations
System Dimension Value Dimension – Can not directly modify this – “” is a simple variable directing you to the current entity’s default currency – “” points back to the currency of the entity’s parent
Currencies – Don’t add currencies you aren’t using • Sets of calc status records for (every entity * every currency) • Impact of loading metadata with entity or currency changes
– Normally translate from the entity’s currency only into it’s parent’s currency. – Beware of non-default translations • Impacted calc status • Data explosion
User Controlled Dimensions Entity – Sum of the data of the children – Avoid Consolidate All or All With Data on each hierarchy – Assign Adj flags sparingly – “Hidden” dimension
Scenario – Number of tables
Impact of Account Depth
6- Net Income
4- Net Income
5- EBIT
3- Optg Income 2- Gross Margin 1- Sales
4- Optg Income 3- Gross Profit 2- Gross Margin
Effect is multiplied when you consider the custom dimensions Parent accounts don’t lock
1- Sales
User Defined Dimensions Custom 1..4 – Think dozens or hundreds, but not thousands – Avoid: • Employees • Products • Anything that is very dynamic • One to one relationship with the entities
Metadata Efficiency Ratio What does the average entity have in common with the top entity? – Density measurement of re-use of the accounts and customs across all entities top entity children unique custom 1
Metadata Volumes (Americas) Dimension
Average Volume
Recorded High
Comments
Accounts
2,132
14,409
Entities
1,165
22,882
16
233
Custom1
388
19,410
use Custom 1 96%
Custom2
153
15,188
use Custom 2 86%
Custom3
61
26,816
use Custom 3 86%
Custom4
39
11,389
use Custom 4 62%
Scenarios
11
78
3
24
ICP Accounts with Plug
41
1,223
use automated intercompany matching 56%
Accounts with Line Item Detail
36
1,667
16% use this, but only 10% have more than 1 account flagged
Consolidation Rules
-
-
Consolidation methods
5
10
Currencies
Entity hierarchies
OrgByPeriod ICP Members
use only
1 currency 30%
the equivalent of Organizations in Hyperion Enterprise
use consolidation rules 28% use methods 14% use organization by period 9%
86
1,407
track intercompany activity 81%
Entities flagged for Parent Adjs
143
7,698
Allow [Parent Adj] or [Contribution Adj] journals30%
Scenarios using Process Mgmt
5
53
use process management 46%
Data
What’s a Subcube? • HFM data structure • Database tables stored by – Each record contains all periods for the [Year] – All records for a subcube are loaded into memory together
Parent subcube, stored in DCN tables Currency subcubes, stored in DCE tables
Take it to the Limit Reports, Grids, or Forms that: – Pull lots of entities – Lots of years – Lots of scenarios
Not so problematic: – Lots of accounts – Or Custom dimension members
Smart View – Cell volume impacts bandwidth – Subcubes impact server performance
HFM Urban Legends • 100,000 records per subcube • Increase MaxNumDataRecordsInRAM = better performance • 500 children to a arent • System 9 allows an unlimited sub cube size • Customs should be ordered largest to smallest • Limit to the Account dimension depth • 64 bit is faster (this requires some explanation)
Data Design
“Metadata volume is interesting, but it’s how you • Density • Content – Specifically: zeros – Tiny numbers – Invalid Records
it that matters most”
Data Volume Measurement • No perfect method Method
How-To
Pros
Cons
Data Extract
Extract all data, count per entity
Simple, easy to see input from calculated
Can only extract
FreeLRU
Parse HFM event logs
Good sense of average cube, easy to monitor monthly growth
Can’t identify individual cubes, harder to understand
Database Analysis
Query DCE, DCN tables and count
Easy for a DBA, see all subcubes
Doesn’t count dynamic members, includes invalid records
Data Density Using FreeLRU • Survey of data density using FreeLRU method Number of applications reviewed: 32
NumCubesInRAM NumDataRecordsInRAM NumRecordsInLargestCube Average records per cube Average metadata efficiency: average cube/densest cube
Average
Min
Max
10,206
Median
ABC Customer
2,672
72
1,345
577
1,502,788
247,900
5,627,748 1,170,908
1,107,614
86,415
2,508
593,924
53,089
31,446
6,309
24
91,418
1,352
2,288
7.3%
0.3%
39.7%
3.4%
7.3%
Loaded Data • What percent of the loaded data is a zero value? – No hard rule, but -1 and < 1 % values > -1 and < 1
2,031,976 Total 18,024 Calculated zeros 0.9% % zeros calculated at base 373,226 Values > -1 and < 1 calculated 18.4% % values > -1 and < 1 calculated
4,387,520
116 %
413,837
2,196 %
9.4% 593,981 13.5%
59 %
Effect of Sparsity on Record Volume • Most dense data is at the top entity – Greatest number of populated intersections (account _ custom 1..4 combinations)
Consolidated Data • Total volume of data in any subcube • How many zeros are generated by the consolidation process? – Intercompany eliminations
Consolidated Base Records
Total
991,587
Consolidated zeros
194,204
% zeros Values > -1 and < 1 % values > -1 and < 1
– Allocations – Empty variables
Consolidated 19.6%
Calculated 9.4% Loaded 0.9%
19.6% 84,251 8.5%
Data Density Calc Time Average Rule Execution Time in Contrast with Data Volume 900
2.500
800 2.000
700 600 s d r o c e R
1.500 500 400 1.000
s d n o c e S
300 200
0.500
100 -
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
correlation between density and calc times • Most applications are rules bound
Invalid Records • Type 1: Orphaned records from metadata that has been deleted – Member is removed from dimension_Item table, but not from the data tables – These can be removed b Database > Delete Invalid Records
• Type 2: the member still exists, but is no longer in a valid intersection – Most often from changing CustomX Top Member on an account – These cannot be removed by HFM, but are filtered out in memory
Chris Barbieri You're Reading a Preview
[email protected]
Unlock full access with a free trial.
ee
Download With Free Trial
am, USA
+1.617.480.6173 www.ranzal.com