Getting Started with Calc Manager for Hyperion Financial Management

Post on 22-Jan-2015

4.534 views 2 download

description

 

Transcript of Getting Started with Calc Manager for Hyperion Financial Management

Getting started withGetting started with

Calc Manager forCalc Manager forHyperion Financial Hyperion Financial

ManagementManagement

Chris BarbieriPractice Director

Edgewater Ranzalcbarbieri@ranzal.com

Session 7610

Chris BarbieriChris Barbieri

� Established HFM performance tuning techniques and statistics widely used today

� 4+ years as Sr. Product Issues Manager at Hyperion

� HFM, Smart View, Shared Services, MDMMember of HFM launch team in 2001,

� HFM, Smart View, Shared Services, MDM� Member of HFM launch team in 2001,

certified in HFM and Enterprise� MBA, Babson College� B.S. Finance & Accounting, Boston College� Co-founded the HFM Performance Tuning

Lab at Ranzal with infrastructure expert Kurt Schletter

� Awarded Oracle ACE status

Calc ManagerCalc Manager

� Intro: What, where, and why would I use it?

� Object hierarchies◦ Variables

◦ Rule sets

◦ Objects

� Hung up on naming schemes

� Deploying, importing, exporting

� Troubleshooting

Why Use Calc Manager?Why Use Calc Manager?

� Code and document better◦ Flow metaphor better describes the decision process

◦ Enforces structured variables

◦ Easy re-use of objects◦ Easy re-use of objects

� New feature in 11.1.1.0: EPMA apps only

� 11.1.1.3 added support for Classic apps

� Very useable

Object HierarchyObject Hierarchy

� System View: primary view when you enter Calc Manager

� Choose the product

ApplicationApplication

� Once you select a product, you will see the available applications for each

Calculation TypeCalculation Type� These are the available HFM subroutines

� A rule set is like a playlist

� Usually have one main set

� One “blank” set

� And one “debug” set◦ Add or remove individual rules until you found the culprit

◦ Revert to the normal one when ready

Rule SetsRule Sets

◦ Revert to the normal one when ready

� … per calculation type

� View > Deployment View

� Manage which set will be the deployed one◦ Only one can be

Deployment ViewDeployment View

◦ Only one can be checked

◦ All can be unchecked

� Double-click on a set to see the contained rules◦ Puts you into rule set manager

◦ Drag a rule in, or right-click to remove

◦ Sequence matters!

ManageManage a Rule Seta Rule Set

� How do you define a rule?◦ A logical grouping of conditions, ranges, and formulas that perform a distinct task

� Rules don’t have to be included in a set◦ They won’t run if they are not in a deployed set

And finally…And finally… Rules!Rules!

VariablesVariables

� Tools > Variables

� Replacement

� Execution

Replacement VariablesReplacement Variables

� “Type less” – Jim “the rules guy” Heflin

� Type fewer variables

ReplacementReplacement VariablesVariables

� Constants

Execution VariablesExecution Variables

• Some are defined with the variable, so the same definition can be used by all rules.

• In most cases however, especially string and number variables, we defined them and number variables, we defined them inside the rule itself. In these cases, the variable is part of a common formula, but the contents are rule specific.

• Boolean• String• Number

Execution VariablesExecution Variables

Boolean VariablesBoolean Variables

� True/False responses

� Define the scope for each variable

� Most are “Rule” specific

� Some, like Tax Rates, are applicationspecific

Variable ScopeVariable Scope

specific

Variable GroupsVariable Groups

� Useful for sorting or associating the variables

Numeric VariablesNumeric Variables

� Most often populated at the rule level

� nData is the most useful, as part of Data Range (HS.OpenDataUnit)

String VariablesString Variables

� Second most popular

� Useful for storing and managing metadata member names or attributes

� Do this before you make changes

� Select an application name from System View and File > Export

Export RulesExport Rules

� Import the entire collection, includingvariables, by choosing File > Import

Import RulesImport Rules

> Import

� Browse for the .XML file

� Choose the target application.� Update Location Details

� This has no connection to the application you highlighted

� Click Import

Import Rules, cont’dImport Rules, cont’d

� Helpful scheme while looking at various list views

� RS_ for “Rule Set”◦ RS_Blank

◦ RS_Calculate

◦ RS_Debug

� RO_ for “Rule Object”◦ RS_number if they are readily sequenced◦ RS_number if they are readily sequenced

◦ RS_ObviousPurposeInTitleCase

� Within a rule, provide intuitive Captions for each object

Object NamingObject Naming

Be Obvious, Not CrypticBe Obvious, Not Cryptic

� Does the graphical flow make sense?

AnotherAnother Rule ExampleRule Example

� Use long names� HFM supports up to 50 alphanumeric

characters for the rule name

� And feel sorry for Essbase users ☺

Create a New RuleCreate a New Rule

Select the Calculation TypeSelect the Calculation Type

1. Condition

2. Formula

3. Data Range

4. Member Range

5. Script

6. Fixed Loop

The Rule PaletteThe Rule Palette

� 99% of your rules should have some

� Most important performance aspect of your application

� Always ask yourself:◦ Value dimension member?

◦ Which entities?

◦ Which period?

ConditionsConditions

◦ Which period?

� Used to populate variables

� And for most functions◦ HS.Exp

◦ HS.SetDataWithPOV

◦ HS.Clear

◦ Many more

FormulaFormula

Populate a VariablePopulate a Variable

HS.ClearHS.Clear

� Like Windows, shows a little hand on the icon

� Usage◦ Check this if you want to change or delete the formula.

Shared FormulasShared Formulas

� Does not appear in graphical◦ Just set two intersections equal to each other

◦ Still a concept of left and right

� Pull to the left

HS.ExpHS.Exp

� Last one in wins!

Multiple RowsMultiple Rows

� Blank for a dimension implies all base members with data

� Fill in a single parent member

� Use lists

Data RangeData Range

� Evaluate the account◦ We only want accounts beginning with “3”

String FunctionsString Functions

� Translate balance sheet accounts at average rate, using PVA

TranslateTranslate

� Simple example

� The only time you can write to anotherentity◦ A sibling

◦ [Proportion] or [Elimination] only

◦ Use a condition to avoid consolidating to a particular entity

ConsolidateConsolidate

particular entity

� Only accounts flagged Consolidated are available

Consolidate, cont’dConsolidate, cont’d

Consolidate, cont’dConsolidate, cont’d

� Cycle through a list of members within a given dimension

� Can be defined in the rules “Parent”,”[Base]”

� Or from custom member lists“OverrideAccounts”

� Most common inNoInput rules

Member RangeMember Range

� Most common inNoInput rules

NoInputNoInput

TestTest User Defined FieldsUser Defined Fields

� Note the use of a different formula for each View

DynamicDynamic

NoInputNoInput FormulaFormula

ZoomZoom

� Is the rule running? Did it pass each condition?

� Add a formula {i} = {i}

� Enable Logging◦ Rule Level

Debugging, aka “Debugging, aka “WriteToFileWriteToFile””

� Icon indicates you can enter text

� Also add variables to see their contents at that point in the rule

Debugging,Debugging, cont’dcont’d

� Within data range, but before accountcondition

Debugging ExampleDebugging Example

� After the condition

OutputOutput log samplelog sample

� Possible, but…◦ … chicken’s way out

� Take you just as long to write in script as it would to use graphical mode◦ And it would still be better written

ScriptScript

� No idea…

Fixed LoopFixed Loop