Anda di halaman 1dari 132

Essbase Lab Guide-I

For
<< Customer Name >>
Prepared By
Sushuma P
15th September 2008

25936855.doc

Confidential
Adaequare, Inc

Page 1 of 132

Revision and Signoff Sheet


Change Record
Author
Sushuma P

Version
0.1

Change reference
Initial draft for review/discussion

Date
15th Sep 2008

Comments

Date

Reviewers
Name
Neeraj Soni

25936855.doc

Version
approved
0.1

Confidential
Adaequare, Inc

Page 2 of 132

TABLE OF CONTENTS
..............................................................................................................5
..............................................................................................................5
MODULE 1...................................................................................................................................6
DESIGININGOUTLINES........................................................................6
EXERCISE - CREATING A DATABASE...................................................................................................................6
EXERCISE - BUILDING A TIME DIMENSION...........................................................................................................8
EXERCISE - BUILDING A SCENARIO DIMENSION..................................................................................................11
EXERCISE - CREATING THE ACCOUNTS DIMENSION.............................................................................................12
EXERCISE - ADDING TO THE ACCOUNTS DIMENSION...........................................................................................13

MODULE 2 ..............................................................................16
BUILDING LOAD RULES.........................................................................16
EXERCISE - LOADING THE FAMILY TOTAL HIERARCHY........................................................................................16
EXERCISE - (OPTIONAL) USING THE LEVEL BUILD METHOD................................................................................16
EXERCISE - CREATING A PARENT-CHILD LOAD RULE.........................................................................................17
EXERCISE - LOADING DIMENSIONS USING A PARENT-CHILD RULE.......................................................................17
EXERCISE - (OPTIONAL) CLOROX MINTY..........................................................................................................17
EXERCISE - LOADING A CHANNELS HIERARCHY TO CUSTOMER............................................................................18
EXERCISE - CREATING A REGION TOTAL ATTRIBUTE DIMENSION.........................................................................19
EXERCISE - (OPTIONAL) BUILDING THE CAPACITY TOTAL ATTRIBUTE...................................................................19

MODULE 3.......................................................................................20
SPREADSHEET REPORTING......................................................20
EXERCISE - INSTALLING THE ADD-IN AND TOOLBAR...........................................................................................20
EXERCISE - MANAGING CONNECTIONS..............................................................................................................23
EXERCISE - ANALYZING DATA.........................................................................................................................24
EXERCISE - CHALLENGE 1...............................................................................................................................26
EXERCISE - CONTROLLING EXPANSION..............................................................................................................26
EXERCISE - TROUBLESHOOTING REPORTS..........................................................................................................28
EXERCISE - MANAGING DISPLAY OPTIONS........................................................................................................28
EXERCISE - SELECTING MEMBERS FROM THE OUTLINE........................................................................................30
EXERCISE - DESIGNING QUERIES......................................................................................................................30
EXERCISE - (OPTIONAL) REPLICATING REPORTS WITH CASCADE...........................................................................32
EXERCISE - SPREADSHEET FORMULAS...............................................................................................................36

..........................................................................................................................38
25936855.doc

Confidential
Adaequare, Inc

Page 3 of 132

MODULE 4

.................................................................39

CREATING BASIC CALCULATIONS..............................................................39


Exercise - Examining the Anatomy of a Rollup........................................................................................39
Exercise - Adding a Back Calculation.....................................................................................................43
Exercise - Focusing with FIX...................................................................................................................44
Exercise - Focusing with IF.....................................................................................................................45
Exercise - Creating Mix Calculations......................................................................................................45
Exercise - Calculating a Moving Average...............................................................................................45
Exercise - Managing Calculation Script Maintenance............................................................................46
Exercise - Optimizing Block Size with Aggressive Dynamic Calculation................................................46

MODULE 5.......................................................................................47
DESIGNING AND OPTIMIZING THE ADVANCED CALCULATION SCRIPTS 47
Exercise - Manipulating Data with Calculation Scripts..........................................................................48
Exercise - Clearing Data..........................................................................................................................48
Exercise - Counting Customers................................................................................................................48
Exercise - Allocating Data.......................................................................................................................49
Exercise - (Optional) Advanced Allocations............................................................................................50

EXERCISE SOLUTION.......................................................................51
MODULE 1...................................................................................................51
EXERCISE - BUILDING A SCENARIO DIMENSION..................................................................................................51
EXERCISE - CREATING THE ACCOUNTS DIMENSION.............................................................................................54
EXERCISE - LOADING THE FAMILY TOTAL HIERARCHY........................................................................................58
EXERCISE - (OPTIONAL) USING THE LEVEL BUILD METHOD................................................................................64
EXERCISE - CREATING A PARENT-CHILD LOAD RULE.........................................................................................67
EXERCISE - LOADING DIMENSIONS USING A PARENT-CHILD RULE.......................................................................69
EXERCISE - (OPTIONAL) CLOROX MINTY..........................................................................................................70
EXERCISE - LOADING A CHANNELS HIERARCHY TO CUSTOMER............................................................................75
EXERCISE - CREATING A REGION TOTAL ATTRIBUTE DIMENSION.........................................................................80
EXERCISE - (OPTIONAL) BUILDING THE CAPACITY TOTAL ATTRIBUTE...................................................................86
EXERCISE - CHANGING TRANSPARENT PARTITION VALUES AND STRUCTURE...........................................................88
EXERCISE - LOADING DATA............................................................................................................................92
...................................................................................................................102
MODULE 3.........................................................................................................103
EXERCISE - SPREADSHEET REPORTING CHALLENGE 1: FORMATS.........................................................................103
EXERCISE - TROUBLESHOOTING REPORTS........................................................................................................104
EXERCISE - SELECTING MEMBERS FROM THE OUTLINE......................................................................................105
EXERCISE - DESIGNING QUERIES....................................................................................................................111
MODULE 4 .....................................................................................................117
EXERCISE - ADDING A BACK CALCULATION..................................................................................................117
EXERCISE - FOCUSING WITH FIX...................................................................................................................118
EXERCISE - FOCUSING WITH IF......................................................................................................................119
25936855.doc

Confidential
Adaequare, Inc

Page 4 of 132

EXERCISE - CREATING MIX CALCULATIONS.....................................................................................................120


EXERCISE - CALCULATING A MOVING AVERAGE..............................................................................................120
EXERCISE - OPTIMIZING BLOCK SIZE WITH AGGRESSIVE DYNAMIC CALCULATION................................................121

SOLUTIONS.............................................................................................................................124
SOLUTION #1 - SETTING TWO-PASS CALCULATIONS.........................................................................................124
SOLUTION #2 - MAKING SCENARIO A DENSE DIMENSION..................................................................................125
MODULE 5.............................................................................................................126
EXERCISE - MANIPULATING DATA WITH CALCULATION SCRIPTS.........................................................................126
EXERCISE - CLEARING DATA.........................................................................................................................129
EXERCISE - COUNTING CUSTOMERS................................................................................................................129
EXERCISE - ALLOCATING DATA.....................................................................................................................130
EXERCISE - (OPTIONAL) ADVANCED ALLOCATIONS..........................................................................................132

25936855.doc

Confidential
Adaequare, Inc

Page 5 of 132

MODULE 1
DESIGININGOUTLINES
Exercise - Creating a Database
You have decided to analyze your sales data in Essbase, and the first step is to build an
application and database shell. In this exercise, you create the Bigcorp application and Sales
database.
1) On the Administration Console, select File > New > Block Storage Application.

2) Click OK.
The Create Application dialog box opens.
3) Verify that localhost is selected in the Analytic Server drop-down list box.
4) In the Application name text box, type

Bigcorp.

5) Click OK.
The Bigcorp application is displayed under the Applications node on the Enterprise View
tab.
6) On the Administration Console, select

25936855.doc

File > New > Database.

Confidential
Adaequare, Inc

Page 6 of 132

7) Click OK.

8) Verify that localhost is selected in the Analytic Server drop-down list box.
9) In the Application drop-down list box, select
10) In the Database name text box, type

Sales.

11) In the Database type section, select

Normal.

Bigcorp.

12) Click OK.


The Sales database is displayed under the Bigcorp application on the Enterprise View tab.

25936855.doc

Confidential
Adaequare, Inc

Page 7 of 132

Exercise - Building a Time Dimension


In this exercise, you build the Time dimension and add dimension members. This exercise
assumes that you are working in the Outline Editor.
To open the Outline Editor for the Sales database, expand the Sales database node in the
Enterprise View tree and then double-click the Outline icon.
Creating Outline Members
1) In the Outline Editor, select

Outline: Sales.

2) Right-click and select Add child.


3) In the text box, type Year Tot.
4) Press Enter.
5) Press Esc.
6) Select Year Tot.
7) Right-click and select Add child.
8) Type Quar ter 1 .
9) Press Enter .
10) Create additional sibling members for Quarter 1 named
Quarter 4.

Quarter 2, Quarter 3, and

11) Create child members, Jan through Dec, to populate the months in each quarter.

25936855.doc

Confidential
Adaequare, Inc

Page 8 of 132

Changing Outline Member Properties


1) Right-click Quarter 1, and then select Edit member properties.

2) Add an alias called Qtr 1 .


3) Add similar aliases for the remaining quarters. Add aliases to the months where Jan's
alias is January,
Feb.s alias is February, and so on.

25936855.doc

Confidential
Adaequare, Inc

Page 9 of 132

Creating a Dynamic Time Series Member


1) Open the Member Properties dialog box for

Year Tot .

2) Under Dimension Type, select Time .


3) Click OK.
4) Highlight Year Tot and select Outline > Dynamic time series.

5) In the Y-T-D row, select Enabled.


6) In the Gen drop-down list box, select 1 (representing the generation where the Y-T-D
accumulation should occur).
7) In the Default text box, type YTD as the alias.

25936855.doc

Confidential
Adaequare, Inc

Page 10 of 132

10

8) Repeat this procedure for Q-T-D, selecting 2 for the generation and creating an alias of
QTD .
9) Click OK .

Exercise - Building a Scenario Dimension


Create a Scenario dimension for the Sales database. Add the following children to Scenario:
Current Year
Prior Year
Forecast
Bud get
Scenario Variances
Use this table to create children for the Scenario Variances members:
Member

Member Children

Act Vs Bud

Current Year
Budget

Act Vs Fcst

Bud Vs Fcst

None

None

Notes
Set children as shared members.
Change the consolidation
operator of Current Year to Addition (+)
and Budget to Subtraction (-).
Add the following member
formula:
Current Year - Forecast;
Add the following member
formula:
Budget - Forecast;

In addition, set the following dimension and member properties:


Set the Consolidation property for the children of Scenario and the children of Scenario
Variances to (~) Ignore .
Set the Data Storage property for the Scenario dimension member and the Scenario
Variances member to Label Only.

25936855.doc

Confidential
Adaequare, Inc

Page 11 of 132

11

Exercise - Creating the Accounts Dimension


Create an Accounts dimension for the Sales database. Open Corpacct.xls, and select the
Gross Margin Analysis worksheet. Convert from spreadsheet analysis format to Essbase
outline Structure. Use this worksheet as a guide for member names and member
relationships.

Use this worksheet as a guide for member formulas and consolidation operators.

25936855.doc

Confidential
Adaequare, Inc

Page 12 of 132

12

Exercise - Adding to the Accounts Dimension


In this exercise, you add time balance accounting and expense reporting features to the
Accounts dimension. This exercise assumes that you are working with the Sales outline.
Setting Up Time Balance Accounting
1) Select the Accounts dimension and then click the Accounts Dimension Type button on
the Outline Editor toolbar.
2) Add a sibling to Gross Margin % called Balance Sheet.
3) Set the Consolidation property for Balance Sheet to (~) Ignore and the Data Storage
property to Label Only.
4) Under Balance Sheet, add the following children:
Child

Unary Operator

Inventory
Accounts Receivable

Member Properties

~
~

Set as Time Balance


Last (under Account information).
Set as Time Balance
Last (under Account information).

Setting Up @VAR Formulas and Expense Reporting


1) Select both children of Act Vs Bud: Current Year and Budget.
25936855.doc

Confidential
Adaequare, Inc

Page 13 of 132

13

2) Right-click and select Delete.


3) In the Outline Confirmation dialog box, click Yes .
4) Under Scenario Variances, select Act Vs Bud .
5) Right-click and select Edit member properties and then select the Formula tab.

6) On the Categorical tab, expand the Math category.


7) Select Insert arguments.
8) Double-click the @VAR math function. The function is displayed in the Formula
Editor window.
9) Complete the formula to read: @VAR (Current Year, Budget);.
10) Click Verify and then click OK at the confirmation message.
11) Click OK to close the Member Properties dialog box.
12) Complete the comparable formulas for the Act Vs Fcst and Bud Vs Fcst.
13) Under Accounts, select Cost of Sales.
14) Right-click and select Edit member properties.
15) Under Account information, set the Variance reporting expense property to
25936855.doc

Confidential
Adaequare, Inc

true.

Page 14 of 132

14

16) Identify and set Expense reporting for all other members in the Accounts dimension
where this flag is required, according to the following model:

17) Select File > Save to verify and save the Sales outline.

25936855.doc

Confidential
Adaequare, Inc

Page 15 of 132

15

MODULE 2
BUILDING LOAD RULES
Exercise - Loading the Family Total Hierarchy
In this exercise, you create a load rule to build the Family Total hierarchy. To complete this
exercise:
Create a new load rule.
Associate the load rule with the Sales outline.
Read the FamGen.xls data file (located in the \BCI\LoadRule directory) into
the blank load rule.
Set the load rule to Dimension build fields view mode.
Specify the data file delimiter type.
Ignore any header records.
Set the correct dimension build method.
Associate field headers with dimension and generation references.
Verify and save the rule.
Update the outline using the rule.

Exercise - (Optional) Using the Level Build Method


Review the level load rule structure:
Open the load rule file: LoadRule \ Fam_Lev.rul .
Open the data file: LoadRule \ FamLev.xls .
Review the load rule structure and contrast to the Fam_Gen load rule.
Columns are organized bottom-up, left to right.
Rebuild the Family Total hierarchy using the level load rule:
Delete the product structures from the previous Family Total loading exercise.
Load the FamLev.xls file using the Fam_Lev.rul.
25936855.doc

Confidential
Adaequare, Inc

Page 16 of 132

16

Exercise - Creating a Parent-Child Load Rule


Create a parent-child load rule for the Product dimension of the Sales outline.

Use the Configpc.xls data file (located in the BCI \LoadRule directory).
Associate the columns with field properties.
Ignore any header records.
Save the load rule as Par_C h.

Exercise - Loading Dimensions Using a Parent-Child Rule


Use the parent-child load rule you constructed to load the Configuration Total and Line
Total product hierarchies. To complete this exercise:
Load the product hierarchies into the Sales outline.
Load Configpc.xls (located in the BCI\LoadRule directory) with the Par_Ch
load rule to create the Configuration Total hierarchy.
Load LinePC.xls (located in the BCI\LoadRule directory) with the Par_Ch
load rule to create the Line Total hierarchy.

Exercise - (Optional) Clorox Minty


Based on what you have learned in this chapter, create a new load rule to load
Minty.txt into the Mint dimension in the Sales database. To complete this exercise:

Create a new sparse dimension named Mint.


Use Minty.txt (located in the BCI\LoadRule directory).
Reformat the data file.
Save the load rule.
Load Minty.txt into the Sales database.

