ASO Planning – Do this, not that - Essbase, nTuple LLCntuple.net/images/KScope14_ASOPlanning_Lackpour_German_Pressm… · ASO Planning – Do this, not that Cameron Lackpour Tim

  • Upload
    ledang

  • View
    229

  • Download
    2

Embed Size (px)

Citation preview

  • ASO Planning Do this, not that

    Cameron LackpourTim German

    Dan Pressman

  • The EPM Carnival! 8 - 10 PM Room 603sponsored by:

    Featuring:The Quest Are you up to the challenge?

    Balloon Dart EPM TriviaAce Director Bean Bag Toss

    Great Food and Flashy Prizes

    Join the EPM Community at tonights

  • Developing Essbase Applications Like the best, most advanced

    Essbase conference there evercould be

    Advanced content Good practices Written by some of the most well

    known Essbase developers Source code at

    www.developingessbasebook.com You should buy it

  • Youre Invited!

    4

    Join us November 4 & 5, 2014Sheraton Imperial Hotel & Convention Center

    Raleigh/Durham, North Carolina for the

    East Coast Oracle Users Conference

    CALL FOR PRESENTATIONS (Deadline July 14, 2014):Share your knowledge by presenting at the 2014 conference. Presentations may be targeted

    to novice, intermediate, advanced, or all attendees and are scheduled for 60 minutes.

    VENDOR OPPORTUNITIES (contact [email protected])

    Plan now to attend ECO 2014 one of the largest and mosteconomical Oracle training opportunities on the East Coast.

    For details, to submit an abstract, or register visit www.eastcoastoracle.org.

  • Performance Architects Chuck Persky, Jonathan Etkin, Tyler Feddersen

    Ernst & Young Martin Slack

    interRel Glenn Schwartzberg

    James & Monroe Richard Phillipson

    Hackett Group Joe Watkins

    nTuple Dan Pressman

    Oracle Sree Menon Kim Reeve

    The shoulders of giants or Dear God, didntthey do any of this themselves?

  • General features of ASO Plan Types Good ASO Planning practices

    How to implement ASO Plan Types within yourapplication

    Pros and cons of ASO Plan Types How to design Plan Types to take advantage of

    ASO Performance findings versus BSO

    What this presentation is about

  • ASO reporting databases from Planning The latest and greatest features of Planning

    11.1.2.3.500 Except where they intersect with ASO Planning

    General BSO Planning good practices Again except where they intersect with ASO Planning

    Why you should be using Hybrid BSO instead ofASO Simply because Hybrid BSO is not yet ready to take on

    that role Public Sector Planning and Budgeting (PSPB)

    What this presentation is not about

  • Preparing for ASO Planning Working in ASO Planning

    Mechanics of working in the tool Limitations Administrative performance

    ASO Planning good practices Dimension design DTS Fx Allocations

    Sizing and performance Q&A

    Can we do all of this in 55 minutes?

  • ASO Essbase optimization may not be the same asASO Planning optimization

    Balance ASO design versus: Maintenance within a Hyperion Planning context Complexity Likely small database size by ASO standards

    Planning imposes design and functionalitycompromises on both BSO and ASO

    We will give you warnings, guidelines, andtechniques

    To optimize the whole you must suboptimizethe parts

  • Instant aggregations Planning applications that are too big for Planning

    Dimensions Data Speed

    It is the default engine for Essbase development Most new BSO databases today are the result of

    Planning Everything else is (mostly) ASO

    Hybrid isnt ready for Planning Come to our Wednesday session at 11:15 am for more

    Why use ASO Planning?

  • Hybrid Essbase is BSO with sort-of ASO 60% ASO, 40% something else

    It seems like a really good fit for Planning However

    It is not currently certified with Planning The 11.1.2.3.501 release is severely limited Real world experience with performance, capacity, and

    defects is practically nil Come to the Wednesday Evolution or Revolution: The

    New Hybrid Essbase session at 11:15 am ASO Planning is here, now, and it works

    A quick note about Hybrid Essbase

  • Planning 11.1.2.3 or higher The correct license

    ASO Planning is not part of the standard Planninglicense

    Enough RAM to keep the ASO Plan Types inmemory ASO is an in-memory database Memory requirements are different from BSO

    Requirements for ASO Planning

  • Planning 11.1.2.3.000 or higher Just because you can do it, doesnt mean you

    should Must purchase either:

    Hyperion Enterprise Planning Suite Hyperion Planning Plus and Essbase Enterprise

    Performance Management Foundation Cost?

    Talk to your friendly neighborhood Oracle salesman

    Version and Licensing

  • Its just Planning Plan Types can be created as ASO

    Separate application is created given enginedifference

    Dimension, security, form, metadata and dataload, etc. functionality the same as BSO

    Dimensions can be shared across types ofEssbase engines

    Interface is still BSO-centric

    How is ASO integrated into Planning?

  • Dimension order can be changed No facility for changing ASO dimension types

    BSO dimension settings do not apply

  • Change hierarchy types within memberproperties

  • Still required in BSO, but not ASO

    Required dimensions arent

  • Full support for all data types

    Data types Text Date SmartList

    SupportingDetails

    Attachments Comments

  • Accounts Dynamic, Compression Period, Scenario, Version Multiple Hierarchies Year, Entity* Stored These are unchangeable

    *Entity becomes Multiple Hierarchies when it has members

    An ASO Plan Type in Essbase

  • Classic only, no EPMA 11.1.2.3.000

    Calculation Manager not supported (not such a big deal TBD) No member formulas via Planning 11.1.2.3.500 supports Calculation Manager and member formulas

    No XREFs into ASO Plan Types (but can have them fromASO Plan Types)

    Required dimensions not required, so approvals may ormay not work

    DTS not supported (this is an ASO Essbase limitation, notPlanning)

    You must be licensed for ASO Essbase Filters NOT supported in ASO Plan Type

    Limitations from the documentation

  • ASO Plan Types are not Essbase data connections Cannot be accessed via Essbase/Smart View Can be accessed via Planning/Smart View

    No attributes are viewable ASO does attributes much better than BSO Why? Ask Shankar Viswanathan (Planning product manager)

    at the Thursday Planning Deep Dive

    FDMEE cannot write to an ASO Planning PlanType Can write to ASO Essbase but then no drillback from

    Planning forms

    Other known limitations

  • Dimension density assignments make little sense Member formulas not available till 11.1.2.3.500

    Use HSP_UDF UDAs in EAS to assign Solve order depends on selecting correct Plan Type Easy to enter MDX into BSO formulas

    Ensure you have selected the proper Plan Type Validations often do not happen until the refresh No fx in multicurrency applications

    We have a fix for that Forms show BSO options in ASO forms Data copy/Copy Version do not work

    Papercuts

  • 11.1.2.3.000 Not supported in Planning Use HSP_UDF (shades of Planning 2.1) and write it

    in EAS 11.1.2.3.500

    Accounts dimension or dynamic hierarchies only Supported in Classic dimension editor

    Member Formulas

  • Solve Order

    Available in MemberFormula

    Only valid for ASOPlan Types

    This image cannot currently be displayed.

  • Must pick the right Plan Type

  • Weak validations

  • No Planning fx

    BSO Plan Type ASO Plan Type

    Must roll your own fx functionality

  • Not quite there, dimension metadata

    Currency, Entity, andCustom dimensions

  • Not quite there, forms

  • Not quite there, copy data

    Wheres T3_ASO?Did the data get copied?

    BSO: Yes

    ASO: No

  • Classic only BSO n + 1 number Plan Types Must have at least one BSO Plan Type ASO PT can be named the same as BSO, dont

    do this Outlineload.cmd/menu for metadata and data Native Essbase data loads faster

    Creating an ASO Plan Type

  • Separate applications for ASO Plan Types Name with similar prefix to group in folders and

    EAS

    Directories

  • Planning administration performance is notimproved from BSO

    You will still need to use MaxL to perform ASO-specific maintenance Merging slices Outline compacts Buffers

    ASO Planning administrative considerations

  • Loading large dimensions can be slow Deleting large dimensions is even slower More extant members = slower load/delete

    performance

    Maintenance windows will change with the ability toload large dimensions Performance that was tolerable for smaller BSO

    dimensions, isnt

    Administrative performance

    Dimension Records Load Time Delete TimePostCode 47,863 13:45 45:00Product 72,177 34:28 3:03:00

  • Application refreshes touch all Plan Types All dimensions are rewritten Outline (not data) restructures can be slow with large

    dimensions Data restructures are even slower

    Refreshes are serial Plan Type add order

    Refresh considerations

  • Dimensions are shared across Plan Types What is minor in BSO is major in ASO and vice

    versa You must consider both engines when

    restructuring Rules for restructure are completely different Your processes may impact both engines

    Outline restructure considerations

  • Type Function BSO Cost ASO Cost

    Outline Add, remove, rename,reorder members

    Small, unless denserestructure triggered

    High, clears aggregateviews, full outlinerestructure; 3x .dat filerequirements, aggregationsmust be rerun

    Add member Add member as last childwithout crossing a power of2 boundary; change someproperties in dynamichierarchies

    Same as previous ifapplicable

    Light outline restructure

    Attribute dimension add,delete, modify

    Add, remove, reorder,assign to base of attributedimension members

    Small, rewrite of outline file Medium, rebuilds aggregateviews, 3x .dat filerequirements

    Common restructures

  • Type Function BSO Cost ASO Cost

    Add member Add member and crosspower of 2 boundary

    N/A High, clears aggregateviews, full outlinerestructure

    Dense/Sparse Add, remove, reorder densedimension members/Add,remove, reorder sparsedimension members

    High, rewrite of every blockin database, increasedfragmentation, indexrestructure/Low, outlinerestructure, indexrestructure

    N/A

    Hierarchy type change Add, delete, move, modifyhierarchy type; change # ofstored levels; change topmember of hierarchystorage; dynamic stored; break match withprimary/alternate hiearchy

    N/A High, clears aggregateviews, full outlinerestructure; 3x .dat filerequirements, aggregationsmust be rerun

    Unique restructures

  • YTD in Planning

    BSO supports D-T-S,ASO does not

    Common BSO practice ofstacked or shared YTDworks

    Dynamic, dense, fast,supports Time Balance

    Works in ASO as well Dynamic or stored

    hierarchies in MultipleHierarchies dimension

    Fast There are several catches

  • Time Balance/Period catch #1 Stored hierarchies with

    shared members is thenorm in ASO

    Planning wont permit it

  • Time Balance/Period, catch 22

    So try it as dynamic Unpossible! What to do?

  • Many dimensions allow selecting/deselectingPlan Types

    Period is not one of those dimensions

    YTD cannot be in BSO yet not in ASO

  • Abandon Time Balance altogether Keep stacked or shared YTD hierarchies Use an Analytic dimension in ASO and BSO to do Time Balance

    based on Equity, Asset, or other UDAs But what about BSO?

    Create mirror Accounts and Period in ASO Plan Types BSO uses either D-T-S or stacked YTD/QTD hierarchies ASO rolls its own Additional maintenance requirement Possibly better performance

    Abandon stacked or shared YTD BSO uses D-T-S ASO uses Analytic dimension with Aggregated QTD/YTD Simplest approach

    Several choices

  • MDX Aggregate approach Preserves Accounts dimension functionality Lowest impact on BSO Plan Types PeriodsToDate function will trigger MDX optimization

    in 11.1.2.3.50x Optimal for Planning, suboptimal (perhaps) for

    ASO

    You must create an Analytic dimension

  • MDX Aggregate Analytic dimension

    Aggregate will sumand respect TimeBalance Performance

    boosted in 11.1.2.3 Analytic

    MTD QTD YTD

    Gen 3

    Gen 2

  • Stored hierarchies in ASO are faster than dynamichierarchies But

    All values are + Signflip on retrieve makes it all work

    Optimal for Essbase, suboptimal for Planning Planners are inputting data Are they going to flip signs when they type?

    Essbase optimization, Planningsuboptimization

  • For Planning purposes, a dimension tagged asAccounts makes sense, usually Dynamic Compression Supports Time Balance, member formulas, all unary

    operators Optimal for Planning, suboptimal for Essbase

    Acceptable performance until it gets too big Will a Planning Plan Type ever get there?

    A note about the Account dimension

  • Accounts Will likely end up with a Dynamic hierarchy anyway An alternate dimension loses all of the Account-y things that

    make Planning Accounts so powerful Time Balance Could be worked round with custom calculations

    Period Open/closed periods by Scenario Member security, but very limited because of a lack of ANDs

    Both Shared metadata Data movement across dissimilar dimensions Optimal for Essbase, suboptimal for Planning

    Custom Period and Accountconsiderations

  • Just like BSO, ASO has Business Rules as well None in 11.2.3.000

    Two choices Do it all in the outline Figure out another way to perform procedural ASO

    calculations/allocations

    Available in 11.1.2.3.500 Looks just like Essbase ASO business rules Graphical only, if you color within the lines

    Business Rules

  • Three objects Point of View Allocation Formula

    ASO procedural calculations are for level zeroonly; can read upper level results

    Do other logic in the outline

    Graphical Business Rules

  • Formula calculation with a twist

    POV must alwaysbe at level 0

    Calc Mgr variablescan drive selectionsfrom Planning

    Nest POV objects Formula at the

    center Very BSO-ish

    looking

  • Unlike BSO, ASO considers all possible level 0member combinations All of them And then only values where there is data This is slow, very slow There is no way to avoid this in a procedural calculation

    How slow? Test T3 database with rates and 1 data value took 6,000

    seconds to calculate Same database and data in BSO took less than 0.025

    seconds What to do?

    The problem with formula calculation

  • Use a member formula to drive NONEMPTY Use a procedural allocation to copy the

    member formula value to a stored member Yes, you can do that through a 1-to-1 spread

    allocation You (or Joe) have just solved the NONEMPTY

    cell issue This is fast Applies to all level zero calculations

    Joe Watkins genius

  • Member formula is straightforward

    Member withformula inAnalyticdimension

    CASEstatement tocalculate USD

    NONEMPTYTUPLEto only addressexisting data

  • How does it work in Essbase?

    FIX

    Source with cross dim aka tuple

    Target tuple 100% allocated to USD

    Execute

    MaxL

    Note the MaxLparameter variables

  • What not do this via a CalculationManager allocation?

    A level zerodescendant ofa level zeromember isimpossible

  • ASO objects do not support this, but BSO does Calc Mgr MaxL functions in Essbase

    @CalcMgrExecuteEncryptMaxLFile (privateKey, maxlFileName,arguments, asynchronous)

    @CalcMgrExecuteMaxLEnScript (privateKey, maxlScripts,arguments, asynchronous)

    @CalcMgrExecuteMaxLFile (user, password, maxlFileName,arguments, asynchronous)

    @CalcMgrExecuteMaxLFile (user, password, maxlFileName,arguments)

    @CalcMgrExecuteMaxLScript (user, password, maxlScripts,arguments, asynchronous)

    @CalcMgrExecuteMaxLScript (user, password, maxlScript,arguments)

    RUNJAVA

    If only we could execute MaxL fromPlanning

  • C:\Oracle\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\java\essfunc.xml

    Interrogate essfunc.xml for more CDFinfo

  • Run a BSO Business Rule from an ASO form on save Variables get passed Run on Save works

    BSO Calc Mgr functions then execute the MaxL @CalcMgrExecute or RUNJAVA

    Can run from any BSO database MaxL can address any BSO or ASO database

    Run MaxL from BSO Business Rules

  • Formula, place within single member FIX Pass public key only Use forward slashes for MaxL script path Must enclose member names in @NAME All MaxL parameters must be enclosed in @LIST

    @CalcMgrExecuteEncryptMaxLFile syntax

  • No FIX or member formula required -D to decrypt Pass public key and redundant encrypted username and

    password Server but not application or data name Variables from ASO forms can be passed to BSO Calc Mgr

    rules This is the key to working with Planning

    RUNJAVA syntax

  • Like for like database, data (one year), and processes Simple BSO and ASO allocation using Sales as basis

    across Product In-built BSO fx, custom ASO as per previous slides All time in seconds and yes it really is that fast

    And that is why ASO Planning is worth a look

    Allocation and fx performance

    Process BSO ASO X fastAllocate 106 3 35Fx 400 1.2 333Aggregate 1,772 N/A N/ATotal 2278 4.2 542

  • Forms with upper level members potentiallymore expensive

    Have you ever wondered what Suppressmissing blocks really does? Its BSO magic Uses the undocumented MDX

    NONEMPTYBLOCK command Filters data at the block level before it ever hits

    Planning

    Form performance slower than BSO?

  • Test case Time Behavior

    BSO with suppressblocks

    0.034 seconds Returns non missing data

    ASO with suppress rows Never comes back Eats 16 GB of RAM,crashes Planning

    BSO with suppress rows Never comes back Eats 16 GB of RAM,crashes Planning

    Form performance numbers

    3 billionpotential,21 actualrows

  • How big is it in Essbase?

    1,222

    8,061

    02,0004,0006,0008,000

    10,000

    BSO ASO

    Load time (secs)

    474,300

    0100,000200,000300,000400,000500,000

    BSO

    # level 0 blocks

    0200,000,000400,000,000600,000,000800,000,000

    1,000,000,000

    ASO

    # level 0 cells

    8.5

    14

    0

    5

    10

    15

    BSO ASO

    Level 0 storage (GB)

    200

    0

    100

    200

    300

    BSO

    Upper level data size(GB) 17,962

    0

    5,000

    10,000

    15,000

    20,000

    BSO

    Agg time (secs)

  • Single year 35 times faster allocation, 333 times faster fx, 542 times faster overall

    Multiple year 29 times faster allocation, 187 times faster fx, 550 times faster overall

    Single threaded allocate, fx, andaggregate performance

    BSO ASOAggregation 1,772Fx 400 1.2Allocation 106 3

    0

    500

    1000

    1500

    2000

    2500

    Single Year

    BSO ASOAggregation 9,313Fx 1,046 5.6Allocation 404 14

    -

    2,000

    4,000

    6,000

    8,000

    10,000

    12,000

    Six years

  • ASO fx performance using executecalculation

    ASO scaled well 1,300 seconds to

    input, allocate, andfx a very largedatabase

    5x simultaneousthreads only 16%slower

    ASO w/ Regular Attribute ASO w/ Stored Attribute1-way x 50 Load / FX 1299 14745-way x 10 Load / FX 1513 1738

    0

    200

    400

    600

    800

    1000

    1200

    1400

    1600

    1800

    2000

  • Query performance, or choose when tosuffer

    ASO BSOSecond Pass 12.683 0First Pass 14.992 0.187

    05

    1015202530

    Tim

    e in

    seco

    nds

    Top of house, no attribute

    ASO BSOSecond Pass 33.025 0.016First Pass 35.274 0.281

    01020304050607080

    Tim

    e in

    seco

    nds

    Both sparse in POV

    ASO BSOSecond Pass 0.421 0.031First Pass 1.327 0.032

    0

    0.5

    1

    1.5

    2

    Tim

    e in

    seco

    nds

    Product in grid

    ASO BSOSecond Pass 0.874 0.031First Pass 0.889 0.048

    0

    0.5

    1

    1.5

    2

    Tim

    e in

    seco

    nds

    Postcode in grid

  • Interface is still tied to BSO in many ways Calculation complexity

    Member formulas, procedural calculations, mix of BSO andASO Calc Mgr rules

    Lack of Essbase data connection No EPMA Easy integration out of ASO via @XREF but no

    dynamic way in Planning administration performance does not scale

    well This is ASO Planning, not ASO Essbase

    Refresh complexity Hybrid is coming, but unknown

    Considerations

  • ASO Planning is an exciting new option forbudgeting and forecast Too big databases become easy Instant aggregations Fast performance

    Limitations as noted Conversions

    Performance should drive the decision Complex calculations may require extensive redesign

    New applications Calculation design factors Consider Planning vs. Essbase requirements

    As always, start simple

    Is ASO Planning right for you?

  • Q&A

    Cameron Lackpour Tim [email protected] [email protected]://camerons-blog-for-essbase-hackers.blogspot.com/

    http://www.cubecoder.com/

    @CameronLackpour