KScope14 ASOPlanning Lackpour German Pressman PDF
KScope14 ASOPlanning Lackpour German Pressman PDF
KScope14 ASOPlanning Lackpour German Pressman PDF
Cameron Lackpour
Tim German
Dan Pressman
Join the EPM Community at tonight’s
Featuring:
The Quest – Are you up to the challenge?
Balloon Dart EPM Trivia
Ace Director Bean Bag Toss
Great Food and Flashy Prizes
Developing Essbase Applications
● Like the best, most advanced
Essbase conference there ever
could 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
You’re Invited!
Join us November 4 & 5, 2014
Sheraton Imperial Hotel & Convention Center
Raleigh/Durham, North Carolina for the
Plan now to attend ECO 2014 – one of the largest and most
economical Oracle training opportunities on the East Coast.
● Data types
● Text
● Date
● SmartList
● Supporting
Details
● Attachments
● Comments
An ASO Plan Type in Essbase
● Available in Member
Formula
● Only valid for ASO
Plan Types
Must pick the right Plan Type
Weak validations
No Planning fx
Where’s T3_ASO?
Did the data get copied?
BSO: Yes
ASO: No
Creating an ASO Plan Type
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, don’t
do this
Outlineload.cmd/menu for metadata and data
Native Essbase data loads faster
Directories
Separate applications for ASO Plan Types
Name with similar prefix to group in folders and
EAS
ASO Planning administrative considerations
Outline Add, remove, rename, Small, unless dense High, clears aggregate
reorder members restructure triggered views, full outline
restructure; 3x .dat file
requirements, aggregations
must be rerun
Add member Add member as last child Same as previous if Light outline restructure
without crossing a power of applicable
2 boundary; change some
properties in dynamic
hierarchies
Attribute dimension add, Add, remove, reorder, Small, rewrite of outline file Medium, rebuilds aggregate
delete, modify assign to base of attribute views, 3x .dat file
dimension members requirements
Unique restructures
Type Function BSO Cost ASO Cost
Add member Add member and cross N/A High, clears aggregate
power of 2 boundary views, full outline
restructure
Dense/Sparse Add, remove, reorder dense High, rewrite of every block N/A
dimension members/Add, in database, increased
remove, reorder sparse fragmentation, index
dimension members restructure/Low, outline
restructure, index
restructure
Hierarchy type change Add, delete, move, modify N/A High, clears aggregate
hierarchy type; change # of views, full outline
stored levels; change top restructure; 3x .dat file
member of hierarchy requirements, aggregations
storage; dynamic <-> must be rerun
stored; break match with
primary/alternate hiearchy
YTD in Planning
● BSO supports D-T-S,
ASO does not
● Common BSO practice of
stacked or shared YTD
works
● Dynamic, dense, fast,
supports Time Balance
● Works in ASO as well
● Dynamic or stored
hierarchies in Multiple
Hierarchies dimension
● Fast
● There are several catches
Time Balance/Period catch #1
● Stored hierarchies with
shared members is the
norm in ASO
● So try it as dynamic
● Unpossible!
● What to do?
YTD cannot be in BSO yet not in ASO
CASE
statement to
calculate USD
Member with
formula in
Analytic
dimension
How does it work in Essbase?
MaxL
“FIX”
Execute
Note the MaxL
parameter variables
What not do this via a Calculation
Manager allocation?
A level zero
descendant of
a level zero
member is
impossible
If only we could execute MaxL from
Planning
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
Interrogate essfunc.xml for more CDF
info
C:\Oracle\Middleware\user_projects\epmsystem1\Essba
seServer\essbaseserver1\java\essfunc.xml
Run MaxL from BSO Business Rules
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
@CalcMgrExecuteEncryptMaxLFile syntax
Upper level data size Load time (secs) Agg time (secs)
(GB) 10,000 8,061 20,000 17,962
8,000 15,000
300
200 6,000
200 10,000
4,000
100 2,000 1,222 5,000
0 0 0
BSO BSO ASO BSO
Single threaded allocate, fx, and
aggregate performance
Single Year Six years
2500 12,000
2000 10,000
8,000
1500
6,000
1000
4,000
500 2,000
0 -
BSO ASO BSO ASO
Aggregation 1,772 Aggregation 9,313
Fx 400 1.2 Fx 1,046 5.6
Allocation 106 3 Allocation 404 14
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
ASO fx performance using execute
calculation
2000
● 5x simultaneous 200
0
threads only 16% 1-way x 50 Load / FX
ASO w/ Regular Attribute
1299
ASO w/ Stored Attribute
1474
Time in seconds
60
20 50
15 40
10 30
20
5 10
0 0
ASO BSO ASO BSO
Second Pass 12.683 0 Second Pass 33.025 0.016
First Pass 14.992 0.187 First Pass 35.274 0.281
Time in seconds
1.5 1.5
1 1
0.5 0.5
0 0
ASO BSO ASO BSO
Second Pass 0.421 0.031 Second Pass 0.874 0.031
First Pass 1.327 0.032 First Pass 0.889 0.048
Considerations
Interface is still tied to BSO in many ways
Calculation complexity
● Member formulas, procedural calculations, mix of BSO and
ASO 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
Is ASO Planning right for you?
ASO Planning is an exciting new option for
budgeting 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
Q&A