When the data is loaded, the dimension should look similar to the following sample

25936855.doc

Confidential
Adaequare, Inc

Page 17 of 132

17

Delete the Mint dimension from the Sales outline.


The Mint dimension is not used in the following modules
Exercise - Loading a Channels Hierarchy to Customer
Create a load rule that adds Channel information under the Customer dimension in
the Sales database. To complete this exercise:
Create a Customer dimension in the outline and save your change.
Create a new load rule, using
CusChan.xls
(located in the
BCI\LoadRule directory) as your data sample.
Organize columns as necessary.
Specify a build method.
Define field
properties.
Save
the
load rule.
Load

CusChan.xls into the Sales database using your load rule.

25936855.doc

Confidential
Adaequare, Inc

Page 18 of 132

18

Exercise - Creating a Region Total Attribute Dimension


Create a load rule to define a Region Tota l attribute dimension. To complete this
exercise:
Create a text attribute dimension in the Sales outline called Region Total
with the following children: Mid West , South , East , and West .
Select Customer as the base dimension for Region Total.
Create a load rule, using CusReg.xls (located in the
BCI\LoadRule directory) as your sample data file.
Specify a build method.
Edit data file fields where necessary.
Ignore headers if necessary.
Reject records if necessary.
Define field properties.
Save the load rule.
Load CusReg.xls into the Sales database.
Exercise - (Optional) Building the Capacity Total Attribute
Create a new load rule to build a Capacity Total attribute dimension in the Sales
outline. To complete this exercise:

Create a new load rule using AttCap.xls (located in the


BCI\LoadRule directory) as your data sample.
Ignore any header records.
Add a new attribute dimension to the Product base dimension.
Select a build method.
Edit fields where necessary.
Define field properties.
Save the load rule.
Load AttCap.xls into the Sales database

Exercise - Loading Data


In this exercise, you examine several data files with different structures and create load
rules to load them into the Sales database. The sample data files are called Budget.txt ,
PriorYr.txt , and Forecast.txt . For each load rule:
1) Create a new load rule, using one of the files listed above as the sample data file.
2) Examine the data file and identify any problems in the data.
3) Add any missing dimensions to the data file header.
25936855.doc

Confidential
Adaequare, Inc

Page 19 of 132

19

4) Edit fields if necessary.


5) If possible, use dynamic headings. Otherwise, ignore header records and specify field
Properties manually.
6) Verify and save the load rule.
7) Use your load rule to load the data file into the Sales database.
8) After all data is loaded; calculate Sales with the CalcAll calculation script (located in
BCI\Load Rule).
9) Verify your data in the data previewer for Sales.

MODULE 3
Spreadsheet reporting

Exercise - Installing the Add-in and Toolbar


You have been asked to configure the Essbase Spreadsheet Add-in several different
ways for different users. In this exercise, you enable and disable the add-in, and you
install the Essbase toolbar.
Resetting the Sales Database
If you have not fully completed the exercises in modules 1 and 2, you may want to reset
your database to rebuild the outline and reload the data.
25936855.doc

Confidential
Adaequare, Inc

Page 20 of 132

20

1) On your client machine, navigate to the

x:\RS\BCI directory.

2) Double-click the ssheet.bat file. The automatic reset script runs and outputs
messages in a command window. Wait until its completion.
Testing Default Behavior
When you install Essbase, let your users know the default behavior, as the add-in
circumvents some normal Excel functionality.
Open the SSReports.xls file and go through the following steps on the Sandbox
worksheet. Ask yourself the following questions: What happened? How is this different
from Excel without the add-in? How would your users react if this were a worksheet of
non-Essbase data?
1) Double-click anywhere on the blank
2) Establish a connection to the

Sandbox worksheet.

Bigcorp:Sales database.

3) After establishing a connection, double-click a blank cell.


4) Double-click Year Tot .
5) Double-click a data value.
6) Right-click a blank cell.
7) Double right-click Qtr 1 .
8) Right-click and hold Product , then let go.
9) Right-click and drag Product to Column A.

As you can probably tell from those tests, the mouse buttons behave differently when
the add-in is installed. Since most users do not need Essbase functionality all of the
time, you can give them different options for enabling it.
Configuring for Infrequent Essbase Users
Infrequent Essbase users may not want to load the add-in every time they open Excel.
Showing these users how to enable and disable the add-in themselves is often a good
option:
1) In Excel, select Tools > Add-Ins .
2) Clear the check mark next to
25936855.doc

Hyperion Essbase OLAP Server DLL .


Confidential
Adaequare, Inc

Page 21 of 132

21

3) Click OK .
4) Clear the Sandbox worksheet and repeat some of the previous default behavior
tests. How are the results different?
The Essbase menu is no longer displayed on the Excel menu bar. Now Excel behaves
as usual, but users have no ability to connect to Essbase until they reverse the preceding
steps.
Configuring for Semiregular Essbase Users (or for Beginners)
Users who need Essbase semiregularly may not want to continuously enable and
disable the add-in, and yet still want familiar Excel mouse behavior. Beginners to the
add-in often find it painful to lose access to Excel shortcuts. For these users, it is often
a good solution to disable the Essbase mouse functionality while leaving the add-in
loaded:
1) If necessary, select Tools > Add-Ins menu and enable the add-in in Excel.
2) Select Essbase > Options .
3) Select the Global tab.
4) Clear the check boxes for the
Enable Secondary Button and Enable DoubleClicking options and then click OK .
5) Clear the Sandbox worksheet and repeat some of the default behavior tests from
above. How are the results different?
The mouse now retains normal Excel behavior. Moreover, since the Essbase
Spreadsheet Add-in is still enabled, these users retain the ability to explore and analyze
their data through Essbase menu commands or by using the Essbase toolbar.
Configuring for Regular Essbase Users (or for Advanced Users)
Users who use Excel primarily for connecting to Essbase generally find the default
settings work the best, as the Essbase mouse
shortcuts give greater speed and flexibility to their analytic tools. But even these users
sometimes view spreadsheets that do not contain Essbase data and want regular Excel
functionality. In Essbase version 7.1.2, there is a new option to suit these users:
1) Select Essbase > Options .
2) Select the Global tab.
3) Select the Enable Secondary Button and Enable Double-Clicking options.
4) Select the Limit to Connected Sheets option and then click OK .
25936855.doc

Confidential
Adaequare, Inc

Page 22 of 132

22

5) In a new Excel workbook, test the mouse button behavior for double-clicking and
right-clicking.
6) Select Essbase > Connect , enter your login information, and then click OK .
7) Now that the worksheet is connected to Essbase, test the mouse button behavior
again.
8) Select Sheet2 in the workbook and test the mouse button behavior.
With this option selected, you should see Essbase mouse functionality on worksheets
that you have explicitly connected to Essbase, and Excel mouse functionality on
nonconnected worksheets.
Disabling and Enabling the Essbase Toolbar
The Essbase toolbar gives users another method for accomplishing tasks on the Essbase
menu, but it can be disabled:
1) In Excel, select View > Toolbars .
2) Clear the check mark next to Hyperion Essbase.
The Essbase toolbar is not installed automatically; macros install it when you open the
Esstoolb.xls file (located in Essbase\Client\Sample).
3) Repeat step 1 and then check Hyperion Essbase to display the toolbar again

Exercise - Managing Connections


You have a workbook with multiple sheets, requiring various database connections. In this
exercise, you enable and disable connections, and you view your open connections in the
Disconnect dialog box.
Connecting to Essbase
1) On Sheet1 of a new Excel workbook, select

Essbase > Connect.

2) Select or type the correct server name, enter your username and password, and click
Update.
3) In the Application/Database list, select

Bigcorp: Sales and click OK.

4) Select Essbase > Retrieve.


25936855.doc

Confidential
Adaequare, Inc

Page 23 of 132

23

5) Select Sheet2 and then select

Essbase > Retrieve.

6) Select Sheet3, select Essbase > Connect, and then connect to Sample: Basic.
The current database connection is not displayed on the Excel worksheet.
7) Select Essbase > Disconnect.
You can now see that Sheet1 and Sheet2 are connected to
Bigcorp:Sales, whereas Sheet3 is connected to Sample:Basic
8) Click Close.
Changing and Closing Connections
1) Rename Sheet2 NewSheet and then select Essbase > Retrieve.
You receive the following error message: The resultant report cannot be retrieved. Your
report heading cannot be interpreted.
2) Select Essbase > Disconnect to view your connections.
Newsheet is now connected to Sample: Basic, not Bigcorp: Sales, resulting in the error.
3) Click Close.
4) Close the Excel workbook (do not save the changes) and open a new one.
5) Select Essbase > Disconnect to view your connections.
All the connections are still open, even though the workbook was closed.
6) Click Disconnect to close the selected connection, and then repeat until all connections
are closed.
7) Click Close.
After an Essbase connection is established, retrievals on additional worksheets automatically
connect to the last database used. When you rename a worksheet, Essbase requires a new
connection. Since Sample: Basic is the last database that you connected to, the system used
that connection for the new worksheet name, even though it was connected to Bigcorp:
Sales originally.
8) Close the Excel workbook (do not save the changes).

Exercise - Analyzing Data


In this exercise, you use basic retrieve operations to navigate from a top-level retrieval to a
more refined data set. This exercise assumes that the SSReports.xls file is open. Before you
25936855.doc

Confidential
Adaequare, Inc

Page 24 of 132

24

begin, establish a connection to Bigcorp:Sales on the Sandbox worksheet, and ensure that
your options are set so that Essbase mouse actions are enabled.
Basic Zooming
There are many ways to control zoom behavior in the Essbase Spreadsheet Add-in:
Action
Zoom in

Zoom out

Options
Essbase > Zoom In
Double-click member name
Zoom In toolbar button
Essbase > Zoom Out
Double right-click member name
Zoom Out toolbar button

Header dimension
zoomreposition
on rows

Zoom In on a header dimension

Header dimension
zoomreposition
on columns

Alt+double-click a header dimension

Starting with a basic, top-level retrieval, try the following steps and note what happens:
1) Zoom in on Year Tot .
2) Zoom in on Qtr 1 several times.
3) Zoom out on Qtr 1 .
4) Zoom in and reposition

Accounts on the rows.

5) Zoom in and reposition

Product on the rows.

6) Zoom in and reposition

Scenario on the columns

Other basic Retrieve Operations: In addition to Zoom , there are four basic operations
that can help analysis:
Action

Options

Keep Only

Essbase> Keeponly
Keep only toolbar button.

Remove Only
25936855.doc

Essbase> Remove Only


Remove only toolbar button
Confidential
Adaequare, Inc

Page 25 of 132

25

Pivot rows to columns


/column to rows

Essbase>Pivot
Right click and drag.

In-axis pivot-change the


Order of nested columns and rows
Dimensions.

Right click and drag

Flashback

Essbase>flashblack
Flashblack toolbar button.

If necessary, clear the spreadsheet to start again with a basic, top-level retrieval. Try the
following steps and note what happens:
Zoom in on year Tot.
Keep only, Qtr1, Qtr2 and Qtr 3.
Zoom in and reposition accounts on rows.
Remove only QTR3.
Zoom in and reposition Scenario on rows.
Pivot the scenarios to columns
Perform a in axis pivot to place the time periods as the outer row
dimension.
Select Flashback to undo the previous operations.

Exercise - Challenge 1
Starting from a basic top-level retrieve, use the skills you have learned up to this point
to duplicate this report. Use SSReports.xls worksheet Challenge1.

Exercise - Controlling Expansion


You can customize your Zoom settings in Essbase > Options > Zoom. Clear the
Sandbox spreadsheet and perform a top-level retrieval, then try the following:
1) Select Essbase > Options > Zoom .
2)
Under
Zoom
In,
select
All
levels .

25936855.doc

Confidential
Adaequare, Inc

Page 26 of 132

26

3) Zoom in on Yea r Tot .


4) Zoom in on Accounts .
5) Zoom in on Scenario .
6) Zoom in on Product .
You receive an error message that the maximum number of rows in Excel has been
exceeded.
It is very easy, even in a small database, to exceed the maximum number of rows in
Excel when you use the deeper zoom options, so they should be used sparingly. Choose
other Zoom In settings from Essbase > Options > Zoom and then repeat the preceding
steps, noting any differences in the behavior.
Minimizing Expansions in Reports
Your zoom options give you other ways to control expansions. That is especially
useful when looking at a large report with nested dimensions, as the one on the
Expansion tab in the SSReports.xls workbook.
In this report, your products are grouped by customer. IBM has the highest sales in the
OEM Channel, and you want to see their sales details for the LIGHTBOLT
performance products, which are the companys best-sellers. Because retrievals take
more time the more real estate you are using in Excel, focus your zooms as tightly as
possible.
1) On the Expansion worksheet, zoom in on Family Total for IBM .
What does that do to the number of rows in the report?
2) Select Essbase > Flashback to return the report to its original state.
3) On the Zoom tab, select

Within Selected Group ( Essbase > Options ).

4) Zoom in on Family Total for IBM again. How is this different from your results
for step 1?
5) Continue to zoom in to find the detail of the individual LIGHTBOLT products
purchased by IBM.
Even though you are interested only in LIGHTBOLT data, this option still leaves other
branches of the Product dimension in the report and taking up space.
6) Zoom out on PERFORMANCE to return the report to its original state.
7) On the Zoom tab, select Remove Unselected Groups .
8) Zoom in on Family Total for IBM, and continue to zoom in to find the
25936855.doc

Confidential
Adaequare, Inc

Page 27 of 132

27

LIGHTBOLT products again. How does this option differ from the previous one?

Exercise - Troubleshooting Reports


Errors in reports are commonly caused by incorrect labels or label placement. The
Troubleshooting.xls file contains a series of tabs that may or may not have retrieval
problems. For each tab, diagnose and correct the issue.
Tab Name

Diagnosis

Resolution

Labels 1
Labels 2
Labels 3
Labels 4
Labels 5
Labels 6
Labels 7
Labels 8

Exercise - Managing Display Options


Essbase gives you many different options for displaying your reports. In this exercise,
you take a prebuilt report and change the display options so it matches the finished
result.
On the Managing Options tab in the SSReports.xls file, make the necessary changes to
display the report as shown in the following sample:
25936855.doc

Confidential
Adaequare, Inc

Page 28 of 132

28

In Essbase > Options > Style , do the following tasks:


Define a style for the Product and Year Tot dimensions.
Define a style for Linked Objects .
In Essbase > Options > Display , do the following tasks:

Display aliases.
Display member names and aliases for rows.
Display styles.
Suppress #Missing rows.
Display no indentation.
Select Apr for the latest time period in Dynamic Time Series.

In the report, do the following tasks:


Create a linked reporting object.
Replace Year Tot with YTD

25936855.doc

Confidential
Adaequare, Inc

Page 29 of 132

29

Exercise - Selecting Members from the Outline


Even with their most focused settings, the basic zoom options can return more
information than is necessary for more selective reporting. In this exercise, you are
asked to create a report for the Config A LIGHTBOLT and MAVRIDER products
only. Since this product list does not exist as part of the natural outline hierarchy,
you use the advanced selection options in the member selection tool to build it.
On the Member Selection tab in the SSReports.xls file, build the report to the following
specifications:
Report Section
Report Header
Column Headers
Row Headers

