0% found this document useful (0 votes)
14 views

Oracle Hyperion Calc Manager

Uploaded by

Soundarya
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Oracle Hyperion Calc Manager

Uploaded by

Soundarya
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Источник: https://ranzal.wordpress.

com

ORACLE HYPERION CALC


MANAGER – Part 1
With the continued investment in the Hyperion tool set by Oracle, there was a desire to
centralize the development of calculations for HFM, Essbase, and Planning. As a result of
this, Oracle Hyperion Calculation Manager was born. Calc Manager is a powerful tool for
developing and administering rules for Planning and Essbase. An intuitive graphical
interface is available to help in the development process, helping to expedite movement
through the learning curve for people just beginning to dip their toes into the world of
Oracle Hyperion Planning and Oracle Essbase.

Over the course of several posts this summer, I’ll explore Calc Manager functionality from
the Essbase and Planning points of view. For EPMA-enabled Planning applications, use of
Calc Manager is required. With version 11.1.1.3, Calc Manager can be used with Classic
Planning apps as well. However, the focus of my blog posts will be EPMA-enabled apps, as
Classic Planning rides off into the sunset.

Calc Manager, a component of EPM Architect, is integrated into EPM Workspace, the
standard entry point for many Hyperion applications. In order to access Calc Manager, log
into Workspace, and select Nagivate->Administer->Calculation Manager (see screen shot
below for navigation path). However, before we get too far into actually navigating the
tool, we’ll need to get comfortable with the terminology within Calc Manager.
Источник: https://ranzal.wordpress.com

There are three types of objects within Calc Manager: components, rules, and rulesets.
Components are smaller pieces of a larger rule. Things like SET commands, FIX
statements, formulas, etc. are examples of components. I’ll explore this in much greater
detail in a future post, but think of a standard types of SET commands that you use in all
of your scripts – this can be saved separately as a script component and pulled into a new
rule very easily. Included below is a shot of the Component Designer with a sample of
some standard set commands.
Источник: https://ranzal.wordpress.com

Essentially, rules are the finished calc script, similar to Business Rules in the past. Rules
are used for modeling/allocations/aggregations and the like. Rules can be built using
system templates. Oracle has provided standardized templates for tasks such as clearing,
copying, allocating, aggregating, and exporting data. Again, these templates will be
explored in additional detail in a future post.

Rulesets are similar to Business Rule Sequences under Hyperion Business Rules. Rulesets
can be used to launch rules sequentially or simultaneously depending on your logic
requirements.

Now that we’ve covered the basic terminology related to Calc Manager, in my next post,
which should be online by July 4, we’ll walk you through creating a rule for an EPMA
enabled Planning app. In the meantime, if you have any questions, leave a comment!

ORACLE HYPERION CALC


MANAGER – Part 2 – Creating a
Planning Rule
Источник: https://ranzal.wordpress.com

In Part 1 of this series we introduced Calc Manager, providing a general overview and
explanation of some new terms. In this post, we will walk through the development of a
rule for Hyperion Planning using the graphical interface within Calc Manager.
Again, in order to access Calc Manager, log on to Hyperion Workspace. Once in
Workspace, the navigation path is:

Navigate->Administer->Calculation Manager.

Once in Calc Manager, you’ll land on the System View tab, which appears as follows:

For purposes of this demonstration, I have created an EPMA enabled Planning application
from the Sample.Basic application that we all know and love. When the Planning node is
expanded, this is what I see:
Источник: https://ranzal.wordpress.com

First, to help illustrate functionality available in Calc Manager, I’m going to create a script
component that contains my standard SET commands for the rule. In order to create the
script component, right click on “Scripts” and click on “New”. Give your script a name
and click on “OK”. This will launch the Component Designer.

From here, you have two options. If you know what your SET commands need to be,
you’re free to type them in directly. If you wish to be prompted through the process, click
on the button at the top left corner of the Component Designer window. This will launch
a window with all of the calc functions and SET commands. The following shot displays
the function selection interface for SET commands.
Источник: https://ranzal.wordpress.com

For my purposes, I’m going to directly type my SET commands into the Component
Designer. Once complete, save and validate.

Think of script components as an easy way to reuse code…SET commands, standard cube
aggregations and the like.

Once we have saved the script component with our SET commands, it’s time to develop
our rule. To begin, right click on “Rules” under the database node and select “New”.
Give your rule a name and click on “OK”. This will launch you into the Rule Designer
window.
Источник: https://ranzal.wordpress.com

In this example, I’ll create a rule that aggregates the cube, using a run time prompt for
the Version dimension.

We can now begin to develop our rule. First, we’ll select the script component for our SET
commands that we developed earlier. Simply drag this into the rule designer to the right
of “Start”. The Rule Designer window now looks like this:
Источник: https://ranzal.wordpress.com

