• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Best Practices in HFM Application Design
 

Best Practices in HFM Application Design

on

  • 17,987 views

Presentation by Chris Barbieri, Practice Director and Oracle Ace for Edgewater Ranzal, at Kaleidoscope 2010 (ODTUG June 2010)

Presentation by Chris Barbieri, Practice Director and Oracle Ace for Edgewater Ranzal, at Kaleidoscope 2010 (ODTUG June 2010)

Statistics

Views

Total Views
17,987
Views on SlideShare
17,987
Embed Views
0

Actions

Likes
2
Downloads
1,237
Comments
2

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Best Practices in HFM Application Design Best Practices in HFM Application Design Presentation Transcript

    • Best Practices in HFM Application Design Chris Barbieri Consolidation Practice Director Oracle ACE Ranzal & Associates
    • Personal Background Chris Barbieri • Established HFM performance tuning techniques and statistics widely used today • 4+ years as Sr. Product Issues Manager at Hyperion – HFM, Smart View, Shared Services, MDM • Member of HFM launch team in 2001, certified in HFM and Enterprise • MBA, Babson College • B.S. Finance & Accounting, Boston College • Co-founded the HFM Performance Tuning Lab at Ranzal with infrastructure expert Kurt Schletter
    • Application Design: the Foundation of Performance • Hyperion Financial Management • Metadata design as it impacts performance – 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 System 8. Scenario 4. Value dimension, User defined includes currencies 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 – The base periods comprise the column structure of 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 – “<Entity Currency>” is a simple variable directing you to the current entity’s default currency – “<Parent 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 ICP – “Hidden” dimension Scenario – Number of tables
    • Impact of Account Depth 4- Net Income 6- Net Income 3- Optg Income 5- EBIT 2- Gross Margin 4- Optg Income 1- Sales 3- Gross Profit 2- Gross Margin 1- Sales Effect is multiplied when you consider the custom dimensions Parent accounts don’t lock
    • 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 Recorded Comments Volume High Accounts 2,132 14,409 Entities 1,165 22,882 Currencies 16 233 use only 1 currency 30% 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 Entity hierarchies 3 24 the equivalent of Organizations in Hyperion Enterprise 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 - - use consolidation rules 28% Consolidation methods 5 10 use methods 14% OrgByPeriod use organization by period 9% ICP Members 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 management46%
    • 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 parent • 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 it that matters most” • Density • Content – Specifically: zeros – Tiny numbers – Invalid Records
    • Data Volume Measurement • No perfect method Method How-To Pros Cons Data Extract Extract all data, Simple, easy to see input Can only extract count per entity from calculated <Entity Currency> FreeLRU Parse HFM event Good sense of average Can’t identify logs cube, easy to monitor individual cubes, monthly growth harder to understand Database Query DCE, DCN Easy for a DBA, see all Doesn’t count dynamic Analysis tables and count subcubes members, includes invalid records
    • Data Density Using FreeLRU • Survey of data density using FreeLRU method Number of applications reviewed: 32 Average Min Max Median ABC Customer NumCubesInRAM 2,672 72 10,206 1,345 577 NumDataRecordsInRAM 1,502,788 247,900 5,627,748 1,170,908 1,107,614 NumRecordsInLargestCube 86,415 2,508 593,924 53,089 31,446 Average records per cube 6,309 24 91,418 1,352 2,288 Average metadata efficiency: 7.3% 0.3% 39.7% 3.4% 7.3% average cube/densest cube
    • Loaded Data • What percent of the loaded data is a zero value? – No hard rule, but <5% may be reasonable – No zeros are best, watch ZeroView settings on the scenarios • Watch out for tiny values, resulting from allocations • How much does the data expand from Sub Calculate? – Am I generating zeros, or tiny numbers? Input Base Records Input Plus Calculated Base Records % Increase From Rules Total 2,031,976 Total 4,387,520 116 % Input zeros 18,024 Calculated zeros 413,837 2,196 % % zero loaded 0.9% % zeros calculated at base 9.4% Values > -1 and < 1 373,226 Values > -1 and < 1 calculated 593,981 59 % % values > -1 and < 1 18.4% % values > -1 and < 1 calculated 13.5%
    • 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 Consolidated Base Records Total 991,587 • How many zeros are generated Consolidated zeros 194,204 by the consolidation process? % zeros 19.6% – Intercompany eliminations Values > -1 and < 1 84,251 % values > -1 and < 1 8.5% – Allocations – Empty variables Consolidated 19.6% Calculated 9.4% Loaded 0.9%
    • Data Density <> Calc Time Average Rule Execution Time in Contrast with Data Volume 900 2.500 800 700 2.000 600 1.500 Seconds Records 500 400 1.000 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 by 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 cbarbieri@ranzal.com Needham, MA USA +1.617.480.6173 www.ranzal.com