Dimension Members
Current Year, IBM, Units
Jan through Apr, Y-T-D(Apr)
Config A LIGHTBOLT and MAVRIDER products (level
0 only)
The
finished
report
should
look as
follows:

Exercise - Designing Queries


You have been asked by the Channels organization to modify the previous report to
include a list of all level 0 products grouped by the customers in the OEM channel. In
addition, they want to see the products sorted within each group in descending order
25936855.doc

Confidential
Adaequare, Inc

Page 30 of 132

30

based on the YTD totals, and they want to filter out rows with no YTD totals.
Because this report requires nested dimensions in the rows and server-based sorting,
Essbase Query Designer is the best tool for the job.
On the Member Selection tab in the SSReports.xls file, build the report to the following
specifications:

Query Section
Header
Dimensions

Dimension Members
Current Year, Units.

Column
Dimensions

Jan through Apr, Y-T-D(Apr).

Row Dimensions
shared members).

OEM and children, all level 0 products (suppress

Data Filtering
Data Sorting

Restrict data retrieval to rows where data is not a


#Missing value for Y-T-D(Apr).
Sort the products by the YTD total.

.
The finished report should look as follows:

25936855.doc

Confidential
Adaequare, Inc

Page 31 of 132

31

Exercise - (Optional) Replicating Reports with Cascade


Many organizations need to regularly create many similar reports based on a standard
template. Rather than replicating these reports manually, Essbase can do it
automatically with the Cascade option. In this exercise, you create reports for
distribution using the Cascade option. This exercise assumes that the SSReports.xls file
is open.
1) Select the Swoosh worksheet.
2) Select OEM .
3) Select Essbase > Cascade .
4) On the Cascade Information tab, ensure that the member is set to cascade on
OEM, Next level .

25936855.doc

Confidential
Adaequare, Inc

Page 32 of 132

32

5) Select the Destination Options tab.

6) Under Destination Directory, browse to the directory where


you want to store the reports.
7) Under Destination
Types, select
One
Workbook, Separate
Sheets .
8)
Under
File
Information,
select
Open Created Files .
9) Under
Naming
Information, perform
the following tasks:
For Prefix, type OEM .
25936855.doc

Confidential
Adaequare, Inc

Page 33 of 132

33

For Suffix, type Cust .


For Workbook Name, type OEMRpt .
10) Select the Format Options tab.

11) Perform the following tasks:


Select Copy Formatting .
Select Include Table of
Contents .
12) Click OK .
The OEMRpt.xls file is
generated.
13) Open OEMRpt.xls and review the worksheets.

Viewing the Table of Contents


1) Start Notepad (or any other text editor).
2) Select File > Open .
25936855.doc

Confidential
Adaequare, Inc

Page 34 of 132

34

3) Browse to the directory containing the OEMRpt.xls file.


4) Select OEM0Cust.lst .
You may have to select All Files from the Files of Type drop-down list box to see this
file in the directory.
5) Click Open .

Exercise - Spreadsheet Formulas


In this exercise, you use formula protection options on a
spreadsheet report. This exercise assumes that the SSReports.xls file
is open.
1) Select the Formulas worksheet.
2) Select Essbase > Retrieve .

This dialog box is displayed every time you retrieve or zoom in on this report to inform
you that a given piece of metadata is not in the database. For the purposes of this
course, always click No to skip additional messages and continue.
3) Click No

25936855.doc

Confidential
Adaequare, Inc

Page 35 of 132

35

4) Select cell D5 and type the following formula: =C5-B5 .


5) Copy the formula down to cell

D7 .

6) Select Essbase > Retrieve .


The formula is not preserved.
7) Select Essbase > FlashBack .
8) Select Essbase > Options > Mode .
9) Under Formula Preservation, select

Retain on Retrieval and click OK .

10) If necessary, repeat steps 4 and 5 to create a formula for the


variance column.
11) Select Essbase > Retrieve .
Note that the formula is preserved.

To Retain on Zooms
1) Zoom in on PERFORMANCE .
The formula is not preserved.
2) Select Essbase > Flashback .
3) Select Essbase > Options > Mode.
4) Under Formula Preservation, select

Retain on Zooms and click OK .

5) If necessary, reenter the formula for the variance column.


6) Zoom in on PERFORMANCE .
The formula is preserved for Performance, but its children now have no formula.
7) Select Essbase > Flashback .
25936855.doc

Confidential
Adaequare, Inc

Page 36 of 132

36

The original report is displayed.


8) Select Essbase > Options > Mode .
9) Under Formula Preservation, select Formula Fill and click OK .
10) Zoom in on PERFORMANCE.
Both Performance and its children retain their formulas.

25936855.doc

Confidential
Adaequare, Inc

Page 37 of 132

37

MODULE 4
CREATING BASIC CALCULATIONS
Exercise - Examining the Anatomy of a Rollup
In this exercise, you create a new calculation script that calculates each dimension in
the Sales database one by one. This exercise assumes that the database was cleared of
all data and that Actual.txt and Forecast.txt were loaded with Loadcorp.rul.
1) In the Enterprise View, select the

Bigcorp:Sales database.

2) Select File > New > Scripts > Calculation script and click OK .

3) Select Insert arguments .


4) On the Categorical tab, expand the Functional category and double-click SET
UPDATECALC .
This
commands
turns off Intelligent
Calculation
functionality
for
this
calculation
script.

25936855.doc

Confidential
Adaequare, Inc

Page 38 of 132

38

5) In the Calculation Script Editor, modify


to include the semicolon).

SET UPDATECALC to OFF; (be sure

Calculating the Accounts Dimension


1) On the Categorical tab, select the Functional category and doubleclick CALC DIM .
The function is displayed in the Calculation Script Editor.
2) In the Calculation Script Editor, highlight the dimList argument.

3) In the Dimensions list, right-click Accounts and select Insert member name .

dimlist is
replaced by the
Accounts
member

25936855.doc

Confidential
Adaequare, Inc

Page 39 of 132

39

4) Select File > Save .


5) Name the calculation script

CalcCorp .

6) Click OK .
7) Open Anatomy.xls (located in the BCI\CalcIt\Anatomy directory).
8) Connect to Bigcorp:Sales on the This Is A Block worksheet and retrieve.
You should see only input data at this point.
9) Select Essbase > Calculation .
The Essbase Calculation dialog box is displayed.
10) Select CalcCorp and click Calculate .
11) Select Essbase > Retrieve and analyze the result. The upper-level Accounts
dimension members now contain data.
Calculating the Year Tot Dimension
1) Open the CalcCorp calculation script.
2) In the CALC DIM statement, insert Year Tot after Accounts.
Make sure to separate Account and Year Tot with a comma.
3) Save the calculation script.
4) Open Anatomy.xls .
5) Select Essbase > Calculation .
25936855.doc

Confidential
Adaequare, Inc

Page 40 of 132

40

6) Select CalcCorp and click Calculate .


7) Select Essbase > Retrieve and analyze the result.
Calculating the Customer Dimension
1) Open the CalcCorp calculation script.
2) In the CALC DIM statement, insert Customer after Year Tot.
Make sure to separate Year Tot and Customer with a comma.
3) Save the calculation script.
4) Open Anatomy.xls .
5) Select Essbase > Calculation
6) Select CalcCorp and click Calculate .
7) Change the page header from IBM to

OEM .

OEM is an upper-level member across the Customer dimension.


8) Select Essbase > Retrieve and analyze the result. Data is displayed for Accounts
and Year Tot for upper-level blocks across the Customer dimension. New upper-level
Customer blocks are created.
Calculating the Product Dimension
1) Open the CalcCorp calculation script.
2) In the CALC DIM statement, insert Product after Customer.
3) Save
the

25936855.doc

Confidential
Adaequare, Inc

Page 41 of 132

41

calculation script.
4) Open Anatomy.xls .
5) Select Essbase > Calculation .
6) Select CalcCorp and click Calculate .
7) Change the page header label from

Lightbolt 365 A to Lightbolt .

Lightbolt is an upper-level member across the Product dimension.


8) Select Essbase > Retrieve and analyze the result
Data is displayed for Accounts and Year Tot for upper-level blocks across the Product
dimension. New upper-level Product blocks were created.

Exercise - Adding a Back Calculation


Although you have rolled up all dimensions in the outline, some data is not aggregating
correctly. In this exercise, you modify the CalcCorp.csc file to correct rates that are
aggregating incorrectly.
1) Open the CalcCorp calculation script.
2) After the CALC DIM statement, add a block of formulas to derive the correct rates
for the following accounts:
List Price , Discount % , Labor/Unit , Matl/Unit , Overhead Rate , Gross
Margin % .
Enclose the group of formulas in parentheses to prevent jump-ahead behavior from the
CALC DIM statement.
3) Save the script.
4) Calculate CalcCorp and check your results on the Anatomy.xls file:

25936855.doc

Confidential
Adaequare, Inc

Page 42 of 132

42

Exercise Focusing
with FIX
Modify the following calculation script to fix on:
Current Year
January, February, and March
/* Housekeeping */
SET UPDATECALC OFF;
/* The Baseline Fix */
/* The Main Rollup */
CALC DIM (Accounts, Customer, Product);
Save the script as FixIt and calculate. Check your results on the FixIt
tab of the Anatomy.xls file.

25936855.doc

Confidential
Adaequare, Inc

Page 43 of 132

43

Exercise - Focusing with IF


Forecasting calculations typically perform time range calculations (counting forward or
backward in the Time dimension) and generally include simple to complex conditional
logic. In this exercise, you write a forecasting calculation script for the Sales database.
1) Open Anatomy.xls .
2) Using the If It worksheet as a reference, write calculation scripts
to:
Push units from August to September
Push units into Qtr 4 with a two month lag and a 10% accelerator
Push price into September and the months in Qtr 4 with a one-month lag and a 10%
decelerator
Extra Credit
The 10% accelerator for Units creates partial units in some months. Modify your script
so that units are rounded to the nearest whole number.

Exercise - Creating Mix Calculations


Mix calculations are typically a percent-to-total type of ratio calculation that takes a
data value at an given level and figures what percentage it is of a related total. You
have been asked to create several mix calculations in the Sales outline.
1) Examine the formulas on the Mix Calculation Required tab in the SSReports.xls
file.
2) In the Sales outline, add a formula to Unit Mix that calculates the current products
units divided by the units for its generation 3 ancestor.
3) Add a formula to Sales $ Mix that calculates the current products Net Sales divided
by the Net Sales for its generation 3 ancestor.
4) Make both Unit Mix and Sales $ Mix Dynamic Calc .
5) Save the outline and check your results on the ANCESTVAL It tab in the
SSReports.xls file.
Exercise - Calculating a Moving Average
25936855.doc

Confidential
Adaequare, Inc

Page 44 of 132

44

Write a calculation for the Moving Average account that takes a three-month moving
average (the current month plus the previous two months) of unit sales. The calculation
should span Prio r Year and Current Year .
For the first two months in Prior Year, use the units sold for Moving Average.
Extra Credit
Write your calculation script so that #Missing data is not counted.
Exercise - Managing Calculation Script Maintenance
Many calculation scripts contain values or member names that are variable and must
therefore be updated regularly. To make maintenance easier, create server-based
substitution variables. This gives you one place to update multiple calculation scripts.
Creating Substitution Variables
1) In the EAS Enterprise View, double-click the Variables
name.

node under the server

2) In the Application drop-down list box, select Bigcorp .


3) In the Database drop-down list box, select Sales .
4) In the Variable text box, type CurrentMonth .
5) In the Value text box, type Feb .
6) Press Enter .
7) On row 2, repeat steps 2 through 5 to create a second variable
called PriorMonth with a value of Jan .
8) Click Close .
Adding Substitution Variables to Calculation Scripts
1) Open CalcCorp.csc .
2) Add the following variance calculation to the Back Calculation section for the Curr
Mo Vs Prior member: @VAR (&CurrentMonth, &PriorMonth);
3) Save and then calculate CalcCorp .
4) Check your results on the Sub Variable tab of the Anatomy.xls file.
Exercise - Optimizing Block Size with Aggressive Dynamic Calculation
To improve retrieval times, Bigcorp Manufacturing has decided to eliminate
unnecessary back calculations from their calculation scripts.
25936855.doc

Confidential
Adaequare, Inc

Page 45 of 132

45

In this exercise, you create a new application and database named Dynamic and use
the information in the Aggressive.xls workbook such that a back calculation is not
necessary to produce correct values.
1) Open Agressive.xls (located in BCI\CalcIt\Dynamic).
The values in the No Dynamic spreadsheet represent a retrieve from the Bigcorp
database with no dynamic calculations. These values are correct.
2) Create a new application called Dynamic with a new database called Dynamic .
3) Open the dynamic.otl file from the BCI\CalcIt\Dynamic directory and save it to the
Dynamic database (overwrite the existing outline file).
4) Load Actual.txt and Forecast.txt using Loadcorp.rul (those files are also in the
BCI\CalcIt\Dynamic directory).
5) Calculate the Dynamic database.
6) Open Aggressive.xls , and retrieve it into the dynamic spreadsheet.
7) In the comparison spreadsheet, create a formula that subtracts the two spreadsheets
and copy it to all data cells. Investigate all nonzero values.
8) Return to the Dynamic database and make any changes required to correct the
calculation until the Comparison worksheet in the Agressive.xls workbook indicates
that the No Dynamic and Dynamic spreadsheets are in sync.
9) When you are satisfied that the spreadsheets are in sync, return to the database and
make a note of the current block statistics.
10) In the dynamic outline, experiment with dynamic calculations and two-pass
calculations by setting everything possible to dynamic in a way that still keeps the No
Dynamic and Dynamic spreadsheets in sync.

MODULE 5
Designing and optimizing the advanced calculation scripts

25936855.doc

Confidential
Adaequare, Inc

Page 46 of 132

46

Exercise - Manipulating Data with Calculation Scripts


Copying data from one scenario to another is often a handy way to quickly populate a
scenario with useful data that you can then manipulate as necessary. In the first part of
this exercise, you create a budget by copying prior year Actual data into the Budget
scenario and then modifying it. In the second part, you populate a Rolling Forecast
scenario with a combination of Current Year (Actuals) and Budget data.
Before You Begin
1) Clear all data currently in Bigcorp:Sales.
2) Load Actual.txt and Forecast.txt using the Loadcorp.rul rules file.
3) Calculate the Sales database using CalcAll.csc.
Creating a Budget from Prior Year Actual Data
4) Open Calcu lations.xls (located in the BCI\CalcIt\AdvancedCalcs directory).
5) Select the Datacopy worksheet.
6) Write a calculation script to copy the data from Prior Year to Budg et and increase
the new Budget values by 10% .
7) Calculate the script and use the Datacopy worksheet to verify the data.
Creating a Rolling Forecast from Actual and Budget Data
1) In the Substitution Variables dialog box, change the value of the CurrentMonth
substitution variable to May .
2) Change the value of the PriorMonth substitution variable to Apr .
3) Write a calculation script to copy all data up to the prior month from Current Year
to the Rolling Forecast scenario.
4) Populate all current and future months for Rolling Forecast with Bud get data
Exercise - Clearing Data
As the result of a data load, you realize erroneous data was loaded into Lightbolt 540
S . Write a calculation script to correct the problem. Your script should do the
following tasks:
Clear data from Lightbolt 540 S and its ancestors for the Current Year
Recalculate the Product dimension.
Use a back calculation to correct rate values.
In your environment, assume that SET AGGMISSG must be turned off.
Exercise - Counting Customers
To do long-range resource planning, your company wants to determine the
25936855.doc