Let’s take this opportunity to create our variable for the Version dimension run time
prompt. Go to the “Tools” menu and select “Variables”. Once the Variable Navigator
launches, expand the Planning, application, and database nodes. I’m going to create a
run time prompt variable for the Version dimension. Right click on your rule name and
select “New”. Once I populate the fields on the “Replacement” tab, my screen looks like
this:
Источник: https://ranzal.wordpress.com

When complete, save the variable. Now, back to our rule…

We’re going to specify members for our “Fix” statement. To do this, select “Member
Range” in the New Objects portion of the Rule Palette.

To add to the rule, drag and drop to the right of the SET command script. My screen looks
like this:
Источник: https://ranzal.wordpress.com

Next, we’ll populate the members for our Fix statement. I’ll start with Measures. For my
rule, I want to select all of the level 0 measures. Once I click on the Value field for the
Measures dimension, an Actions box appears.
Источник: https://ranzal.wordpress.com

I want to select a Function. This invokes the function selection window that we observed
earlier. I want to select @LEVMBRS from the list, which will then prompt for the dimension
and level number.
Источник: https://ranzal.wordpress.com

I select Measures from the drop down box and enter “0” for the level name. I’m going to
repeat this process for all of my dense and non aggregating sparse dimensions, with the
exception of the Version dimension. This will be handled via the run time prompt. For the
Version dimension, select “Variable” in the Actions box. Change the Category selection to
“Rule” and this is what we see.
Источник: https://ranzal.wordpress.com

Highlight the variable and click OK. My member range box looks like this:

Now, we’ll develop the script component to aggregate the Product and Market
dimensions. I’m going to drag a script from the “New Objects” portion of the Rule Palette
into my member range. The graphical display looks like:
Источник: https://ranzal.wordpress.com

Again, I’m going to select a function (AGG in this case). I then select Products and Market
from the dimension selector.

Now, save and validate. To deploy the rule to Planning, select Quick Deploy:
Источник: https://ranzal.wordpress.com

Once deployed, the rule can be run from Planning.

In this post, we’ve provided a walk through on developing a new rule using the graphical
designer. More experienced developers can directly code the calc in script mode. To
convert to script mode, select “Edit” and “Script” from the menu.

In the next post, due by July 31, we’ll explore templates and ruleset creation. In the
meantime, please leave a comment if you have any questions!

ORACLE HYPERION CALC


MANAGER – Part 3 – Working
with Templates
In Part 1 of this series, we introduced Calc Manager, providing a general overview and
explanation of some new terms. In the second post in the series, we walked through the
development of a Planning rule that utilized a run time prompt. In this post, we’ll explore
templates provided within Calc Manager.
As with the Rule Designer, which is a great tool to help less experienced developers build
rules, templates provide a simple way to develop rules for basic tasks in Planning and
Essbase…tasks such as copying, clearing, exporting, allocating, and aggregating data. In
addition, you can design your own templates.

We’ll begin by logging on to Hyperion Workspace and navigating to Calc Manager. Once
in Workspace, the navigation path is:
Источник: https://ranzal.wordpress.com

Navigate -> Administer -> Calculation Manager.

Once in Calc Manager, you’ll land on the System View tab, which appears as follows:

Once again, I’ll use my EPMA enabled version of my Planning app based onSample.Basic.
Источник: https://ranzal.wordpress.com

To access predefined templates, right click on “Rules”. Once you give the rule a name,
the graphical designer is launched. In the “Existing Objects” window, you should find a
list of the pre-existing templates. A list of the system templates follows:

CLEAR DATA

In order to use the system template to Clear Data, drag and drop “Clear Data” from the
System Templates to the Rule Designer. This will then invoke a member selection window
asking you to specify the data to clear. Keep in mind that this template generates a calc
script utilizing the CLEARBLOCK command as opposed to a CLEARDATA command.
Источник: https://ranzal.wordpress.com

In my sample app, I select “FY11” for the Years dimension and “Final” for the Version
dimension. The dropdown box for “Clearblock Option” can be used to define the blocks to
be cleared…”All” is the default. The code that is generated appears below.

FIX ("FY11","Final")
CLEARBLOCK ALL;
ENDFIX

COPY DATA

The Copy Data template helps to walk the calc developer through the process of copying
data from one slice of the database to another.
Источник: https://ranzal.wordpress.com

In the remainder of the wizard, you select the “Copy From” member and the “Copy To”
member. The calc script generated follows:

FIX (@RELATIVE("Measures" , 0),@RELATIVE("Periods" ,0),@RELATIVE("Product" ,


0),@RELATIVE("Market" , 0),@RELATIVE("Years" , 0),"Budget")
DATACOPY "Working" TO "Final";
ENDFIX

AMOUNT-UNIT-RATE

The Amount-Unit-Rate template allows the developer to build a calc script to solve for
either an amount, unit, or rate, basically whichever is missing. I’ve added a couple of
measures to my application to facilitate the demo. Using the member selection wizard,
I’ve selected “Sales” as my amount, “Cases” as my unit, and “Revenue per Case” as my
rate. The script generated by the template follows:

