hyperion essbase calculation scripts presentation

Upload: rams08

Post on 03-Jun-2018

563 views

Category:

Documents


33 download

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