Confidential
Adaequare, Inc

Page 47 of 132

47

disbursement of products across the customer base. In this exercise, you write a
calculation for Customer Count to count the number of customers that bought each
product.
Extra Credit
Modify this script so that the Customer Count stores a 1 for every occurrence of a
product sale. To see all customers for a given product, you must look at the Customer
level.

Exercise - Allocating Data


In this exercise, you create a complex calculation script for the
Bigcorp:Sales database.
Before You Begin
1) For testing purposes, create a calculation script called
that clears all data.

ClearAll

2) Load Budget data from the input worksheets in the


Pushcorp.xls file (located in the BCI\CalcIt\Pushcorp
directory).
Building the Script
Use this normalization table as a reference:

The
calculation script should accomplish the following:
1) Turn intelligent calculation off because of multiple passes on blocks.
2) To enhance performance, add a command to make the calculator aggregate missing
values, as there are no upper-level inputs to protect.
3) Declare allocation variables.
4) Focus on the Bud get scenario.
25936855.doc

Confidential
Adaequare, Inc

Page 48 of 132

48

5) Push down units and rates loaded at upper levels to level 0.


6) Do a focused rollup for allocation of Other CGS expenses:
Calculate Net Sales , then sum Units and Net Sales across Product and Customer
dimensions for members used as the allocation base.
7) Allocate Other CGS expenses to level 0 using variable allocation ratios. Focus
calculations using FIX to level 0 members for Customers and Products.
8) Perform dimension rollups.
9) Recalculate any upper-level rates or percentages that contain erroneously aggregated
data.

Exercise - (Optional) Advanced Allocations


Use Calculations.xls and the data on the Allocations Input worksheet to
create allocations for Material Variances , Labor Variance , and Overhead
Variance . Complete the following tasks:
1) Load Actual.txt with Loadcorp.rul
2) Run CalcAll.csc .
3) After the consolidation is complete, lock and send the data on the Allocations Input
worksheet.
4) Write an allocation to distribute
Material Variances across all customers and
products based on a ratio of individual unit sales for each customer and product over all
units sold. Use the Allocations Audit worksheet.
5) Write a new script to push Labor Variances down to the next level of Family
Total based on an even split between the children with data.
6) For Overhead Variances , combine steps 3 and 4. Use the straightline allocation
method to push Overhead Variances to the next level of Family Total. At the next
generation of Family Total, Overhead Variances should be allocated based on a ratio
of individual unit sales for each customer and product over all units sold.
Extra Credit
Write a stepped allocation to push Obsolete Charges down to level 0 of Product so
that each level is based on an even split between the children with data.

25936855.doc

Confidential
Adaequare, Inc

Page 49 of 132

49

Exercise solution
Module 1
Exercise - Building a Scenario Dimension
In this exercise, you build a Scenario dimension and set up a
variance calculation for the Sales database. This exercise assumes
that you have the Sales outline open.
Building a Scenario Dimension
1) Select Year Tot .
2) Click Add Sibling .
3) Type Scenario in the text box.
4) Press Enter twice.
5) Select Scenario .
6) Click Add Child .
7) Add these children to Scenario:
Current Year , Prior Year , Forecast , Budget , and Scenario Variances
8) Select Scenario Variances .
9) Click Add Child .
10) Add these children to Scenario Variances:
Act Vs Bud , Act Vs Fcst , and Bud Vs Fcst .
11) Select Act Vs Bud .
12) Click Add Child .
13) Add these children to Act Vs Bud: Current Year and Budget .
14) For both children of Act Vs Bud, open the Member Properties dialog box and set
the storage type to Shared Member .
15) Select the Budget shared member.

25936855.doc

Confidential
Adaequare, Inc

Page 50 of 132

50

16) Right-click and select Edit member properties .


17) Change the Consolidation property of the Budget member to
(-) Subtraction .
18) Click OK .
Creating Formulas for Act Vs Fcst and Bud Vs Fcst
1) Right-click Act Vs Fcst and select Edit member properties .
2) Select the
Formula tab.

3) In the Dimensions Essbase Server, expand Scenario .


The children of the Scenario dimension are displayed.
4) Double-click Current Year .
Current Year is displayed in the formula window.
5) Expand the Operators list.
6) Double-click the minus sign ( - ).
The minus sign ( - ) is displayed in the formula window.
7) In the Members Essbase Server, double-click Forecast .
Forecast is displayed in the formula window.
8) Position the cursor and the end of the formula and type a
semicolon ( ; ).
25936855.doc

Confidential
Adaequare, Inc

Page 51 of 132

51

9) Click the Ve rif y button to verify the formula.


10) In the Member Formula dialog box, click
11) In the Member Properties dialog box, click

OK .
OK .

12) Repeat steps 1 through 11 to create the formula for


Forecast .

Bud Vs

13) Select File > Save


Assigning Nonconsolidation Operators
1) Select Current Year .
2) Right-click and select Edit member properties .
The Member Properties dialog box is displayed.
3) Change the Consolidation property of the Current Year member to (~) Ignore .
4) Click OK .
5) Change the Consolidation property to
(~) Ignore for the following members:
Prior Year , Budget , Forecast , Scenario Variances , Act Vs Bud , Act Vs Fcst ,
and Bud Vs Fcst .
Setting Data Storage to Label Only
1) Select Scenario .
2) Right-click and select Edit member properties .
The Member Properties dialog box is displayed.
3) Set the Data Storage property for the Scenario dimension to Label
Only .
Label Only is used for outline members that are a label and whose value has no
meaning to the data. When marked Label Only, the member is not included in the
data block structure of the database.
4) Click OK .

25936855.doc

Confidential
Adaequare, Inc

Page 52 of 132

52

5) Repeat steps 2 through 4 for


the
Scenario
Variances
member.

6) Verify and save the Sales outline.


Exercise - Creating the Accounts Dimension
In this exercise, you create the Accounts dimension for the Sales database. This
exercise assumes that you have the Sales outline open.
1) In the Sales outline, add a sibling to Scenario named

Accounts .

2) Add a child to Accounts named Gross Sales .


3) Add children to Gross Sales named

Units and List Price .

4) Select List Price .


5) Right-click and select Edit member properties .The Member Properties dialog box
is displayed.
6) Change the Consolidation property of the List Price member to (*) Multiplication .
7) Click OK .
8) Open Corpacct.xls (located in the BCI\Outline directory).
9) Select the Gross Margin Analysis worksheet.

25936855.doc

Confidential
Adaequare, Inc

Page 53 of 132

53

10) Compare the formulas and entries for computing Gross Sales in Excel to the
Accounts model.
Create Members Through Net Sales Using Unary Operators
1) Create Discounts as a sibling of Gross Sales.
2) Add children to Discounts named

Gross Sales and Discount % .

3) Under Discounts , select Gross Sales .


4) Right-click and select Edit member properties . The Member Properties dialog
box is displayed.
5) Change the Data Storage property to Shared Member .
6) Click Next .
The Member Discount % is active.
7) Change the Consolidation property of Discount % to
(*) Multiplication .
8) Click OK .
9) Create Net Sales as a child of Accounts.
Since Gross Sales and Discounts calculate Net Sales, they are children of Net Sales.
10) Move Gross Sales and Discounts from their position as siblings of Net Sales to
children of Net Sales.
25936855.doc

Confidential
Adaequare, Inc

Page 54 of 132

54

11) Change the Consolidation property of the Discounts member to (-) Subtraction .

Creating Additional Members Through Gross Margin %


1) Analyze parent-child relationships in the Gross Margin
(Corpacct.xls).

Analysis worksheet

2) Create siblings of Net Sales : Direct Labor, Material, Overhead, Cost Of Sales,
Material Variances, Labor Variances, Overhead Variances, Obsolete Charges,
Inventory Adjustments, Other CGS, Gross Margin, Gross Margin % .
3) Move Direct Labor , Material , and Overhead to children of Cost Of Sales .
4) Move Material Variances, Labor Variances, Overhead Variances, Obsolete
Charg es and Inventory Adjustments to children of Other CGS .
5) Move Net Sales, Cost of Sales and Other CGS to children of Gross Margin .
6) Add children to Direct Labor named
7) Add children to Material named
Matl/Unit .

Units and Labor/Unit .


Units

and

8) Add children to Overhead named


Direct Labor
and Overhead Rate .
Your outline should look similar to the following
sample:

25936855.doc

Confidential
Adaequare, Inc

Page 55 of 132

55

Units Set the Data Storage property to Shared Member.


9) Examine all members in the Accounts dimension and look for data storage problems.
10) Compare the relationships in the Corpacct.xls file to the Accounts dimension in the
Sales outline, and determine the correct consolidation operators.
11) Use this table to change the properties for the members in the Accounts dimension:
Parent
Accounts

Member

Gross Margin
Gross Margin
%

Property Settings
Set the Data Storage property to
Label Only.
Set the Consolidation property to
ignore (~).
Set the Consolidation property to
ignore (~).

Gross
Margin
Cost Of Sales
Other CGS

Set the Consolidation property to


subtraction (-).
Set the Consolidation property to
subtraction (-).

Direct
Labor
Units
Labor/Unit

Set the Data Storage property to


Shared Member.
Set the Consolidation property to
Multiplication (*).

Material
Units
Matl/Unit

Set the Data Storage property


to Shared member
Set the Consolidation property
to multiplication (*).

Overhead
Direct Labor
Overhead
Rate

Set the Data Storage property to


Shared Member.
Set the Consolidation property to
multiplication (*).

12) Select Outline > Verify.


13) Correct any errors that may occur.
14) Select File > Save.
Your completed Accounts dimension should look similar to the following sample:
25936855.doc

Confidential
Adaequare, Inc

Page 56 of 132

56

Exercise - Loading the Family Total Hierarchy


In this exercise, you create a load rule and associate the rule with the Sales outline. You
open the source file to be loaded and make the appropriate settings to match the
characteristics of the file. You then load the Family Total rollup to the Products
dimension in the Sales outline.
Opening the Data Prep Editor
1) On the Enterprise View of the Administration
Console, select the Bigcorp application and the
Sales database.
2) Select File > New .
The New dialog box is displayed.
3) Select the Scripts tab

25936855.doc

Confidential
Adaequare, Inc

Page 57 of 132

57

4) Select Rules file , and then click OK .


The Data Prep Editor is displayed.
Associating the Load Rule with the Sales Outline
1) Select Options > Associate outline .
2) Make sure that the outline is set to the Bigcorp application and the Sales database,
and then click OK .
Opening the Source File to Be Loaded
1) Select File > Open data file .
The Open dialog box is displayed.
2) On the
File System
tab, select
Excel
sheets
(*.xls)
in
the Files of
type list.
3) Open the

LoadRule/FamGen.xls file.

25936855.doc

Confidential
Adaequare, Inc

Page 58 of 132

58

To see the file, you need to set the file type to


XLS or All files.

Setting the Dimension Building Mode


1) Select View > Dimension build fields .
Load Rules can dynamically build dimensions
or load data into a database. The different
modes enable you to define the settings for
each of these activities.
Selecting the Data File Delimiter Type
1) Select Options > Data source properties .
2) Select the Delimiter tab
3) Confirm that the delimiter
setting is the default
Tab .
4) Click OK .
Creating
the
Product
Dimension
1) Select Options > Dimension
build settings .
2)
Select
the
Definition tab.

Dimension

3) Select Rules File and, next to


Dimensions , click Click here to edit .
4) Enter Product .
5) Press Enter .
Product is displayed in the Rules file Dimensions list.
6) Right-click Product and select Edit properties .

25936855.doc

Confidential
Adaequare, Inc

Page 59 of 132

59

7) Select the Dimension Properties tab.


8) In the Data Storage section, select Label Only .
9) In the Configuration section, select Sparse .
10) Click OK .
The Dimension Build Settings dialog box is displayed.
11) Click OK .
Selecting the Load Building Method
1) Select Options > Dimension build settings .
The Dimension Build Settings dialog box is displayed.
2) Select the Dimension Build Settings tab.
3) In the Dimension list, double-click Product .
4) In the Build method section, select

Use generation references .

5) Click OK .
You return to the Data Prep Editor.
Associating Field Headers with Dimensions and Generations
1) Select any member or the column header for Field 1, and then select Field >
Properties .
Field Number: 1 is displayed above the Field Definition area.
2) Select the Dimension Build Proper ties tab.
3) In the Dimension list, double-click Product .
Product is displayed in the Dimension area.
25936855.doc

Confidential
Adaequare, Inc

Page 60 of 132

60

4) In the Field type section, double-click Generation , for the generation Number,
enter 2 .
5) Click Next .
Field Number: 2 is displayed above the Field Definition area.
6) For Field 2, select Product for the Dimension, Property for the Field Type, and
2 for the Number. The property for the preceding generation 2 member is set.
7) Click Next .
Field 3 is displayed.
8) Continue the process for the subsequent fields using the information in the following
table:
Field #
3
4
5
6

Field Type
Generation
Generation
Generation
Alias

Generation
3
4
5
5

Dimension
Product
Product
Product
Product

9) Click OK .
You return to the Data Prep Editor.
Ignoring the First Header Row
1) Select Options > Data source properties .
The Data Source Properties dialog box is displayed.
2) Select the Header tab.
3) In the Header Lines group, enter

1 for the Number of lines to skip .

4) Click OK .
You return to the Data Prep Editor.
Saving the Load Rule
1) Select Options > Validate to validate the load rule.
2) Correct any errors noted.
3) When you receive the message, The rules file is correct for
dimension building, click OK .
4) Select File > Save .
5) Save the file as Fam_Gen on the Essbase Server to the Sales
25936855.doc

Confidential
Adaequare, Inc

Page 61 of 132

61

database.
The file type RUL is automatically set up by Essbase.

6) Select File > Close .


The Data Prep Editor closes.
Loading the
Family Total
Rollup to the
Products
Dimension
1) In the Sales
outline, select
Outline
>
Update
Outline .
2) Click Find
Data
File
and select the
FamGen.xls
file located in
the
BCI\LoadRule directory.
3) Click Find Rules File .
The Open dialog box is displayed.
25936855.doc

Confidential
Adaequare, Inc

Page 62 of 132

62

4) On the Analytic Server tab, select the Fam_Gen.rul file from the list.
5) Note the location of the dimbuild.err file directory. Review this file if errors occur
during the loading process.
6) Click OK .
If the load fails, open the error file and make corrections, and then try again
7) Expand the Product dimension to view the loaded changes.
The outline should appear similar to the following sample:

If the load did not process correctly, you may close the outline without saving changes.

Module 2

Exercise (Optional)
Using the
Level Build
Method
In
this
exercise, you
review
the
level
rule
structure and
redo the Family Total Rollup using the level load rule. This exercise assumes that you
have the Essbase Administration Services Console open and the Bigcorp application
and Sales database selected.
Reviewing the Level Load Rule Structure
1) Select File > Open .
25936855.doc

Confidential
Adaequare, Inc

Page 63 of 132

63

2) Click
System .

File

3)
Select
Fam_Lev.rul (in
the BCI\LoadRule
directory)
and
click OK .
4) If prompted,
select
English
(Latin1) for File
Encoding.
The Data Prep
Editor
is
displayed.
5) Select File >
Open data file .
The Open dialog box is displayed.
6) On the File System tab, select Excel sheets (*.xls) in the Files of type list.
7) Locate and select the FamLev.xls file in the BCI\LoadRule directory.
8) Click OK to open the FamLev.xls file
9) Review the load rule structure and contrast to the Fam_Gen
load rule.
Columns are organized bottom-up, left to right.
10) Select File \ Close .
The Data Prep Editor closes

