Upload
edgewater-ranzal
View
4.542
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Getting started withGetting started with
Calc Manager forCalc Manager forHyperion Financial Hyperion Financial
ManagementManagement
Chris BarbieriPractice Director
Edgewater [email protected]
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