If you can't read please download the document
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