25936855.doc

Confidential
Adaequare, Inc

Page 64 of 132

64

Reloading the Family Total Hierarchy Using the Level Load


Rule
1) Open the Sales outline if it is not currently opened.
2) Expand the Product dimension.
3) Select Family Total and press Del .
A confirmation message is displayed.
4) Click Ye s .
Family Total and all its children are deleted from the outline.
5) Verify and save the Sales outline.
1) In the Sales outline, select

Outline > Update Outline .

2) Click Find Data File and select the FamLev.xls file located in the
BCI\LoadRule directory.
3) Click Find Rules File .
The Open dialog box is displayed.
4) On the File System
BCI\LoadRule directory.

tab, select the

Fam_Lev.rul

file from the

5) Note the location of the dimbuild.err file directory. Review this file if errors
occur during the loading process.
6) Click OK.
If the load fails, open the error file, make corrections, and then try again.
7) Expand the Product dimension.
25936855.doc

Confidential
Adaequare, Inc

Page 65 of 132

65

If no errors occurred, the Family Total member and all its children are added back
into the Sales outline.

Exercise - Creating a Parent-Child Load Rule


In this exercise, you create a new dimension build load rule and set the rule to use the
Parent-Child method.This exercise assumes that you have the Administration Console
open and the Bigcorp application with the Sales database selected in the Enterprise
View.
Creating a New Load Rule
1) Open a new load rule.
2) Select Options > Associate outline to associate the rule with the Sales outline.
3) Select File > Open data file .
4) On the File System tab, select Configpc.xls (located in the BCI\LoadRule
directory).
5) Select View > Dimension build fields.
6) Select Options > Dimension build settings and then select the Dimension Build
Settings tab.
7) In the Dimension list, double-click Product .
8) In the Build Method section, select Use parent-child references .
When you select Use Parent-Child references, the Do Not Share check box becomes
available in the Existing Members list. The Do Not Share check box is cleared
when it becomes available. Leaving this box unchecked allows existing members with
unique parents to be automatically set up as shared members. Leave this box
unchecked.
9) Click OK .
You return to the Data Prep Editor.

Associating Columns with Field Properties


1) Select any member in column one and select

Field > Properties .

2) Select the Dimension Build Proper ties tab.


3) From Field Type , double-click Parent .
25936855.doc

Confidential
Adaequare, Inc

Page 66 of 132

66

A placeholder value of 0 is required in the Number field. If it is not displayed, be sure


to enter the zero. This required placeholder value has no significance for parent-child
loads.
4) From Dimension , double-click Product .
The name Product is displayed in the Dimension area.
5) Click OK .
The Field Properties dialog box closes and you return to the Data Prep Editor.
Rather than clicking OK at this point, you could also click Next to move through the
columns of the file while making the assignments as directed. Then, you would select
OK only when all columns had been assigned values.
6) Select any member in column two and then repeat steps 1 to 5 with the following
changes:
In the Field Type list, choose Property .
Enter 0 for Number.
In the Dimension list, select Product .
7) Select any member in column three and then repeat steps 1 to 5 with the following
changes:
In the Field Type list, choose Child .
Enter 0 (zero) for Number.
In the Dimension list, select Product .
8) Click OK .
Ignoring the First Header Row
1) Select Options > Data source properties and select the Header tab.
2) For Number of lines to skip in the Header section, enter 1 .
3) Click OK .
Saving the Load Rule
1) Select Options > Validate
2) Correct any errors noted.
3) When you receive the message, The rules file is correct for dimension building,
click OK .
4) Save the file as Par_Ch on the Server to the Sales database.
5) Select File > Close to close the Data Prep Editor.

25936855.doc

Confidential
Adaequare, Inc

Page 67 of 132

67

Exercise - Loading Dimensions Using a Parent-Child Rule


Use the Parent-Child load rule just constructed to load the Configuration Total and Line
Total hierarchies to the Product dimension in the Sales outline.This exercise assumes
that you have the Sales outline open.
1) In the Sales outline, select

Outline > Update Outline .

2) Click Find Data File


BCI\LoadRule directory.

and select the

ConfigPC.xls

file located in the

3) Click Find Rules File .


The Open dialog box is displayed.
4) On the Analytic Server tab, select the Par_Ch.rul file from the list.
5) Note the location of the dimbuild.err file directory. Review this file if errors occur
during the loading process.
6) Click OK .
If the load fails, open the error file, make corrections, and then try again.
7) Expand the Product dimension.
Shared Members are automatically created.
8) Save the Sales outline

Updating
Outline

the

1) In the Sales outline, select Outline > Update Outline .


25936855.doc

Confidential
Adaequare, Inc

Page 68 of 132

68

2) Click Find Data File and select the LinePC.xls file located in the BCI\LoadRule
directory.
3) Click Find Rules File .
The Open dialog box is displayed.
4) On the Analytic Server tab, select the Par_Ch.rul file from the list.
5) Note the location of the dimbuild.err file directory. Review this file if errors occur
during the loading process.
6) Click OK .
If the load fails, open the error file, make corrections, and then try again.
7) Expand the Product dimension
Shared Members are automatically created.
8) Save the Sales outline.

Exercise - (Optional) Clorox Minty


In this exercise, you create a new dimension, Mint. Then you create
a new load rule to load the data. This exercise assumes that you
have the Sales outline open.
1) In the Sales outline, add a new dimension Mint as a sibling to
Customer.
2) Click OK and then click Save .
If asked if you want to reposition attribute dimensions to
the bottom of the outline, click Yes .
3) If the Restructure Database dialog box is displayed, select Discard
all data .
4) Select File > Close .
Creating a New Load Rule
1) Create a new load rule.
25936855.doc

Confidential
Adaequare, Inc

Page 69 of 132

69

2) Select Options > Associate outline and associate the rule with the
Sales database.
3) Select File > Open data file and double-click Minty.txt (located on
the File System tab in the LoadRule directory).
4) Select View > Dimension build fields .
Replicating Fields Needed to Create Unique Members
1) Select Field 1 and then select Field > Create using join .
2) Click OK .
Field 1 is duplicated.
3) Repeat steps 1 and 2.
You now have three fields containing the first record,
Clorox.
4) Select Field 4 and then select Field > Create using join .
5) Click OK .
Two copies of this field now exist.
Moving Members
1) Select Field 4 and then select Field > Move .
2) Click Up to move the field between
Field 2 and Field 3.
3) Click OK .

Inserting Space Fields


1) Select Field 3 and then select Field > Create using text .
2) Type a blank space in the input box and click
OK .
A field with a single space is inserted as a new Field 3.
25936855.doc

Confidential
Adaequare, Inc

Page 70 of 132

70

3) Repeat steps
1
and
2,
inserting
a
blank
space
between
the
current Field 5
and
Field 6
and
between
Field 6
and
Field 7 .

There are total of nine fields


with just a single space in
fields 3, 6, and 8.
Concatenating the Fields
1) Select Fields 2 , 3 , and 4
and then select Field > Join .
2) Click OK .
The three fields are joined into
a single Field 2 with correct
spacing between the words.
3) Select the Fields 3 through 7 and then select Field > Join .
4) Click OK .

25936855.doc

Confidential
Adaequare, Inc

Page 71 of 132

71

Associating Fields with Dimensions


1) Select Field 1 and
then select Field >
Properties .
2)
Select
the
Dimension
Build
Proper ties tab.
3) In the Dimension
section, double-click
Mint .
4) In the Field Type
section,
select
Generation .
5) Enter 2 for the generation number.
6) Click Next .
7) Repeat steps 3 through 6 for Field 2 and Field 3:
For Field 2, select the Mint dimension, Generation Field Type,
and generation number 3 .
For Field 3, select the Mint dimension, Generation Field Type,
and generation number 4 .

25936855.doc

Confidential
Adaequare, Inc

Page 72 of 132

72

8) Click OK .
9) Select Options >
Validate .
10) Correct any errors
listed.
Loading the Clorox
Minty Hierarchy to
the Mint Dimension
1) Save the load rule as Loadmint to the Essbase Server under the Sales database.
2) Select File > Close .
3) In the Sales outline, select Outline > Update Outline .
4) Click Find Data File and select the Minty.txt file located in the
BCI\LoadRule directory.
5) Click Find Rules File .
The Open dialog box is displayed.
6) On the Analytic Server tab, select the loadmint.rul file from the list.
7) Note the location of the dimbuild.err file directory. Review this file if errors occur
during the loading process.
8) Click OK .
If the load fails, open the error file, make corrections, and then try again.
9) Expand Mint and compare your results with the following outline.

25936855.doc

Confidential
Adaequare, Inc

Page 73 of 132

73

10) In the Sales outline, right-click Mint and select


Delete.
11) In the Outline Confirmation dialog box, click
Yes.
If a warning message is displayed, select Mint and
click OK.
12) Save the Sales outline.
13) If prompted to restructure data, select
Discard all data and click OK .
Exercise - Loading a Channels Hierarchy to Customer
In this exercise, you create a new load rule to build the Customer
dimension and its children using the generation method.This
exercise assumes that you have the Sales outline open
Creating a New Load Rule
1) Open a new load rule.
2) Select Options > Associate outline and associate the load rule with
the Sales database.
3) Select File > Open data file .
4) Locate and select the CusChan.xls file in the BCI/LoadRule
directory.
5) Select View > Dimension Build Fields to set the mode for loading
members to the outline.
Creating the Customer Dimension
1) Select Options > Dimension build settings .
2) Select the Dimension Definition tab.
3) Select Rules File .
4) Next to Dimensions , click Click here to edit .
5) Type Customer .
6) Press Enter .

25936855.doc

Confidential
Adaequare, Inc

Page 74 of 132

74

7) Right-click Customer and select Edit properties to set the properties for the
Customer dimension. The Dimension Properties dialog box is displayed.
8) Select the Dimension Properties tab.
9) In the Data Storage area, select Label Only .
10) In the Configuration area, select Sparse .
11) Click OK .
The Dimension Properties dialog box closes.
12) Click OK
The Dimension Build Settings dialog box closes and you return to the Data Prep Editor.
13) Select Options > Dimension build settings and then select the
Dimension Build Settings tab.
14) In the Dimension list, double-click Customer and confirm that the Build Method
is set to Use Generation References .
15) Click OK .
You return to the Data Prep Editor

Ignoring the First Header Row


1) Select Options > Data source properties .
The Data File Properties dialog box is displayed.
2) Select the Header tab.
3) For Number of lines to skip in the Header section, enter 1 .
4) Click OK .
You return to the Data Prep Editor.
Organizing Columns and Associating Them with Generations
25936855.doc

Confidential
Adaequare, Inc

Page 75 of 132

75

1) Select a member of Field 1 and then select Field > Properties .


2) Select the Dimension Build Proper ties tab.
3) At the bottom, select Ignore field during dimension build .
4) Click OK .
The information in Field 1 changes to gray; if it does not, check your settings.
5) Select Field 3 and then select Field > Move .
6) Move Field 3 until it is displayed between Field 1 and Field 2.
7) Click OK .
The field title Channel is displayed as Field 2 between the Cust Class and Customer
fields.
8) Select the new Field 2 and then select Field > Create Using Text .
9) In the Text in field text box, type Channel Total .
10)Click OK .

11) Select the new Field 3 and then select Field > Create Using Text .
12) In the Text in field text box, type ~ (tilde).
13) Click OK .
A new Field 3 is inserted.
14) Select Field 2
Properties .

and then select

Field >

15) On the Dimension Build Proper ties tab,


perform the following tasks:
For Dimension, double-click Customer .
For Field Type, select Generation .
For generation number, enter 2 .
16) Click Next .
The Dimension Build Properties tab is displayed
for Field 3.
25936855.doc

Confidential
Adaequare, Inc

Page 76 of 132

76

17) Perform the following tasks:


For Dimension, double-click Customer .
For Field Type, select Property .
If the number 2 is not displayed for the Property generation, type 2.
18) Click Next .
The information for Field 4 is displayed.
19) Select the Global Proper ties tab.
Field 4 remains selected.
20) In the Replace text box, type Disti and, in the With box, type Distributor

21) Select the


Dimension Build
Proper ties tab.
Field 4 is still
selected.
22)

For

Dimension, double-click Customer , and for Field Type select


Generation .
The number 3 is displayed for the generation number.
23) Click Next .
The Dimension Build Properties panel now displays information for Field Number 5.
24) For Dimension, double-click Customer , and for Field Type select Generation .
The number 4 is displayed for the generation number; if it is not, en ter it.
25936855.doc

Confidential
Adaequare, Inc

Page 77 of 132

77

25) Click OK .
You return to the Data Prep Editor.
26) Select Options > Dimension build settings .
27) Select the Dimension Build Settings tab.
28) In the Dimension list, double-click Customer .
29) Select Allow Property Changes .
30) Click OK .

Saving
and
Loading
the
Customer
Dimension
1)
Select
Options >
Validate .
2) Correct
any errors
that appear
in
the
validation
dialog.
3)
When
you receive
the
message,
The rules file is correct for dimension building, click OK .
4) Save the load rule to the Essbase Server as Channel .
5) Select File > Close .
The Data Prep Editor closes.
6) In the Sales outline, select

Outline > Update Outline .

7) Click Find Data File


BCI\LoadRule directory.

and select the

25936855.doc

Confidential
Adaequare, Inc

CusChan.xls

file located in the

Page 78 of 132

78

8) Click Find Rules File .


The Open dialog box is displayed.
9) On the Analytic Server tab, select Channel.rul from the file list.
10) Note the location of the dimbuild.err file directory. Review this file if errors occur
during the loading process.
11) Click OK .
If the load fails, open the error file, make corrections, and then try again.
12) Expand the Customer dimension
13) Save the Sales outline.

Exercise - Creating a Region Total Attribute Dimension


In this exercise, you create a new load rule that defines the Region
Total attribute dimension. This exercise assumes that you have the
Sales outline open.
Building the Attribute Dimension
1) In the Sales outline, add a sibling to Customer called Region Tot al .
25936855.doc

Confidential
Adaequare, Inc

Page 79 of 132

79

2) Add the following children to Region Total: Mid West , South , East , and West
3) Select Region Total .
4) Right-click and select Edit member properties .
5) Set the Dimension type to

Attribute and the Attribute type to Tex t .

6) Click OK .
If you receive a warning message, click Yes.
7) Select Customer .
8) Right-click and select Edit member properties .
9) Select the Attributes tab and assign Region Total to the Customer dimension.

10) Compare your


outline
to
the
dimensions shown in the following sample
11) Save the Sales outline.

25936855.doc

Confidential
Adaequare, Inc

Page 80 of 132

80

Associating Attributes with a Load Rule


1) Select File > New > Scripts > Rules file .
The Data Prep Editor is displayed.
2) Select Options > Associate outline and associate the load rule with the Sales
database.
3) Select File > Open data file and open the LoadRule/CusReg.xls file from the
File System

4) Select
View >
Dimension build fields to set the mode for loading members to the outline.
Assigning the Build Method
1) Select Options > Dimension Build Settings , and then select the Dimension
Build Settings tab.
2) Double-click Customer .
3) In the Build method section, select Use level references .
4) In the Attribute members section, select Allow association changes and Do not
create members .

