moore advanced calculations in calc manager ow 20151015

Post on 15-Apr-2017

152 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Advanced Calculationsin Calc Manager

Ron Moore

TopDown Consulting, Inc.

�Solution Architect at TopDown Consulting

�Certified in Essbase and Planning

�Over 20 years experience with Essbase

�Over 30 years experience in forecasting, financial

modeling and predictive analytics

Ron Moore

�Use simple rolling forecast and driver based budgeting

examples

�Automate repetitive calculation development tasks

using Custom Defined Templates (CDTs)

�Answer some common CM questions

Objective

�Quick review of CDTs (for more keystrokes see

http://www.odtug.com/p/do/sd/sid=5349&type=0)

�Develop a conceptual framework for CDT

implementation

�Apply CDTs to a Driver Based Budgeting application

�Use Calc Manager to create a calculation in ASO

�Demonstrate some tricks with variables

Agenda

�CDTs are like wizards

● Executed during rule development

�Drag in Components

● Formula, Script, Condition, Member Block, Member Range, Fixed

Loop, Metadata Loop, DTP Assignment

�Design Time Prompts

● Prompt the designer for rule parameters

�CDT prompts

● Questions in the wizard pages

�Steps

● Pages in the wizard

Custom Defined Templates

�Categorize static and customized elements

�Create script components for static elements

�Parameterize the customizations

●Design Time Prompts : Outline /one time customizations

●Run Time Prompts: End user customizations

Conceptual Framework Design Steps

Conceptual framework

Question Answer Examples

What’s static? Patterns in the code Baseline Fixes

Mathematical logic

What’s

customized?

Dimension names

Member names

Slices

Accounts v Measures

Members to forecast

History years v Forecast years

Identify predictable common elements that can be packaged

Common Dimension types

Run Time Prompt v. Design Time Prompt Customizations

Prompt Design Time Run Time

Measure to Calculate vPctGrowthMember

Growth Percent vGrowthPct

Year dimension dtpYearDim

Period Dimension dtpPeriodDim

First Month dtpFirstMonth

Parameterize Slices Forecast Slice (user

rtp)

Business

Units Slice

(user rtp)

Stored Data Types Slice

(rule designer dtp)

CODE DESIGN CHOICES : PIVOTING THE CODE

CONVERT TO IF

Drivers on Accounts v. Drivers on View Dimension

“Forecast” = “Sales” * “Drivers”;

“COGS” = “Sales” * “COGS Driver”;

“Rent” = “Sales” * “Rent Driver”;

“Payroll” = “Sales” * “Payroll Driver”;

EtcD.

PUT DRIVERS ON THE VIEW DIMENSION

Strengths Weaknesses

Drivers on Accounts Dim • One less dimension • More maintenance

• Harder code

Drivers on View Dim • Easier maintenance

• Easier code

• One more dimension

TARGET CODE

PROMPT ANALYSIS

Code element Prompt

Business Unit Slice vBusUnits

Forecast Years Slice vFCYears

Stored Data Types Slice dtpStoredSlice

FCLeftSide dtpFCLeftSide

Method 1 Accounts vM1Accounts

Method 2 Accounts VM2Accounts

Year Dim dtpYearDim

Periods Dim dtpPeriodsDim

Driver Dim dtpDriverDim

Driver Member/s dtpDriverMb

�Create the variables

�Create the Custom Defined Template

●Drag in script component (Rolling Forecast code)

●Drag in member range components (FIXes)

●Create the DTPs

●Create steps

●Substitute RTPs/DTPs

�Create the rule

●Drag in the CDT

●Additional member ranges (FIXes)

CDT Workflow

Create the Template

• System View | APP/DB

• Right Click Templates |New• Drag in the FCLogic Script

SUBSTITUTE THE DPTS

SUBSTITUTE THE TIME FRAME DTPS

�Create the new rule

�Drag in the Custom Defined Template

�Execute the wizard

�Create additional Member Ranges

�Save

�Launch

Create the rule

FINAL RULE

WRITE A CALC MANAGER RULE

TO COPY DATA IN ASO

�Create a new rule

�Drag in the Point of View object

�Drag in the formula object inside the POV object

Create the rule

�Click the left node of the POV object

�Make the following selections

Configure the POV

Measures "Price Paid", "Original Price", "Transactions", "Returns", "Units"

Years Leave this blank

Time @Level0Descendants("MTD")

Transaction

Type

@Level0Descendants("Transaction Type")

Payment Type @Level0Descendants("Payment Type")

Promotions @Level0Descendants("Promotions")

Age @Level0Descendants("Age")

Income Level @Level0Descendants("Income Level")

Products @Level0Descendants("Products")

Stores @Level0Descendants("Stores")

Geography @Level0Descendants("Geography")

�Click the formula object

�Enter the formula :

�“Prev Year” = “Curr Year”

�Validate

�Save

Create the formula

Results

• Spreadsheet before the calc

• Launch the rule

�You must address every dimension. That is, any

dimension not addressed on the left side of the

formula/s must be addressed in the POV

�You cannot use any dynamic members in the POV or

formula.

What to watch out for:

DESIGN TIME PROMPTS

Setting Description

Type 14 types, we will use Member Range, Member and Dimension

Dependency Inclusive, Exclusive, None

Limits Dense/Sparse, Accounts/Time, Planning :required dimensions

Prompt it? Yes/No

Mandatory? Yes/No

Read Only Yes/No

DTP Text Custom text

Default value Depends on type

BUILT-IN DTPS

DTP Purpose

Application Type Project Planning or Public Sector Planning

Application Single or Multi currency

Upper POV Capture all upper fix dimensions to exclude or include in downstream DTPs

�Select the Design Time Prompt tab

�Click the + sign to create a new row

Create the Design Time Prompts

CREATE THE STEPS

Steps

1. Time Frame

−dtpYearDim

−dtpPeriodDim

−dtpFirstMonth

2. Input Data Types

−dtpInputDataTypes

SELECT DTP FOR MEMBER RANGE

Drag in the Template

Create the Rule

CODE AFTER CDT WIZARD EXECUTION

ADD BUSINESS UNITS MEMBER RANGE

ADD FORECAST SLICE MEMBER RANGE

CODE

1. Rollup driver denominator

2. Calculate driver %

3. Multiply driver % by total value to be allocated

Simple Allocation Code

Allocate Marketing based on Units driver

Calc Objective

Q & A

top related