hyperion essbase calculation scripts presentation
TRANSCRIPT
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
1/39
UNIT 3
Calculation Script Architecture
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
2/39
Topics
When to use calc scripts
Calc Script Editor and online help
Database, dimension and member calculations Focus calculations
Generate member lists
Boolean functions Mathematical functions
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
3/39
Introducing Calc Scripts
Components of calc scripts
Calc Script Editor and online Help
Commands and functions
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
4/39
Using Calc Script Editor (Demo)
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
5/39
Using Essbase Documentation(Demo)
Essbase manuals
Product online Help
HTML formatted documentation Techn ical Reference
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
6/39
Exercise 3-1:Explore Calc Script Editor and
Online Help
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
7/39
Exploring Essbase Calc ScriptFunctionality
Functional command and functions
Control flow commands (focus)
Macro functions Conditional commands
Boolean functions
Operators Math functions
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
8/39
Using Functional Commands
CALC ALL
CALC DIM
MEMBER CALC Other CALC script commands
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
9/39
(CALC ALL)
Low Level data loaded
Calculating the Database UsingCALC ALL
Entire database is calculated.
Data is calculated based on outlineconsolidations and member formulas.
Syntax:CALC ALL [EXCEPT DIM(dimList)| MBR(mbrList)];
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
10/39
Calculating Dimensions UsingCALC DIM
Calculates a specified dimension or a list ofdimensions
Calculates first dimensions tagged as
Accounts and as Time
Calculates dense dimensions before sparse
Syntax:CALC DIM(Accounts);
(CALC DIM)
Low Level data loaded
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
11/39
Calculating Members UsingMember Calc
Unary operators and equations
All database combinations for referencedmember
Syntax:MemberName ;
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
12/39
Exercise 3-2:
Use Calc Functions
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
13/39
Focusing Calculations
FIXENDFIX
IFELSEELSEIFENDIF
CROSS DIM OPERATOR ->
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
14/39
Focusing Calculations UsingFixEndfix
Isolates a portion of the database
Syntax:FIX(mbrlist)
commands;
ENDFIX
FIX (East)
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
15/39
Focusing Calculations UsingConditional Statements
IFENDIF
IFELSEENDIF
IFELSEIFENDIF IFELSEIFELSEENDIF
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
16/39
Focusing Calculations UsingIF...ENDIF
Performs conditional tests before performing a
calculation
Commission (IF(Sales > 200000)Commission = Sales * .012 ;
ENDIF)
IF condition is TRUE then do statement.
IF condition is FALSE, then skip statement.
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
17/39
Focusing Calculations UsingELSEIFELSE
Performs conditional test if IF statement is FALSE
Commission
(IF(Sales >= 200000)
Commission = Sales * .12;
ELSEIF (Sales >= 100000)
Commission = Sales * .098;
ELSE Commission = Sales * .05;
ENDIF)
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
18/39
Focusing Calculations Using CrossDim
A pointer to data values of specific member
combinations
Syntax:-> Sales->Jan->Actual
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
19/39
Exercise 3-3:
Focus Calculations
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
20/39
Generating Lists Using MacroFunctions
Family
@CHILDREN
@DESCENDANTS
@SIBLING @RELATIVE
Generation and level
@GENMBRS
@LEVMBRS
Others
@UDA
@MATCH
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
21/39
Generating Lists Using@ICHILDREN
Includes the specified member and all
members in the level immediately below the
specified member
Given this outline
FIX(@ICHILDREN(West))
ENDFIX
Applies calculations tothe following:
West, California, Oregon
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
22/39
Generating Lists Using@IDESCENDANTS
Includes the specified member and either all
descendants or only the descendants down to
a specified generation or level.
Given the outline
FIX(@IDESCENDANTS(WEST))
ENDFIX
returns the following:West,California,San Diego,San
Francisco, Los Angeles, Chico,
Oregon
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
23/39
Generating Lists Using @UDA
Generates a list of members that have the
referenced UDA
Given the outline,
FIX(@UDA(MARKET,Small Market))
ENDFIX
applies calculations tothe following:
Connecticut, New Hampshire, and South
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
24/39
Generating Lists Using @MATCH
Allows you to perform a wild-card search formembers
100-10
100-20
200-10
200-30
300-20
Given the following members
FIX(@MATCH(PRODUCT,???-10))
ENDFIX
Returns the following:100-10,200-10
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
25/39
Exercise 3-4:
Using Macro Functions
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
26/39
Testing for Values Using BooleanFunctions
@ISDESC
@ISMBR
@ISLEV
Logical connectors
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
27/39
Testing for Values Using@ISDESCENDANTS
Tests member during calculation to determine
appropriate formula for payroll
Payroll(If (@ISDESC(East) OR @ISDESC (West))
Payroll = Sales * .15;
ELSEIF (@ISDESC (Central))
Payroll = Sales * .11;
ELSE
Payroll = Sales * .10;
ENDIF)
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
28/39
Testing for Values Using @ISMBR
Tests to see if a member is present for a
specific calculation
Fix (East)
Commission
( If (@ISMBR(New York:
New Hampshire))
Commission =
Commission * 1.25 ;
Endif )
Endfix
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
29/39
Testing for Values Using @ISLEV
Tests to see if a member is present for a
specific calculation
If the calculation is
positioned on New York:
@ISLEV(Market,0)
is TRUE and
@ISLEV(Market,1)
is FALSE
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
30/39
Using Logical Connectors withBoolean Functions
AND
OR
NOT
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
31/39
Exercise 3-5:
Using Boolean Functions
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
32/39
@VAR
@TRUNCATE
@MIN
@MOD
Transforming Values with MathFunctions
@VARPER
@ROUND
@MAX
@ABS
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
33/39
Transforming Values with @VARand @VARPER
@VAR
Calculates the variance(difference) between the
values of two members
@VAR(Actual,Budget)
@VARPER
Calculates the variance(difference) percent
between the values of twomembers
VARPER(Actual,Budget)
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
34/39
Transforming Values with@TRUNCATE and @ROUND
@TRUNCATE
Removes the fractionalpart of an expression
and returns the integer.
Total_Sales =
@TRUNCATE(
@SUM(Direct_Sales:
Other_Sales));
@ROUND
Rounds an expressionto the nearest whole
number or to a
specifically decimal
Profit =
@ROUND("Profit_%);
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
35/39
Transforming Values with @MINand @MAX
@MIN
Returns the minimumvalue among the results
of an expressionQtr1 = @MIN(Jan:Mar) ;
@MAX
Returns the maximumvalue among the results
of an expression
Qtr1 = @MAX(Jan:Mar) ;
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
36/39
Transforming Values with @MOD
Calculates the modulus (the remainder) of adivision operation
Factor = @MOD("Margin %", "Profit %");
Margin % = Dividend
Profit % = Divisor
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
37/39
Transforming Values with @ABS
@ABS returns the absolute value of anexpression.
Variance = @ABS(Actual-Budget) ;
The absolute value turns negative numbersinto positive numbers:
@ABS(-5) = 5
@ABS(+5) = 5
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
38/39
Exercise 3-6:
Math Functions
-
8/11/2019 Hyperion essbase Calculation Scripts Presentation
39/39
Test Your Understanding