25936855.doc

Confidential
Adaequare, Inc

Page 81 of 132

81

5) Click OK .
You return to the Data Prep Editor.
Performing Field Edits
1) Select Field 2 and select Record > Reject .
2) Set the Type to String .
3) In the String/Number
Region Total .

text box, type

4) Set the condition to Equal .

5) Click OK .
You return to the Data Prep Editor.
Defining the Field Column Properties
You want to assign the Region Total attributes to the Level 0 customers.
1) Highlight any item in field 1.
2) Select Field > Properties
3) Select the Dimension Build Proper ties tab.Information for Field Number 1 is
displayed.
4) In the Dimension section, double-click Customer to select.
5) In the Field Type section, double-click Level .
6) In the Number text box, type 0 .
7) Click Next .
8) In the Dimension section, double-click Customer .
9) In the Field Type
dimensions).

section, select

Region Total

(located under Attribute

10) In the Number text box, type 0 .


25936855.doc

Confidential
Adaequare, Inc

Page 82 of 132

82

11) Click OK

Saving the Load Rule


1) Select Options > Validate
.
2) Correct any errors noted.
3) Save the file as AttReg to the Essbase Server under the Sales database.
4) Select File > Close .
Using the Load Rule
1) In the Sales outline, select

Outline > Update Outline .

2) Click Find Data File and select the CusReg.xls file located in the BCI\LoadRule
directory.
3) Click Find Rules File .
The Open dialog box is displayed.
4) On the Analytic Server tab, select AttReg.rul from the file list.
5) Note the location of the dimbuild.err file directory. Review this file if errors occur
during the loading process.
6) Click OK .If the load fails, open the error file, make corrections, and then try again.
7) To verify that region attributes were added for customers, expand the Customer
dimension

25936855.doc

Confidential
Adaequare, Inc

Page 83 of 132

83

This load rule assigns


regions to respective
customers

8) Verify and save the Sales outline.


25936855.doc

Confidential
Adaequare, Inc

Page 84 of 132

84

Exercise - (Optional) Building the Capacity Total Attribute


In this exercise, you create a new dimension build load rule to build a Capacity Total
Attribute dimension. This exercise assumes that you have the Sales outline open.
Creating a Load Rule
1) Select File > New > Scripts > Rules file .
The Data Prep Editor is displayed.
2) Select Options > Associate outline , and then associate the load rule with the Sales
database.
3) Select File > Open data file .
The Open dialog box is displayed.
4) On the File System tab, select

LoadRule/AttCap.xls and click OK .

5) Set the mode for loading members to the outline ( View > Dimension build fields ).
6) Skip the first header row in the data source (

Options > Data source properties

Defining the Capacity Total Dimension


To create the attribute dimension, you attach it to a base dimension. To do that, you
create the attribute dimension as an attribute of the base dimension. You also define the
type of attribute: numeric, text, Boolean, or date.
25936855.doc

Confidential
Adaequare, Inc

Page 85 of 132

85

1) Select Options > Dimension build settings .


2) Select the Dimension Definition tab.
3) Right-click the Product dimension (your base dimension) and select Edit
properties .
4) Select the Attribute Dimensions tab.

5) Under Name, click Click here to add and type Capacity Total .
6) In the Type drop-down list, select

Numeric .

7) Click OK .
You return to the Dimension Build Settings dialog box.
8) Click OK .
You return to the Data Prep Editor.
25936855.doc

Confidential
Adaequare, Inc

Page 86 of 132

86

9) Select Options > Dimension build settings .


10) Select the Dimension Build Settings tab.
11) Double-click Capacity Total .
The is the attribute you just defined.
12) In the Build Method section, select Use parent-child references .
13) In the Dimension area, double-click

Product .

14) In the Build Method section, select Use level references .


15) Under Attribute Members, select Allow association changes and Do not create
members .
Because the Capacity Total attribute dimension is being built as a parent-child
hierarchy, you need not create it as part of the attribute member association with the
base dimension member.
16) Click OK .
You return to the Data Prep Editor.
Exercise - Changing Transparent Partition Values and Structure
Alter the transparent partition between Bigwest (source) and Bigcorp (target) in the
following manner:
1) On the Partitions.xls spreadsheet in the West 1 worksheet, change a value in the
West Total column.
2) Lock and Send the change.
3) On the Partitions.xls spreadsheet, click the Corporate 1 tab.
4) On the Corporate 1 worksheet, try to drill down on West.
5) Analyze the result.
6) In the Corporate 1 worksheet, make the changes necessary to outlines and/or
partitions to be able to drill down on West to the city level and verify the data is
accurate.
Performing Field Edits to Format the File
25936855.doc

Confidential
Adaequare, Inc

Page 87 of 132

87

1) Highlight any item in Field 1 and select Field > Move .


The Move Field dialog box is displayed.
2) Highlight Field 1 and click Down until Field 1 is in the bottom position in the
displayed list.
3) Click OK .
You return to
the Data Prep
Editor where the
field
titled
Product is now
displayed
as
Field 3.
Copying Field 2
(Production)
1) Highlight any
item in Field 2,
and then select
Field > Create using join.
You are joining Field 2 to itself.
2) Highlight Field 2 and click OK .
The field titled Production is now displayed in both the Field 2 and Field 3 positions.
3) Highlight any item in Field 3, and then select
The Move Field Dialog is displayed.

Field > Move .

4) Click Down to move Field 3 into the bottom position, and then
click OK .

25936855.doc

Confidential
Adaequare, Inc

Page 88 of 132

88

You want the


base member
field
(Lightbolt
365 A) to
precede the
new
Production
column.
Anything that
is
not
a
member
in
the database
is applied to
the preceding
column of member information.
Defining the Field Column Properties
1) Highlight any item in Field 1 and select

Field > Properties .

2) On the Dimension Build Properties tab, complete the field properties as indicated in
this table:
Field # Dimension Field Type Number
Field 1 Capacity Total Parent 0
Field 2 Capacity Total Child 0
Field 3 Product Level 0
Field 4 Product Capacity Total 0
You may need to expand the Attribute dimensions list for Field 4 to find and doubleclick Capacity Total.
3) When all field properties are assigned, click OK .

Saving the Load Rule


1) Select Options > Validate to validate the load rule.
2) Correct any errors noted.
3) When you receive the message The rules file is correct for dimension building,
click OK .
25936855.doc

Confidential
Adaequare, Inc

Page 89 of 132

89

4) On the Essbase Server, save the file as

AttCap to the Sales database.


The file type RUL
is automatically
set up by Essbase.
5) Select File >
Close .
The Data Prep
Editor closes.
Using the Load
Rule
1) In the Sales
outline,
select
Outline > Update
Outline .

2) Click Find Data File and select the attcap.xls file located in the BCI\LoadRule
directory.
3) Click Find Rules File .
The Open dialog box is displayed.
4) On the Analytic Server tab, select AttCap.rul from the file list.
5) Note the location of the dimbuild.err file directory. Review this file if errors occur
during the loading process.
6) Click OK .
If the load fails, open the error file, make corrections, and then try again.
7) To verify that the dimension build was successful, expand the Product dimension.

This load rule builds the


Capacity Total attribute
dimension and assigns
them to respective
products

25936855.doc

Confidential
Adaequare, Inc

Page 90 of 132

90

8) Verify and save the Sales outline


Exercise - Loading
Data

Data files can come from a variety of sources and may have very different structures
and challenges. In this exercise, you create data load rules for three files with different
structures. Some of the challenges you may encounter are:
Incorrect format of some data fields The need to ignore some fields and rows in the file
Missing dimension information needed for a successful load
Try to identify as many specific challenges as possible before beginning the exercise.
This exercise assumes that you have the Administration Console open and the Bigcorp
application and Sales database selected.
Creating a New Load Rule for Budget Data
1) Select File > New > Scripts > Rules file .
The Data Prep Editor is displayed.
2) Select Options > Associate outline and associate the rule with the
Sales database.
3) Select File > Open data file .
4) Open Budget.txt (located in the BCI\LoadRule directory).

25936855.doc

Confidential
Adaequare, Inc

Page 91 of 132

91

5) On the View menu, verify that there is a check mark next to Data load fields .
This is the correct mode setting for creating a load rule that loads data.
Ignoring the Extra Header Row
1) Select Options > Data source properties .
2) Select the Header tab.
3) For Number of lines to skip , type 1 .
4) Click OK .
You return to the Data Prep Editor.
Assigning Field Properties
5) Select Field 1 and then select Field > Properties .
6) Select the Data Load Properties tab.
7) Double-click the Customer dimension.
Customer is copied into the Field name text box.
8) Click Next .
9) Repeat steps 7 and 8 to set Field 2, Field 3, and Field 4 to Product , Yea r Tot ,
and Accounts , respectively.
10) Click Next until Field 5 is the selected field.
25936855.doc

Confidential
Adaequare, Inc

Page 92 of 132

92

11) Select Data


field for Field
5 and then click
OK . The Field
Properties
dialog
box
closes and your
field names
are updated
based
on
your
choices.

25936855.doc

Confidential
Adaequare, Inc

Page 93 of 132

93

Setting Up a Scenario Header


Remember that each dimension must be identified in the data file. In this file, Scenario
is not represented. The data applies to the Budget scenario. Set up a Scenario header to
identify this dimension with the data.
1) Select Options > Data load settings .
2) Select the Header Definition tab.
3) Expand Scenario .
4) Double-click Budget to select it for your header name.

5) Click OK .
You return to the Data Prep Editor.
Save the Load Rule
1) Select Options > Validate .
2) Correct any errors listed.
3) Save the rule as Budget on the Essbase Server under the Sales database.
25936855.doc

Confidential
Adaequare, Inc

Page 94 of 132

94

4) Select File > Close .


Loading the Data
1) Right-click the Sales database and select Load data .
2) Click Find
Data File and
then
select
Budg
et.txt
from the File
System
tab
(located in the
BCI\LoadRule
directory).
3) Select Use
Rules .
4) Click Find
Rules File , select the Analytic Server tab, and then select the Budget.rul load rule.
5) Click OK .
The load rule is executed. A message informs you that the files loaded with no errors.
6) Click Close .
You return to the Administration Console.

Creating a New Load Rule for PriorYr Data


1) Open a new load rule file.
2) Associate the rule with the

Sales database.

3) Open PriorYr.txt (located in BCI\LoadRule) as your source data file.

25936855.doc

Confidential
Adaequare, Inc

Page 95 of 132

95

Setting Up a
Dynamic
Header
and
Fixing Member
Names
If the header record in the data source matches the member names in your Essbase
database, you can direct the load rule to read the information in the source file rather
than manually creating field names. This method cuts down on maintenance and allows
you to store fewer load rules.
1) Select Options > Data source properties , and then select the Header tab.
2) Set Record containing data load field names to 1.
3) Click OK .

4) Highlight the Customer field and select


25936855.doc

Field > Properties .

Confidential
Adaequare, Inc

Page 96 of 132

96

5) On the Global Properties tab, set up a rule to replace CustID- with nothing. You do
not need to select the Case Sensitive, Match Whole Word, or Replace All Occurrences
options.
6) Click OK .
The customer names appear scrubbed of their prefix and ready to load into the
database.

7) Validate your
load rule and correct any errors listed.
8) Save the rule as PriorYr on the Essbase Server under the Sales database.
9) Select File > Close .
Loading the Data
1) Right-click the Sales database and select Load data .
2) Click Find Data File and then select PriorYr.txt from the File System tab
(located in the BCI\LoadRule directory).
3) Select Use Rules .
4) Click Find Rules File , select the Analytic Server tab, and then select the
PriorYr.rul load rule.
5) Click OK .
The load rule is executed. A message informs you that the files loaded with no errors
and provides the location of the data file.
6) Click Close.
25936855.doc

Confidential
Adaequare, Inc

Page 97 of 132

97

You return to the Administration Console.

Creating a New Load Rule for Actual and Forecast Data


1) Open a new load rule file.
2) Associate the rule with the

Sales database.

3) Open Forecast.txt (located in BCI\LoadRule) as your source


data file.
4) Ignore the first header row.Ignoring Fields and Setting Field Properties
1) Select fields 7 , 9 , 10 , 12 , and 14 .
Press Ctrl+Click to make multiple, noncontiguous selections.
2) Select Field > Properties
3) On the Data Load Properties tab, select
load .

Ignore field during data

4) Click OK .
5) On the View menu, clear the Ignored Fields check box.
The ignored fields are removed from the Data Prep Editor.
6) Set the data load properties of the remaining fields as follows:

Field Field Name


25936855.doc

Confidential
Adaequare, Inc

Page 98 of 132

98

Field1 Scenario
Field2 Product
Field3 Customer
Field4 Year Tot
Field5 Units
Field6 List Price
Field8 Discount %
Field11 Labor/Unit
Field13 Matl/Unit
Field15 Overhead Rate

7) Validate your load rule and correct any errors listed.


25936855.doc

Confidential
Adaequare, Inc

Page 99 of 132

99

8) Save the rule as Loadcorp on the Essbase Server under the Sales database.
9) Select File > Close .
Loading the Data
1) Right-click the Sales database and select Load data .
2) Click Find Data File , select the File System tab, and then select Actual.txt and
Forecast.txt (located in the BCI\LoadRule directory).
3) Select Use Rules .
4) Click Find Rules File , select the Analytic Server tab, and then select the
Loadcorp load rule.
5) Click OK .
The load rule is executed. A message informs you that the files loaded with no errors.
6) Click Close .
You return to the Administration Console.
Verifying the Data
1) Select File > Open .
2) On the File System tab, browse to the BCI\LoadRule directory.
3) Select CalcAll.csc and click OK .
The Calculation Script Editor opens.
4) Select Options > Execute script .
The Execute Calculation Script dialog box is displayed.
5) Select Bigcorp and Sales from the Application and Database drop-down lists,
respectively.
6) Click OK .
7) Close the CalcAll calculation script.
8) In the Enterprise View, right-click the Sales database and select Preview data.
9) Double-click Scenario to expand it and verify there is data for Current Year, Prior
Year, Forecast, and Budget scenarios

25936855.doc

Confidential
Adaequare, Inc

Page 100 of 132100

25936855.doc

Confidential
Adaequare, Inc

Page 101 of 132101

Module 3
Exercise - Spreadsheet Reporting Challenge 1: Formats
This exercise assumes that you are logged on to the Bigcorp application and Sales
database and are working in the Essbase Spreadsheet Add-in.
There are a variety of ways to produce this challenge report. This is one possible
solution. This exercise assumes that you have the SSReports.xls file open.
1) Select the Challenge1 worksheet.
2) Select Essbase > Retrieve .
3) Select Product .
4) Select Essbase > Pivot .
Product switches axes.
5) Select Year Tot .
6) Select Essbase > Pivot .
Year Tot switches axes.
7) Select Customer .
8) Select Essbase > Zoom in .

9) Select Customer .
10) Select Essbase > Pivot .
Customer switches axes.
11) Select Channel Total .
12) Select Essbase > Zoom in .
The children of Channel Total are displayed.
13) Select OEM .
14) Select Essbase > Zoom in .
25936855.doc

Confidential
Adaequare, Inc

Page 102 of 132102

15) Select IBM, Acer , and Apple .


