Essbase’s “Best in Class” calculation engine enables Essbase and Planning to satisfy a vast array of planning and analysis needs. Whether it’s on-premise, in PBCS custom databases, or in the EPBCS business processes, creating custom logic that meets any analytical need will generate enormous value for your organization. But to take advantage of that power and avoid costly mistakes, you must thoroughly understand what you’re working with.
The Visual Approach to Essbase calculations was developed and refined over 20 years of Essbase and Planning projects with thousands of hours of training. Now, it’s been updated for the cloud and Hybrid Aggregation. The Visual Approach uses many diagrams and visualizations to walk through exactly how Essbase thinks, starting with a thorough explanation of dimensionality, the Essbase calc cycle, global calculation, and controlling calculation scope. It demystifies sparse and dense, showing how to make the block your friend in order to make your calculations (and other Essbase/Planning operations) quickly. Finally, it explains a handful of the most important commands and functions.
This presentation is for power users, admins, and developers who are either new to Essbase and Planning calculations or need to improve their calculation skills. It provides a thorough understanding of the concepts governing Essbase calculations and the core set of commands and functions that are used in virtually every calc script and business rule. It gives you the confidence to tackle new calculation challenges and write better, faster, and more powerful business rules.
2. 2
Ron Moore
• Principal Architect at Ranzal
• Over 20 years Essbase consulting and training experience
• Certified in Essbase, Planning and R programming
• Many webcasts and KScope sessions
• 19 Oracle University Quality Awards
Intro
3. 3
Comprehensive Business Solutions
Ranzal’s solutions drive improved business performance
through better decision making, strong customer
engagement and optimized operations
Deep Oracle Partnership Drives Customer Value Adaptable Deployment Models
Diverse Client Portfolio & Industry Expertise
Bio Tech and
Pharma
Medical
Supplies
Team Highlights
Multiple
Oracle ACEs
Seasoned delivery
team with avg ~6
yrs serving Ranzal
clients
Experienced
mgmt team with
avg 12 yrs leading
Ranzal
5. 5
• Provide a solid intro to “how Essbase thinks” about calculations
• Avoid mistakes that cause poor performance
• Introduce the most important calc commands and functions
• Provide some simple best practices (the simple stupid rules)
that work for 80% of Essbase calcs
• Mostly BSO, but some of it is relevant for ASO and Hybrid
Session Objectives
6. 6
• Intersections and intersection names
• Referring to intersections in calculations
• How Essbase stores data (Sparse & Dense in 60 seconds)
• Essbase’s multidimensional calculation cycle
• Absolute and relative references
• The most important Essbase calc commands and functions
• You can do a simple allocation
Agenda
7. 7
Row and Column
Intersections
• Spreadsheets store data
in intersections named
using row numbers and
column letters
• Like coordinates on a map
12. 12
• Every number lives in an intersection. Every
Intersection has a name. Its one (and only
one) member of each dimension.
Simple Stupid Rule #1
(the iron rule of multidimensional databases)
17. 17
• Essbase implicitly matches the members on the left to the members on the right
Margin = Sales - COGS;
Jan->Margin = Jan->Sales - Jan->COGS ;
Feb->Margin = Feb->Sales - Feb->COGS ;
…
Dec->Margin = Dec->Sales - Dec->COGS ;
Relative References
18. 18
• The cross-dimensional operator (->)creates an absolute reference
Fixed (Absolute) References
Share = Sales / “Total Markets” ->Sales;
• Specifying a co-ordinates overrides the implied match
NY->Share = NY->Sales / “Total Markets” ->Sales;
MA->Share = MA->Sales / “Total Markets” ->Sales;
FL->Share = FL->Sales / “Total Markets” ->Sales;
22. 22
Essbase Breaks the Database
Into “Blocks”
USA
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
Europe Asia Africa All Regions
Hardware
Software
Services
All Products
23. 23
But Some Are Empty...
1 2 3
4 5 6 7
8 9 10
11 12 13 14 15
USA Europe Asia Africa All Regions
Hardware
Software
Services
All Products
24. 24
• The smallest unit of I/O in Essbase
• A block contains all dense dimension member combinations
• For one sparse dimension member combination
Definition of a Block
25. 25
Basic Calc Script Commands
CALC ALL; Calculates the database based on
the outline.
CALC DIM (single or
multiple dimensions
listed);
Calculates a single dimension or
multiple dimensions.
26. 26
The Dense Calc
1. Accounts Dimension (Accounts Dimension property)
2. Time Dimension (Time Dimension property)
3. Remaining Dense Dimension (in Outline Order)
The Sparse Calc
4. Remaining Sparse Dimensions (in Outline Order)
Order of Calculation:
Dimensions
Update: ASO and new versions of BSO use Solve
Order to control calculation order
27. 27
Calc Order: 1. Accounts
Jan Feb Mar Qtr1
Measures L - - - -
Profit ~ - - - -
Margin + - - - -
Sales + 678 645 675 -
COGS - 271 258 270 -
Total Expenses - - - - -
Marketing + 94 90 94 -
Payroll + 51 51 51 -
Misc + 0 1 1 -
Ratios L - - - -
Margin % F - - - -
Profit % F - - - -
Load Data
28. 28
Calc Order: 1. Accounts
Jan Feb Mar Qtr1
Measures L - - - -
Profit ~ - - - -
Margin + 407 387 405 - 3 Calc Margin for all dense dims
Sales + 678 645 675 - 1 Read Sales Data
COGS - 271 258 270 - 2 Read COGS Data
Total Expenses - - - - -
Marketing + 94 90 94 -
Payroll + 51 51 51 -
Misc + 0 1 1 -
Ratios L - - - -
Margin % F - - - -
Profit % F - - - -
Margin:Consolidate Sales (+) and COGS (-)
29. 29
Calc Order: 1. Accounts
Jan Feb Mar Qtr1
Measures L - - - -
Profit ~ - - - -
Margin + 407 387 405 - 3 Calc Margin for all dense dims
Sales + 678 645 675 - 1 Read Sales Data
COGS - 271 258 270 - 2 Read COGS Data
Total Expenses - 145 142 146 - 7 Calc Total Expenses for all dense dims
Marketing + 94 90 94 - 4 Read Marketing data
Payroll + 51 51 51 - 5 Read Payroll data
Misc + 0 1 1 - 6 Read Misc. data
Ratios L - - - -
Margin % F - - - -
Profit % F - - - -
Total expenses: Consolidate Marketing (+), Payroll (+) and Misc. (+).
30. 30
Calc Order: 1. Accounts
Jan Feb Mar Qtr1
Measures L 262 245 259 - 8 Calc Measures for all dense dims
Profit ~ 262 245 259 - 8 Calc Profit for all dense dims
Margin + 407 387 405 - 3 Calc Margin for all dense dims
Sales + 678 645 675 - 1 Read Sales Data
COGS - 271 258 270 - 2 Read COGS Data
Total Expenses - 145 142 146 - 7 Calc Total Expenses for all dense dims
Marketing + 94 90 94 - 4 Read Marketing data
Payroll + 51 51 51 - 5 Read Payroll data
Misc + 0 1 1 - 6 Read Misc. data
Ratios L - - - -
Margin % F - - - -
Profit % F - - - -
Profit: Consolidate Margin (+) and Total Expenses (-)
31. 31
Calc Order: 1. Accounts
Jan Feb Mar Qtr1
Measures L 262 245 259 - 8 Calc Measures for all dense dims
Profit ~ 262 245 259 - 8 Calc Profit for all dense dims
Margin + 407 387 405 - 3 Calc Margin for all dense dims
Sales + 678 645 675 - 1 Read Sales Data
COGS - 271 258 270 - 2 Read COGS Data
Total Expenses - 145 142 146 - 7 Calc Total Expenses for all dense dims
Marketing + 94 90 94 - 4 Read Marketing data
Payroll + 51 51 51 - 5 Read Payroll data
Misc + 0 1 1 - 6 Read Misc. data
Ratios L 60.0 60.0 60.0 - 9 Calc Margin % for all dense dims
Margin % F 60.0 60.0 60.0 - 9 Calc Ratios for all dense dims
Profit % F 38.6 38.0 38.4 - 10 Calc Profit % for all dense dims
Formulas: Margin % Sales, Profit % Sales
45. 45
Make all dense calcs dynamic (non-store) with 2 exceptions:
Any member with input data
If the order makes the calc wrong (rare)
Don’t use Dynamic Calc and Store
This eliminates the needs for the second pass because the two-pass calcs are
dynamic
The blocks (and therefore the database) are much smaller so there is less disk
I/O
Dynamic Calc Rules
46. 46
You can focus the calc on a subset using FIX statements in a
script
You can test conditions using IF statements
Controlling Scope with IF and FIX
48. 48
Outline or script
Script requires calc member block
Wrap code in parens and precede with a (dense) member name
Loads and tests each member of the tested dimension
Use on dense dimensions
Conditional Logic: IF statements
49. 49
FIX (mbrList)
commands;
ENDFIX
FIX statement cannot calc the “fixed” dim
Script only - not outline
Loads only those blocks specified
Passes thru database once per FIX Statement (un-nested)
Use multiple fixes on sparse dimensions
Controlling Scope with FIX
56. 56
Relationship Functions obtain Values
Member Set Functions return a list of member names(frequently
used with FIX Statements)
Booleans return TRUE or FALSE (used with IF Statements)
Hierarchical References
67. 67
Allocation Example
Marketing Technologies Group | www.mtgny.com
/* Calculate Driver % */
“Headcount%” = “Headcount” /
“Headcount”->”All Markets”->”All Products”;
/* Roll up driver denominators */
FIX (“Headcount”)
Calc Dim (“All Markets”, “All Products”);
ENDFIX
68. 68
Allocation Example
Marketing Technologies Group | www.mtgny.com
/* Calculate Driver % */
“Headcount%” = “Headcount” /
“Headcount”->”All Markets”->”All Products”;
/* Calculate Allocation */
“Rent”=“Headcount%” *
“Rent”->”All Markets”->”All Products”;
/* Roll up driver denominators */
FIX (“Headcount”)
Calc Dim (“All Markets”, “All Products”);
ENDFIX
69. 69
• HouseKeeping: Set UPDATECALC Off; Set AGGMISSG On;
• FIX on Level 0. Do the main calcs. Then agg the necessary
dimensions
• Its frequently faster to clear upper level data and re-agg, rather
than recalculate an aggregated database
• The block creation problem
Additional Comments
70. 70
• BSO Calc optimization is mostly about reducing the number of
blocks touched. That means touching only the blocks you need
and touching them as few times as possible.
• ASO calcs are all dynamic (almost all)
• ASO uses MDX instead of the BSO calc language
• Hybrid is BSO with ASO dynamic aggregation
Additional Comments
71. 71
8 Speaker Sessions
Monday, 6/11:
• 10:45am – 11:45am: Baha Mar's All In Bet on Red - The story of integrating data and master data with PBCS, FCCS and ARCS
• 2:30pm - 3:30pm: Visual Approach to Essbase Calcs: 2018
• 4:15pm - 5:15pm: Integrated Planning Using Enterprise Planning and Budgeting Cloud Service at Sims Metal Management
Tuesday, 6/12:
• 9:00am - 10:00am: FDMEE versus Cloud Data Management - The Real Story
• 10:15am - 11:15am: Edgewater Ranzal: Winning Strategies for Oracle Cloud Adoption: Should You Test Drive, Lease, or Buy?
• 2:15pm - 3:15pm: Why Should I Care About DVD? Blu-Ray is the New Thing, Right?
Wednesday, 6/13:
• 11:45am - 12:45pm: Putting Predictive Planning to Work
• 2:15pm - 3:15pm: EPM Automate - Automating Enterprise Performance Management Cloud Solutions
Visit us at Booth # 407
72. 72
Let’s Connect on LinkedIn!
• Open the LinkedIn app on your phone
• Click My Network
• Select Find Nearby
• Connect with me and your peers!