"Sales"(
IF ("Sales" == #missing and "Cases" != #missing and "Revenue per Case" != #missing)
"Sales" = "Cases" * "Revenue per Case";
ELSEIF ("Sales" != #missing and "Cases" == #missing and "Revenue per Case" !=
#missing)
"Cases" = "Sales" / "Revenue per Case";
ELSEIF ("Sales" != #missing and "Cases" != #missing and "Revenue per Case" ==
#missing)
"Revenue per Case" = "Sales" / "Cases";
ELSE
"Sales" = "Cases" * "Revenue per Case";
ENDIF
)

ALLOCATIONS

Two types of allocation templates are provided within Calc Manager. The first template,
Allocate Level to Level, allows you to allocate from one level to another. In my example
with my Planning app, you would use this template to allocate marketing expenses from
product family to product using a driver like revenue. This approach utilizes @ANCESTVAL
to build the script.

The second template, Allocate Simple, allocates values based on a predefined


relationship, such as Marketing->Market * Cases/Cases->Market.

Both templates walk the developer through the setup of the allocations, selecting
members that are fixed throughout the process, offset members (if any), etc.

AGGREGATION

The aggregation template aids the developer to create a script to aggregate the
application. The first screen of the wizard, pictured below, allows you to select members
for the FIX statement in the aggregation – here you would limit the calc to a particular
version, scenario, or your non aggregating sparse dimension members.
Источник: https://ranzal.wordpress.com

The next screen prompts for dense dimensions to aggregate. However, if dynamic calcs
are properly utilized, this should not be necessary.

The third screen asks for sparse dimensions for the aggregation. You should exclude any
non aggregating sparse dimensions from this selection.

Next, you’re prompted for partial aggregations of dense dimensions. Again – if dynamic
calcs are used properly, this should not be an issue.

In the final screen of the wizard, the developer selects settings for the script…
Источник: https://ranzal.wordpress.com

The code generated by Calc Manager follows:

SET AGGMISSG ON;


SET FRMLBOTTOMUP ON;
SET CACHE HIGH;
FIX (@RELATIVE("Years" , 0),"Working","Budget")
CALC DIM ("Product");
CALC DIM ("Market");
ENDFIX
Please note that this code is not optimized. In this example, I would use the following:

AGG (“Product”,”Market”);

The code as generated by Calc Manager will result in an extra pass through the database
– the calc can be accomplished with a single pass. Additionally, AGG can be used in place
of CALC DIM if there are no formulas on the dimensions being calculated. Generally
speaking, stored formulas on sparse dimensions should be avoided due to performance
issues.

SET COMMANDS

The next template walks the user through setting various SET commands for the calc.
This is a fairly straightforward exercise.

EXPORT DATA

This is another straightforward template that helps create a data export calc script. You
need to define the fixed members for the export, delimiter, #MISSING value, export type
(flat file, relational), etc.

In the final part of this series, due for posting on August 13, we’ll walk through the
creation of a ruleset. If you have any questions before the next post, please leave a
comment!

ORACLE HYPERION CALC


MANAGER – Part 4 –
Creating RuleSets
In Part 1 of this series, we introduced Calc Manager, providing a general overview and
explanation of some new terms. In the second post we walked through the development
of a Planning rule that utilized a run time prompt. Part 3 covered templates available
with Calc Manager.
Источник: https://ranzal.wordpress.com

In this, the final post in this series, we’ll step through the creation of a ruleset. Rulesets
are equivalent to Business Rule Sequences in Hyperion Business Rules.

We’ll begin by logging on to Hyperion Workspace and navigating to Calc Manager. Once
in Workspace, the navigation path is:

Navigate -> Administer -> Calculation Manager.

Once in Calc Manager, you’ll land on the System View tab, which appears as follows:

Once again, I’ll use my EPMA enabled version of my Planning app based onSample.Basic.
Источник: https://ranzal.wordpress.com

To create a new ruleset, right click on the “RuleSets” node under your Planning app and
select New. You’ll be prompted to give the ruleset a name. I’ll name mine
Process_Application. Additionally, you can change the app/database for this ruleset in this
dialog box.

After I click OK, the following screen loads:

You can display the rules available for your rule set by expanding the tree until you see
the rules for your database.

To add rules to the ruleset, simply drag and drop them onto the Ruleset Designer on the
right side of the screen.
Источник: https://ranzal.wordpress.com

By default, the rules will run sequentially. If you wish for rules to execute in parallel,
select the RuleSet name within the RuleSet designer. Check “Enable Parallel Execution”
on the Properties tab at the bottom of the screen.

In order to run the script, save, validate, and deploy to your Planning application.

The series of posts that we’ve put together this summer were designed to give a user a
basic understanding of how to work with Calculation Manager. With any new technology,
its best to dive in and immerse yourself to speed through the learning curve – Calculation
Manager is no different. Take the opportunity to experiment with the tool. I feel that
you’ll find it easy to learn the basics and before long you’ll be developing your own rules.

If you have any questions about Calc Manager, please leave a comment on any of the
posts in this series, or reach out to me via email at [email protected].

You might also like