16) Select Essbase > Keep Only .
Other members of the Product dimension are removed.
17) Select Product .
18) Select Essbase > Zoom in .
The children of Product are displayed.
19) Select Family Total .
20) Select Essbase > Keep Only .
21) Select Family Total .
22) Select Essbase > Zoom in .
23) Type Current Year over Scenario in cell D1.
24) Type Units over Accounts in cell B1.
25)
Select
Essbase >
Retrieve .

Exercise - Troubleshooting Reports


Errors in reports are commonly due to incorrect labels or label placement. The
Troubleshooting.xls file contains a series of tabs that may or may not have retrieval
problems. For each tab, diagnose and correct the issue.

25936855.doc

Confidential
Adaequare, Inc

Page 103 of 132103

Tab Name
Labels 1

Diagnosis
The Customer dimension is
missing.

Resolution
The retrieval works as is.
Essbase adds the missing
Customer dimension at the
top level.

Labels 2

The customer name (IBM) is


misspelled.

Since no customer is
recognized, Essbase adds
Customer at the top level
when it retrieves. Correct the
misspelling (and, if
necessary, remove the extra
customer that Essbase
added).

Labels 3

The Accounts row dimension


member is on the same row
as the Performance / Value
column dimension members.

Remove the Accounts


member, or move all accounts
down one cell.

Labels 4

The product column headers


(Performance and Value) are
not on the same row.

Move the Performance label


to the same row as Value.

Labels 5

The header dimensions are


stacked on multiple rows.

The retrieval works as is.

Labels 6

The row dimension


(Accounts) is listed in
between columns of data.

The retrieval works as is.

Labels 7

There are two customers in


the header row.

Remove one customer or


reposition customers as a
column or row header.

Labels 8

There are two complete


retrieval areas in the report.

Remove one retrieval area or


select one area at a time to
retrieve.

Exercise - Selecting Members from the Outline


This exercise assumes that you are logged on to the Bigcorp application and Sales
database and are working in the Essbase Spreadsheet Add-in. There are a variety of
ways to produce this challenge report. This is one possible solution. This exercise
assumes that you have the SSReports.xls file open.
25936855.doc

Confidential
Adaequare, Inc

Page 104 of 132104

1) Select the Member Selection worksheet.


2) Select Essbase > Retrieve .
3) Select Customer .
4) Select Essbase>Member Selection .

5) In the Members , expand Channel


Total and OEM . section The children of
OEM are displayed under Members.
6) Select IBM .
7) Click Add .
IBM moves under Rules.
8) Click OK .
IBM replaces Customer on the report.
9) Select Accounts .
10) Select Essbase > Member Selection .
The Essbase Member Selection dialog box is displayed.
11) In the Members section, select Units .
12) Click Add .
Units moves under Rules.
13) Click OK .
14) Select Scenario .
15) Select Essbase > Member Selection .
25936855.doc

Confidential
Adaequare, Inc

Page 105 of 132105

The Essbase Member Selection dialog box is displayed.


16) In the Members section, select Current Year .
17) Click Add .
Current Year moves under Rules.
18) Click OK .
19) Select Essbase > Retrieve .
Current Year, IBM, and Units are displayed
on the report.
20) Select Year Tot .
21) Select Essbase > Member Selection .
The Essbase Member Selection dialog box is displayed.
22) In the Members section, select Quarter 1 .
23) Click Add .
Quarter 1 moves under Rules.
24) In the Rules section, right-click Quarter 1
25) Select All Children .

26) In the
Members
section, expand Quar ter
2 and select Apr .
27) Click Add .
Apr moves under Rules.
28) In the View Method section, select By Dynamic Time Series.
29) In the Members section, select Y-T-D .
25936855.doc

Confidential
Adaequare, Inc

Page 106 of 132106

30) Click Add .


Y-T-D moves under Rules.
31) In the Rules section, right-click Y-T-D and select Specify Latest .

32) Select Apr from the


list and click OK
33) Under
Output
Options , clear the Place
Down the Sheet option.

34)
OK .
The

Click
selected

time periods become column headers


in your report.
35) Select Product .
36) Select Essbase > Member
Selection .
The Essbase Member Selection
dialog box is displayed.
37) In the
25936855.doc

Members

section,
Confidential
Adaequare, Inc

Page 107 of 132107

expand Configuration Total and select ConfigA .


38) Click Add .
ConfigA moves under Rules.
39) In the Rules section, right-click ConfigA .

40) Select Subset .

41) From the drop-down lists, select Pattern is LIGHT* .


You must type LIGHT*.
42) Click Add as AND Condition .
The rule is displayed under Conditions.
43) From the drop-down lists, select Patt ern is MAV* .
You must type MAV*.
44) Click Add as OR Condition .

45) Click OK .
The Essbase Member Selection dialog box is displayed.
25936855.doc

Confidential
Adaequare, Inc

Page 108 of 132108

46) Click OK .
Configuration A names beginning with LIGHT and MAV replace Product.
47) Select Essbase > Retrieve .
Exercise - Designing Queries
You have been asked by the Channels organization to modify the
previous report to include a list of all level 0 products grouped by
the customers in the OEM channel. In addition, they want the
products sorted within each group in descending order based on
the YTD totals, and they want to filter out rows with no YTD totals.
Because this report requires nested dimensions in the rows and
server-based sorting, Essbase Query Designer is the best tool for the
job.
On the Query Designer tab of SSReports.xls, build the report to the
following specifications:
Query Section

Dimension Members

Header
Dimensions

Current Year, Units

Column
Dimensions

Jan through Apr, Y-T-D(Apr)

Row Dimensions

OEM and children, all level 0 products

Data Filtering

Restrict data retrieval to rows where data is not a


#Missing value for Y-T-D(Apr)

Data Sorting

Sort the products by the YTD total

1) Select Essbase > Query Designer


2) Right-click the Query
Designer worksheet.
3) Select New > Query .

25936855.doc

Confidential
Adaequare, Inc

Page 109 of 132109

Setting Up the Placement of the Dimensions


1) In the layout panel, select Accounts .
2) Drag Accounts to Page Dimensions .
3) Repeat this process until Page Dimensions has Accounts and
Scenario , Column Dimensions has Yea r Tot , and Row
Dimensions has Customer and Product

Selecting Members
1) Double-click the Accounts dimension (in either the layout panel or the navigation
panel).

2)

25936855.doc

Confidential
Adaequare, Inc

Page 110 of 132110

Expand the accounts until you find

Units .

3) Double-click Units .
Units is displayed under Selection Rules.
4) Repeat this process for Scenario , selecting Current Year .
5) In the navigation panel, click

Customer .

6) Expand Channel Total .


7) Add OEM to the Selection Rules.
8) Under Selection Rules, right-click OEM and then select Select >
Children .

9) In the navigation panel, click

Year Tot .

10) For Yea r Tot , select Jan , Feb , Mar , and Apr .
You can select the Qtr 1 children by adding Qtr 1 to the selection rules, then rightclicking to select children.
11) Right-click in the Members box and select View by > Dynamic Time series

25936855.doc

Confidential
Adaequare, Inc

Page 111 of 132111

12) Double-click Y-T-D to add to the Selection Rules.


13) Under Selection Rules, right-click

Y-T-D and select Specify Latest .

14) In the drop-down list box, select Apr and click OK .


15) In the navigation panel, click Product .
16) Right-click the Member
box and select View by >
Level .

17) Double-click Lev0,Product .


18) Right-click the Member box and
select Suppress Shared Members .
25936855.doc

Confidential
Adaequare, Inc

Page 112 of 132112

Filtering Data
1) In the navigation panel, select

Data Filtering .

2) In the Data Restrictions box, double-click to create a new data restriction.


The data restrictions panel is displayed.
3) Set the
restriction
to retrieve
rows where
Data is not
a #Missing
value in the
column for
Y-TD(Apr)
.
As
you
make your selections, the filter is built in the navigation panel

Sorting Data
1) In the navigation panel, select

Data Sorting .

2) In the Dimension being sorted drop-down list box, select Product .


3) Under Column Used for Sort , double-click to create a new sort rule.
4) Select Descending for Ordering.

25936855.doc

Confidential
Adaequare, Inc

Page 113 of 132113

5) Select Y-T-D(Apr) for


Column Used for Sort. As you make your selections, the data sort rule is built in the
navigation panel.

Saving and Applying the Query


1) In the navigation panel, right-click any member in the query.
2) Select Save Query .

3) In the Query Name


OEMProd .
25936855.doc

text box, type


Confidential
Adaequare, Inc

Page 114 of 132114

4) Click OK .
5) In the navigation panel, right-click any member in the query and then select Apply
Query .

Module 4
Exercise - Adding a Back Calculation
Although you have rolled up all dimensions in the outline, some data is not
aggregating correctly. In this exercise, you modify the CalcCorp.csc file to correct rates
that are aggregating incorrectly.
1) Open the CalcCorp calculation script.
2) After the CALC DIM statement, add a block of formulas to derive the correct rates
for the following accounts:
List Price , Discount % , Labor/Unit , Matl/Unit ,
Overhead Rate , Gross Margin % .
Enclose the group of formulas in parentheses to prevent jump-ahead behavior from the
CALC DIM statement.
One possible solution to this exercise is a script that reads as follows:
/* Housekeeping */
SET UPDATECALC OFF;
/* The Main Rollup */
CALC DIM (Accounts, Year Tot, Customer, Product);
/* The Back Calc */
(
Gross Margin % = Net Sales / Gross Margin;
List Price = Gross Sales / Units;
Discount % = Discounts / Gross Sales;
Labor/Unit = Direct Labor / Units;
Matl/Unit = Material / Units;
Overhead Rate = Overhead / Direct Labor;
)
3) Save the script.
4) Calculate CalcCorp and check your results on the Anatomy.xls file:
25936855.doc

Confidential
Adaequare, Inc

Page 115 of 132115

Exercise - Focusing with FIX


One possible solution to this exercise is a calculation script that
reads as follows:
/* Housekeeping */
SET UPDATECALC OFF;
/* The Baseline Fix */
FIX ("Current Year", @DESCENDANTS ("Quarter 1"))
/* The Main Rollup */
CALC DIM (Accounts, Customer, Product);
ENDFIX
Save the script as FixIt and calculate. Check your results on the FixIt
25936855.doc

Confidential
Adaequare, Inc

Page 116 of 132116

tab of the Anatomy.xls file.

Exercise - Focusing with IF


One possible solution to this exercise is a calculation script that
reads as follows:
/*Housek eeping.*/
SET UPDATECALC OFF;
CLEARBLOCK NONINPUT;
/*Push the units and price forecast using If.*/
Units
(
IF (@ISMBR (Sep))
Units = @Prior (Units, 1);
"List Price" = @Prior ("List Price", 1) * .9;
ELSEIF (@ISDESC ("Quarter 4"))
Units = @Prior (Units, 2) * 1.1;
"List Price" = @Prior ("List Price", 1) * .9;
ENDIF
)
Extra Credit :
/*Housek eeping.*/
SET UPDATECALC OFF;
CLEARBLOCK NONINPUT;
/*Push the units and price forecast using If. Round the Units calculation to avoid
partial units*/
Units
(
IF (@ISMBR (Sep))
Units = @Prior (Units, 1);
"List Price" = @Prior ("List Price", 1) * .9;
ELSEIF (@ISDESC ("Quarter 4"))
Units = @Round ((@Prior (Units, 2) * 1.1), 0);
25936855.doc

Confidential
Adaequare, Inc

Page 117 of 132117

"List Price" = @Prior ("List Price", 1) * .9;


ENDIF
)

Exercise - Creating Mix Calculations


Mix calculations are typically a percent-to-total type of ratio
calculation that takes a data value at a given level and figures its
percentage of a related total. You have been asked to create several
mix calculations in the Sales outline.
1) In the Sales outline, add the following formulas to the accounts
Unit Mix and Sales $ Mix :
Account

Formula

Unit Mix

Units / @ANCESTVAL (Product, 3, Units);

Sales $ Mix

Net Sales / @ANCESTVAL (Product, 3, Net Sales);

2) Make both Unit Mix and Sales $ Mix and enable Two Pass calculation .
3) Save the outline and check your results on the ANCESTVAL It
Anatomy.xls file.

tab in the

Since the calculations are dynamic, you do not have to recalculate them.

Exercise - Calculating a Moving Average


There are various solutions to this exercise. The following calculation script represents
one possible answer:
/* if prior year and jan or feb, then Moving Average = jan and feb respectively */
"Moving Average"
(
If (@ismbr("prior year") AND @ismbr(jan,feb))
"Moving Average"=units;
25936855.doc

Confidential
Adaequare, Inc

Page 118 of 132118

Elseif (@ismbr ("prior year") And @ismbr(mar:dec))


/* the currmbr range offsets are -2 and 0 because if calculating mar, we start 2
months prior (-2) and go to mar (0) */
"Moving Average"=@AVGRANGE (SKIPMISSING, units, @CURRMBRRANGE
("Year Tot", LEV, 0, -2,0));
Elseif(@ismbr("current year") And @ismbr(jan))
"Moving Average"=@AVG (SKIPMISSING,nov->units->"Prior Year",dec->units
->"Prior Year",jan->units->"Current Year");
Elseif(@ismbr("current year") And @ismbr(feb))
"Moving Average"=@AVG (SKIPMISSING,dec->units->"Prior Year",jan->units
->"Current Year", feb->units->"Current Year");
Elseif (@ismbr ("Current Year") And @ismbr(mar:dec))
"Moving Average"=@AVGRANGE (SKIPMISSING, units, @CURRMBRRANGE
("Year Tot", LEV, 0, -2, 0));
endif;
)

Exercise - Optimizing Block Size with Aggressive Dynamic Calculation


In this exercise, you create a new application and database, load data, and calculate the
new database. You use a Microsoft Excel workbook to compare precalculated data
without dynamic calculations to the new data that was calculated with dynamic
calculation settings in the database outline. You use one of two solutions to correct the
calculation so that both the nondynamic and dynamic data values are equal. You record
data block statistics. In the new database outline, you use dynamic calculations and
two-pass calculations wherever possible and in a way that still keeps the dynamic data
in sync with the nondynamic data.
Creating a New Application and Database
1) Create a new application on the server called Dynamic .
You can shut down all other databases to free up memory.
2) In the new Dynamic application, create a new database called Dynamic .
3) In Windows NT Explorer, copy dynamic.otl from the BCI\CalcIt\Dynamic
directory to the Essbase\App\Dynamic\Dynamic directory.
4) Click Ye s to overwrite the existing file.
Loading and Reviewing the New Outline It is necessary to start and then restart the
Dynamic database to load the new outline.
1) In the Administration Console, right-click the Dynamic database and select Stop .
The Confirm Database Stop dialog box is displayed.
25936855.doc

Confidential
Adaequare, Inc

Page 119 of 132119

2) Click Ye s .
3) Right-click the Dynamic database and select Start . The Confirm Database Start
dialog box is displayed.
4)Click Ye s .
5) Open the Dynamic outline and review the structure.

Loading Data and Calculating the Database


1) Right-click the Dynamic database and select Load data .
The Data Load dialog box is displayed.
2) In the Data files area, click Find .
The Open Objects dialog box is displayed.
3) Select File System .
4) Browse to the BCI\CalcIt\Dynamic directory and select
Actual.txt and Forecast.txt .
You can select both files by pressing the Ctrl key and
clicking the files.
5) Click OK .
6) Select Use Rules .
7) In the Rules area, click Find .
The Open Rules File dialog box is displayed.
8) Select File System .
9) Select Loadcorp.rul (in the BCI\CalcIt\Dynamic directory).
10) Click OK .
11) Click OK .
The data is loaded and the Data Load Completed dialog box
is displayed.
25936855.doc

Confidential
Adaequare, Inc

Page 120 of 132120

12) Click Close .


13) Right-click the Dynamic database and select Execute calculation .
The Execute Database Calculation dialog box is displayed.
14) Select Database > Calculate .
The Calculate Database dialog box is displayed.
15) Select (Default) .
16) Click OK .

Reviewing the Before-and-After Data


1) Open Aggressive.xls (found in the BCI\CalcIt\Dynamic directory).
2) Select the No Dynamic spreadsheet.
The values in the No Dynamic spreadsheet represent a retrieve from the Bigcorp
database with no dynamic calculations. These values are correct and should be used
to compare your dynamic calculation results.
3) Select the Dynamic spreadsheet.
4) Select Essbase > Retrieve and log on to the Dynamic database.
You can now review the data on both spreadsheets.
5) Select the Comparison spreadsheet.
6) Select cell B3 .
7) Type the following formula:

=No Dynamic!B3 - Dynamic!B3 .

8) Copy the formula to all cells for rows


B , C , and D .

3 through 25 and columns

9) View the results and investigate all nonzero values. Correct values that were not
calculated properly.
A zero indicates that there is no difference between the no dynamic and the dynamic
spreadsheet values.

25936855.doc

Confidential
Adaequare, Inc

Page 121 of 132121

Solutions
The comparison spreadsheet should show several nonzero amounts in the Act vs Fcst
column as well as #VALUE in the Other CGS and Balance Sheet rows. The Other CGS
and Balance Sheet rows are correct. A review of the no dynamic and the dynamic
spreadsheets for those rows show that both of them have no data (N/A). The nonzero
numeric values indicate a problem with the dynamic data. The problem is created
because the calculation order is sparse, then dense. There are two possible solutions for
correcting the calc.
Solution #1 - Setting Two-Pass Calculations
In this solution, you set the dynamic calculation shadow rates to two-pass calculations.
Since the spreadsheet uses Act vs Fcst, these steps are taken only to change the Act vs
Fcst outline member and recalculate the result. You would receive the same errors with
Act vs Bud or Bud vs Fcst if they were not also changed.
1) Open the Dynamic outline.
2) Expand Scenario to view all members.
3) Select Act vs Fcst .
4) Click Two-Pass Calculation .
5) Click Save .
6) Right-click the Dynamic database and select Execute calculation .
The Execute Database Calculation dialog box is displayed.
7) Select (Default) .
8) Click OK .
9) Return to the Aggressive.xls workbook.
10) Select the Dynamic spreadsheet.
11) Select Essbase > Retrieve .
25936855.doc

Confidential
Adaequare, Inc

Page 122 of 132122

12) Select the Comparison spreadsheet.


All values are now zero with the
exception of Other CGS
and
Balance Sheet, which is correct.

Solution #2 - Making Scenario a Dense


Dimension
In this solution, you change the
Scenario dimension from sparse to
dense.
1) Open the Dynamic outline.
2) Select Properties

3) Scroll down to the dimension storage types and, next to Scenario, click Sparse .
4) From the drop-down list, select

Dense .

5) Click Verify .
6) Click Save .
The Restructure Database dialog box is

displayed.

7) Select All data .


8) Click OK .
9) Right-click the Dynamic database and select Execute calculation .
The Execute Database Calculation dialog box is displayed.
10) Select (Default) .
11) Click OK .
12) Return to the Aggressive.xls workbook.
13) Select the dynamic spreadsheet.
25936855.doc

Confidential
Adaequare, Inc

Page 123 of 132123

14) Select Essbase > Retrieve .


15) Select the comparison spreadsheet.
All values are now zero with the exception of Other CGS and Balance Sheet, which is
correct.

Module 5
Exercise - Manipulating Data with Calculation Scripts
Copying data from one scenario to another is often a handy way to quickly populate a
scenario with useful data that may then be manipulated as necessary. In the first part of
this exercise, you create a budget by copying prior year Actual data into the Budget
scenario and then modifying it. In the second part, you populate a Rolling Forecast
scenario with a combination of Current Year (Actuals) and Budget data.
Loading and Calculating Data
1) In the Administration Console, right-click the
Sales database
and select Clear > All data .
The Confirm Database Clear dialog box is displayed.
2) Click Ye s .
3) Right-click the Sales database and select Load data .
The Data Load dialog box is displayed.
4) Load Actual.txt and Forecast.txt to Sales using the loadcorp.rul rules file (all
located in the BCI\CalcIt\AdvancedCalcs directory).
5) Right-click the Sales database and select Execute calculation .
The Execute Database Calculation dialog box is displayed.
6) Select CalcAll .
7) Click OK .
Reviewing the Workbook
1) Open Calculations.xls (found in the
BCI\CalcIt\AdvancedCalcs directory).
2) Select the Datacopy spreadsheet.
3) Log on to the Bigcorp application and
25936855.doc

Confidential
Adaequare, Inc

Page 124 of 132124

Sales database.
4) Select Essbase > Retrieve .

Creating a Budget from Prior Year Actual Data


1) On the Enterprise View, select Bigcorp > Sales > Calculation Scripts .
2) Right-click Calculation Scripts.
3)
Select
Create
calculation script.
The Calculation Script Editor is displayed.
4) Type the following formula:
/*copy actuals from the previous year to budget for the current year and
increase it by 10%*/
DATACOPY Prior Year TO Budget;
Budget = Budget*1.1;
5) Click Verify .
Fix any verification errors before continuing.
6) Click Save .
The Save As dialog box is displayed.
7) Save the script to the Sales database as

BudcopyA .

8) Select File > Close .


9) Right-click the Sales database and select Execute calculation .
The Execute Database Calculation dialog box is displayed.
10) Select budcopyA .
11) Click OK .
Viewing the Result
1) In the calculations.xls workbook on the Datacopy worksheet,
select Essbase > Retrieve .
2) To test and verify some of the budget figures, multiply the
Yea r value times 110% ( 1.1 ).
25936855.doc

Confidential
Adaequare, Inc

Prior
Page 125 of 132125

Updating Substitution Variables


1) On the Administration Console, select
<server name> > Variables .

Essbase Analytic Servers >

2) Right-click Vari abl es and select Edit variables .


The Substitution Variables page is displayed.
3) Change the value of the CurrentMonth variable to May .
4) Click Set .
5) Change the value of the

PriorMonth variable to Apr .

6) Click Set .
7) Click Close .
Creating a Rolling Forecast from Actual and Budget Data
1) Open a new calculation script.
The
Calc
Script
Editor is displayed.
2)

Enter

the

following formula:

/*this is a generic calc to copy all data prior to the current month from
actuals for current year to rolling forecast followed by a copy of all budget
data for current year and the following months to rolling forecast*/
FIX (Jan:&PriorMonth)
DATACOPY Current Year TO Rolling Forecast;
ENDFIX
FIX (&CurrentMonth:Dec)
DATACOPY Budget TO Rolling Forecast;
ENDFIX
3) Click Save .
The Save As dialog box is displayed.
4) Save the script to the Sales database as

BudcopyB .

5) Select File > Close .


6) Right-click the bigcorp database and select Execute calculation .
The Execute Database Calculation dialog box is displayed.
7) Select BudcopyB .
8) Click OK .
Viewing the Result
25936855.doc

Confidential
Adaequare, Inc

Page 126 of 132126

1) In the calculations.xls workbook on the


select Essbase > Retrieve .

Datacopy spreadsheet,

2) Verify the Rolling Forecast values.

Exercise - Clearing Data


There are various solutions to this exercise. The following
calculation script represents one possible answer:
SET AGGMISSG OFF;
SET UPDATECALC OFF;
/* clear data for Lightbolt 540 s" and all its ancestors - the ancestors are needed
because AGGMISSG is turned off */
FIX (@IALLANCESTORS ("LIGHTBOLT 540 S"))
CLEARDATA "Current Year";
ENDFIX
/* main roll-up */
CALC DIM (Product);
/* back calc */
(
"List Price" = "Gross Sales" / Units;
"Discount %" = Discounts / "Gross Sales";
"Labor/Unit" = "Direct Labor" / Units;
"Matl/Unit" = Material / Units;
"Overhead Rate" =Overhead / "Direct Labor";
)
Exercise - Counting Customers
There are various solutions to this exercise. The following
calculation script represents one possible answer:
SET UPDATECALC OFF;
/* this the first part: count the number of customers who bought a given product */
"Customer Count" = @count(SKIPMISSING, @RANGE (Units, @LEVMBRS
25936855.doc

Confidential
Adaequare, Inc

Page 127 of 132127

(Customer, 0)));
Extra Credit
Units
(
IF (Units <> #Missing AND @ISLEV (Customer, 0))
"Customer Count" = 1;
ELSE /* set the customer count to missing when units are missing */
"Customer Count" = #Missing;
ENDIF
)
CALC ALL;
Exercise - Allocating Data
Clearing All Data
For testing purposes, you need a separate calculation script called
ClearAll that clears all data from the database. The solution is as
follows:
CLEARBLOCK ALL;
Building an Allocation Script
There are numerous ways to write this calculation script. The
following example represents one possible solution:
/*HOUSEKEEPING.*/
/*Turn intelligent calc off because of multiple passes on blocks.
Set aggregate missing on to enhance performance. No upper level inputs to
protect.
Declare allocation variables.*/
SET UPDATECALC OFF;
SET AGGMISSG ON;
VAR AllocUnits;
VAR AllocSales;
/*THE BASELINE FIX.*/
FIX (Budget)
/*THE NORMALIZATION.*/
/*Push down rates loaded at upper levels.*/
"List Price" = @PARENTVAL (Customer, "List Price");
25936855.doc

Confidential
Adaequare, Inc

Page 128 of 132128

"Discount %" = "Discount %"->"Family Total";


"Labor/Unit" = "Labor/Unit"->"Channel Total";
"Matl/Unit" = "Matl/Unit"->"Channel Total";
"Overhead Rate" = @MDANCESTVAL (2, Product, 3, Customer, 2, "Overhead
Rate");
/*Focused rollup for allocation of Other Expenses: calculate Net Sales, then sum
Units
and Net Sales across Product and Customer dimensions for members used as
the
allocation base.*/
@IDESCENDANTS ("Net Sales");
FIX ("Net Sales", Units)
@IDESCENDANTS ("Family Total");
@IDESCENDANTS ("Channel Total");
ENDFIX
/*Allocate Other Expenses to zero level using a variablized allocation ratio.
Focus calculations using Fix to zero level members for Customers and
Products.*/
FIX (@LEVMBRS (Customer, 0), @LEVMBRS (Product, 0))
Units
(
AllocUnits = Units / Units->"Family Total"->"Channel Total";
AllocSales = "Net Sales" / "Net Sales"->"Family Total"->"Channel Total";
"Material Variances" = "Material Variances"->"Family Total"->"Channel Total"
* AllocUnits;
"Labor Variances" = "Labor Variances"->"Family Total"->"Channel Total"
* AllocUnits;
"Overhead Variances" = "Overhead Variances"->"Family Total"->"Channel Total"
* AllocUnits;
"Obsolete Charges" = "Obsolete Charges"->"Family Total"->"Channel Total"
* AllocSales;
"Inventory Adjustments" = "Inventory Adjustments"->"Family Total"->"Channel
Total"
* AllocSales;
)
ENDFIX
/*THE MAIN ROLLUP.*/
CALC DIM (Accounts, "Year Tot", Customer, Product);
/*THE BACK CALC.*/
25936855.doc

Confidential
Adaequare, Inc

Page 129 of 132129

/*Recalculate upper level rates and percentages.*/


(
"List Price" = "Gross Sales" / Units;
"Discount %" = Discounts / "Gross Sales";
"Labor/Unit" = "Direct Labor" / Units;
"Matl/Unit" = Material / Units;
"Overhead Rate" =Overhead / "Direct Labor";
"Gross Margin %" = "Gross Margin" / "Net Sales";
)
/*Close out the budget baseline fix.*/
ENDFIX

Exercise - (Optional) Advanced Allocations


There are various solutions to this exercise. The following
calculation script represents one possible answer.
Material Variances
Set updatecalc off;
"Material Variances"=@MDANCESTVAL(2,Product,2, Cus tomer,2,"Material
Variances") *
(units/@MDANCESTVAL(2,Product,2,Customer,2,Units));
/* the @MDANCESTVAL could have been written w/ cross dims
="Family Total"->"Channel Total"->"Material Variances" * (units/"Family Total">"Channel Total"->units); */
Labor Variances
set updatecalc off;
FIX( @children("Family Total"))
"Labor Variances"="Labor Variances"->"Family Total"->"Channel Total"/
@count(SKIPMISSING,@Range(units,@Children("Family Total")));
Endfix
This could have also been written w/ the Currmbr which makes it
more reusable in the next exercises:
FIX( @children("Family Total"))
"Labor Variances"="Labor Variances"->"Family Total"->"Channel Total"/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr("Product"))));
Endfix
25936855.doc

Confidential
Adaequare, Inc

Page 130 of 132130

Overhead Variances
/* straight allocation combined with a ratio allocation */
set updatecalc off;
FIX( @children("Family Total"))
"Overhead Variances"="Overhead Variances"->"Family Total"->"Channel Total"/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
Endfix
/* note that the 0 in the fix is to focus on level 0 descendants of family total*/
FIX(@descendants("Family Total",0))
"Overhead Variances"=@MDANCESTVAL(2,Product,3,Customer,2,"Overhead
Variances")*(units/@MDANCESTVAL(2,Product,3,Customer,2,Units));
endfix
Extra Credit
FIX( @children("Family Total"))
"Obsolete Charges"="Obsolete Charges"->"Family Total"->"Channel Total"/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
Endfix
FIX(@children(Performance))
"Obsolete Charges"="Obsolete Charges"->Performance->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix
FIX(@children(Value))
"Obsolete Charges"="Obsolete Charges"->Value->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix
FIX(@children(LIGHTBOLT))
"Obsolete Charges"="Obsolete Charges"->Lightbolt->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix
FIX(@children(THUNDERBALL))
"Obsolete Charges"="Obsolete Charges"->Thunderball->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix
FIX(@children(ROADRANGER))
"Obsolete Charges"="Obsolete Charges"->Roadranger->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix
FIX(@children(MAVRIDER))
"Obsolete Charges"="Obsolete Charges"->Mavrider->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
25936855.doc

Confidential
Adaequare, Inc

Page 131 of 132131

endfix
FIX(@children(FIREBRAND))
"Obsolete Charges"="Obsolete Charges"->Firebrand->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix
A cleaner Solution under Solution 2:
FIX(@children("Family Total"))
"Obsolete Charges"="Obsolete Charges"->"Family Total"->"Channel Total"/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
Endfix
FIX(@children(Performance),@children(Value))
"Obsolete Charges"=@mdancestval(2,product,3,customer,2,"Obsolete
Charges")/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix
FIX(@GENMBRS (Product, 5))
"Obsolete Charges"=@mdancestval(2,product,4,customer,2,"Obsolete Charges")/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix\

25936855.doc

Confidential
Adaequare, Inc

Page 132 of 132132