0% found this document useful (0 votes)
2K views

Essbase Lab Guide-I For

Uploaded by

api-26942036
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views

Essbase Lab Guide-I For

Uploaded by

api-26942036
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 148

Essbase Lab Guide-I

For

<< Customer Name >>

Prepared By
Sushuma P

15th September 2008

25936855.doc Confidential Page 1 of 148


© Adaequare, Inc
Revision and Signoff Sheet

Change Record

Author Version Change reference Date


Sushuma P 0.1 Initial draft for review/discussion 15th Sep 2008

Reviewers

Name Version Comments Date


approved
Neeraj Soni 0.1

25936855.doc Confidential Page 2 of 148 2


© Adaequare, Inc
TABLE OF CONTENTS
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............................................................18
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.................................................................................................27
EXERCISE - MANAGING DISPLAY OPTIONS...............................................................................................28
EXERCISE - SELECTING MEMBERS FROM THE OUTLINE............................................................................29
EXERCISE - DESIGNING QUERIES...............................................................................................................30
EXERCISE - (OPTIONAL) REPLICATING REPORTS WITH CASCADE.............................................................31
EXERCISE - SPREADSHEET FORMULAS.......................................................................................................34

MODULE 4.................................................................................................................................37
CREATING BASIC CALCULATIONS...................................................................................37
Exercise - Examining the Anatomy of a Rollup.......................................................................................37
Exercise - Adding a Back Calculation.....................................................................................................41

25936855.doc Confidential Page 3 of 148 3


© Adaequare, Inc
Exercise - Focusing with FIX...................................................................................................................42
Exercise - Focusing with IF.....................................................................................................................42
Exercise - Creating Mix Calculations......................................................................................................43
Exercise - Calculating a Moving Average...............................................................................................43
Exercise - Managing Calculation Script Maintenance............................................................................44
Exercise - Optimizing Block Size with Aggressive Dynamic Calculation................................................44
MODULE 5.................................................................................................................................45
DESIGNING AND OPTIMIZING THE ADVANCED CALCULATION SCRIPTS...........45
Exercise - Manipulating Data with Calculation Scripts..........................................................................45
Exercise - Clearing Data.........................................................................................................................46
Exercise - Counting Customers................................................................................................................46
Exercise - Allocating Data.......................................................................................................................47
Exercise - (Optional) Advanced Allocations............................................................................................48
EXERCISE SOLUTION............................................................................................................49
MODULE 1..................................................................................................................................................49
EXERCISE - BUILDING A SCENARIO DIMENSION........................................................................................49
EXERCISE - CREATING THE ACCOUNTS DIMENSION..................................................................................52
EXERCISE - LOADING THE FAMILY TOTAL HIERARCHY............................................................................56
EXERCISE - (OPTIONAL) USING THE LEVEL BUILD METHOD....................................................................62
EXERCISE - CREATING A PARENT-CHILD LOAD RULE..............................................................................65
EXERCISE - LOADING DIMENSIONS USING A PARENT-CHILD RULE..........................................................67
EXERCISE - (OPTIONAL) CLOROX MINTY..................................................................................................68
EXERCISE - LOADING A CHANNELS HIERARCHY TO CUSTOMER...............................................................73
EXERCISE - CREATING A REGION TOTAL ATTRIBUTE DIMENSION............................................................78
EXERCISE - (OPTIONAL) BUILDING THE CAPACITY TOTAL ATTRIBUTE....................................................83
EXERCISE - CHANGING TRANSPARENT PARTITION VALUES AND STRUCTURE..........................................86
EXERCISE - LOADING DATA.......................................................................................................................89
MODULE 3................................................................................................................................................100
EXERCISE - SPREADSHEET REPORTING CHALLENGE 1: FORMATS...........................................................100
EXERCISE - TROUBLESHOOTING REPORTS...............................................................................................102
EXERCISE - SELECTING MEMBERS FROM THE OUTLINE..........................................................................103
EXERCISE - DESIGNING QUERIES.............................................................................................................107
MODULE 4................................................................................................................................................113
EXERCISE - ADDING A BACK CALCULATION...........................................................................................113
EXERCISE - FOCUSING WITH FIX.............................................................................................................114
EXERCISE - FOCUSING WITH IF................................................................................................................115
EXERCISE - CREATING MIX CALCULATIONS...........................................................................................116
EXERCISE - CALCULATING A MOVING AVERAGE....................................................................................116
EXERCISE - OPTIMIZING BLOCK SIZE WITH AGGRESSIVE DYNAMIC CALCULATION..............................117

SOLUTIONS.............................................................................................................................120

25936855.doc Confidential Page 4 of 148 4


© Adaequare, Inc
SOLUTION #1 - SETTING TWO-PASS CALCULATIONS..............................................................................120
SOLUTION #2 - MAKING SCENARIO A DENSE DIMENSION......................................................................121
MODULE 5................................................................................................................................................122
EXERCISE - MANIPULATING DATA WITH CALCULATION SCRIPTS...........................................................122
EXERCISE - CLEARING DATA...................................................................................................................125
EXERCISE - COUNTING CUSTOMERS........................................................................................................125
EXERCISE - ALLOCATING DATA..............................................................................................................126
EXERCISE - (OPTIONAL) ADVANCED ALLOCATIONS...............................................................................128

25936855.doc Confidential Page 5 of 148 5


© Adaequare, Inc
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 File > New > Database.

25936855.doc Confidential Page 6 of 148 6


© Adaequare, Inc
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 Bigcorp.

10) In the Database name text box, type Sales.

11) In the Database type section, select Normal.

12) Click OK.


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

25936855.doc Confidential Page 7 of 148 7


© Adaequare, Inc
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 2, Quarter 3, and
Quarter 4.

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

25936855.doc Confidential Page 8 of 148 8


© Adaequare, Inc
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 Page 9 of 148 9


© Adaequare, Inc
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 Page 10 of 14810


© Adaequare, Inc
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 Notes

Act Vs Bud Current Year


Budget Set children as shared members.
Change the consolidation
operator of Current Year to Addition (+)
and Budget to Subtraction (-).

Act Vs Fcst None Add the following member


formula:
“Current Year” - “Forecast”;

Bud Vs Fcst None 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 Page 11 of 14811


© Adaequare, Inc
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 Page 12 of 14812


© Adaequare, Inc
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 Member Properties

Inventory ~ Set as Time Balance


Last (under Account information).

Accounts Receivable ~ 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 Page 13 of 14813


© Adaequare, Inc
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 true.

25936855.doc Confidential Page 14 of 14814


© Adaequare, Inc
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 Page 15 of 14815


© Adaequare, Inc
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 Page 16 of 14816


© Adaequare, Inc
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 Page 17 of 14817


© Adaequare, Inc
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 Page 18 of 14818


© Adaequare, Inc
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.

25936855.doc Confidential Page 19 of 14819


© Adaequare, Inc
3) Add any missing dimensions to the data file header.

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
25936855.doc Confidential Page 20 of 14820
© Adaequare, Inc
your database to rebuild the outline and reload the data.

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 Sandbox worksheet.

2) Establish a connection to the 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 .

25936855.doc Confidential Page 21 of 14821


© Adaequare, Inc
2) Clear the check mark next to Hyperion Essbase OLAP Server DLL .

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 Double-
Clicking 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.

25936855.doc Confidential Page 22 of 14822


© Adaequare, Inc
4) Select the Limit to Connected Sheets option and then click OK .

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.


25936855.doc Confidential Page 23 of 14823
© Adaequare, Inc
4) Select Essbase > Retrieve.

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).

25936855.doc Confidential Page 24 of 14824


© Adaequare, Inc
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
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 Options
Zoom in Essbase > Zoom In
Double-click member name
Zoom In toolbar button

Zoom out Essbase > Zoom Out


Double right-click member name
Zoom Out toolbar button

Header dimension Zoom In on a header dimension


zoom—reposition
on rows

Header dimension Alt+double-click a header dimension


zoom—reposition
on columns

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


25936855.doc Confidential Page 25 of 14825
© Adaequare, Inc
Keep only toolbar button.

Remove Only Essbase> Remove Only


Remove only toolbar button

Pivot rows to columns Essbase>Pivot


/column to rows Right click and drag.

In-axis pivot-change the Right click and drag


Order of nested columns and rows
Dimensions.

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

25936855.doc Confidential Page 26 of 14826


© Adaequare, Inc
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 .

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 company’s 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

25936855.doc Confidential Page 27 of 14827


© Adaequare, Inc
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
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

25936855.doc Confidential Page 28 of 14828


© Adaequare, Inc
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:

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:

25936855.doc Confidential Page 29 of 14829


© Adaequare, Inc
 Create a linked reporting object.
 Replace Year Tot with YTD

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 Dimension Members

Report Header Current Year, IBM, Units


Column Headers Jan through Apr, Y-T-D(Apr)
Row Headers Config A LIGHTBOLT and MAVRIDER products (level
0 only)

The finished report should look as follows:

25936855.doc Confidential Page 30 of 14830


© Adaequare, Inc
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
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 Dimension Members

Header Current Year, Units.


Dimensions

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


Dimensions

Row Dimensions OEM and children, all level 0 products (suppress


shared members).

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.
.

The finished report should look as follows:

25936855.doc Confidential Page 31 of 14831


© Adaequare, Inc
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 Page 32 of 14832


© Adaequare, Inc
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 .
• For Suffix, type Cust .
• For Workbook Name, type OEMRpt .

10) Select the Format Options tab.

25936855.doc Confidential Page 33 of 14833


© Adaequare, Inc
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

25936855.doc Confidential Page 34 of 14834


© Adaequare, Inc
1) Start Notepad (or any other text editor).

2) Select File > Open .

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 .

25936855.doc Confidential Page 35 of 14835


© Adaequare, Inc
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

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.

25936855.doc Confidential Page 36 of 14836


© Adaequare, Inc
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 .


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 Page 37 of 14837


© Adaequare, Inc
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 .

25936855.doc Confidential Page 38 of 14838


© Adaequare, Inc
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.

5) In the Calculation Script Editor, modify SET UPDATECALC to OFF; (be sure
to include the semicolon).

Calculating the Accounts Dimension


1) On the Categorical tab, select the Functional category and double-
click 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

25936855.doc Confidential Page 39 of 14839


© Adaequare, Inc
member

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 .

25936855.doc Confidential Page 40 of 14840


© Adaequare, Inc
5) Select Essbase > Calculation .

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.

25936855.doc Confidential Page 41 of 14841


© Adaequare, Inc
2) In the CALC DIM statement, insert Product after Customer.

3) Save the 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 Page 42 of 14842


© Adaequare, Inc
Exercise - Focusing with FIX

25936855.doc Confidential Page 43 of 14843


© Adaequare, Inc
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.

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

25936855.doc Confidential Page 44 of 14844


© Adaequare, Inc
file.

2) In the Sales outline, add a formula to Unit Mix that calculates the current product’s
units divided by the units for its generation 3 ancestor.

3) Add a formula to Sales $ Mix that calculates the current product’s 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

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 node under the server
name.

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

25936855.doc Confidential Page 45 of 14845


© Adaequare, Inc
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.

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.

25936855.doc Confidential Page 46 of 14846


© Adaequare, Inc
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

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

25936855.doc Confidential Page 47 of 14847


© Adaequare, Inc
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


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 ClearAll
that clears all data.

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:

25936855.doc Confidential Page 48 of 14848


© Adaequare, Inc
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.

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.

25936855.doc Confidential Page 49 of 14849


© Adaequare, Inc
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.

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 .

25936855.doc Confidential Page 50 of 14850


© Adaequare, Inc
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.

16) Right-click and select Edit member properties .

17) Change the Consolidation property of the Budget member to


(-) Subtraction .

25936855.doc Confidential Page 51 of 14851


© Adaequare, Inc
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.
25936855.doc Confidential Page 52 of 14852
© Adaequare, Inc
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 ( ; ).

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

10) In the Member Formula dialog box, click OK .

11) In the Member Properties dialog box, click OK .

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


Forecast .

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.

25936855.doc Confidential Page 53 of 14853


© Adaequare, Inc
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 .

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 .

25936855.doc Confidential Page 54 of 14854


© Adaequare, Inc
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.

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.
25936855.doc Confidential Page 55 of 14855
© Adaequare, Inc
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.

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

Creating Additional Members Through Gross Margin %

25936855.doc Confidential Page 56 of 14856


© Adaequare, Inc
1) Analyze parent-child relationships in the Gross Margin Analysis worksheet
(Corpacct.xls).

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 Units and Labor/Unit .

7) Add children to Material named Units and Matl/Unit .

8) Add children to Overhead named Direct Labor and Overhead Rate .


Your outline should look similar to the following sample:

Units Set the Data Storage property to Shared Member.


9) Examine all members in the Accounts dimension and look for data storage problems.

25936855.doc Confidential Page 57 of 14857


© Adaequare, Inc
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 Member Property Settings


Accounts Set the Data Storage property to
Label Only.

Gross Margin Set the Consolidation property to


ignore (~).
Gross Margin Set the Consolidation property to
% ignore (~).
Gross
Margin

Cost Of Sales Set the Consolidation property to


subtraction (-).
Other CGS Set the Consolidation property to
subtraction (-).
Direct
Labor
Units Set the Data Storage property to
Shared Member.
Labor/Unit Set the Consolidation property to
Multiplication (*).
Material
Units Set the Data Storage property
to Shared member
Matl/Unit Set the Consolidation property
to multiplication (*).
Overhead
Direct Labor Set the Data Storage property to
Shared Member.
Overhead Set the Consolidation property to
Rate 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 Page 58 of 14858


© Adaequare, Inc
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

25936855.doc Confidential Page 59 of 14859


© Adaequare, Inc
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

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.

25936855.doc Confidential Page 60 of 14860


© Adaequare, Inc
3) Open the LoadRule/FamGen.xls file.

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.

25936855.doc Confidential Page 61 of 14861


© Adaequare, Inc
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 Dimension Definition tab.

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 Page 62 of 14862


© Adaequare, Inc
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.

25936855.doc Confidential Page 63 of 14863


© Adaequare, Inc
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.

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 # Field Type Generation Dimension


3 Generation 3 Product
4 Generation 4 Product
5 Generation 5 Product
6 Alias 5 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.

25936855.doc Confidential Page 64 of 14864


© Adaequare, Inc
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


database.

The file type RUL is automatically set up by Essbase.

25936855.doc Confidential Page 65 of 14865


© Adaequare, Inc
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.

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:

25936855.doc Confidential Page 66 of 14866


© Adaequare, Inc
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 .

2) Click File System .

3) Select Fam_Lev.rul (in the BCI\LoadRule directory) and click OK .

25936855.doc Confidential Page 67 of 14867


© Adaequare, Inc
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 Page 68 of 14868


© Adaequare, Inc
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 tab, select the Fam_Lev.rul file from the
BCI\LoadRule directory.

5) Note the location of the dimbuild.err file directory. Review this file if errors
occur during the loading process.

25936855.doc Confidential Page 69 of 14869


© Adaequare, Inc
6) Click OK.
If the load fails, open the error file, make corrections, and then try again.

7) Expand the Product dimension.


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 .

25936855.doc Confidential Page 70 of 14870


© Adaequare, Inc
2) Select the Dimension Build Proper ties tab.

3) From Field Type , double-click Parent .

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.

25936855.doc Confidential Page 71 of 14871


© Adaequare, Inc
5) Select File > Close to close the Data Prep Editor.

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 and select the ConfigPC.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

25936855.doc Confidential Page 72 of 14872


© Adaequare, Inc
Updating the Outline
1) In the Sales outline, select Outline > Update Outline .

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 .

25936855.doc Confidential Page 73 of 14873


© Adaequare, Inc
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.

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).

25936855.doc Confidential Page 74 of 14874


© Adaequare, Inc
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 .

25936855.doc Confidential Page 75 of 14875


© Adaequare, Inc
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.

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.

25936855.doc Confidential Page 76 of 14876


© Adaequare, Inc
3) Select the Fields 3 through 7 and then select Field > Join .

4) Click OK .

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:

25936855.doc Confidential Page 77 of 14877


© Adaequare, Inc
• 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.

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.
25936855.doc Confidential Page 78 of 14878
© Adaequare, Inc
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.

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

25936855.doc Confidential Page 79 of 14879


© Adaequare, Inc
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 Page 80 of 14880


© Adaequare, Inc
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
1) Select a member of Field 1 and then select Field > Properties .

25936855.doc Confidential Page 81 of 14881


© Adaequare, Inc
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 .

25936855.doc Confidential Page 82 of 14882


© Adaequare, Inc
A new Field 3 is inserted.

14) Select Field 2 and then select Field > Properties .

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.

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

25936855.doc Confidential Page 83 of 14883


© Adaequare, Inc
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.

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 .

25936855.doc Confidential Page 84 of 14884


© Adaequare, Inc
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 and select the CusChan.xls file located in the
BCI\LoadRule directory.

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.

25936855.doc Confidential Page 85 of 14885


© Adaequare, Inc
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.

25936855.doc Confidential Page 86 of 14886


© Adaequare, Inc
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 .

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.

25936855.doc Confidential Page 87 of 14887


© Adaequare, Inc
10) Compare your outline to the dimensions shown in the following sample

11) Save the Sales outline.

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

25936855.doc Confidential Page 88 of 14888


© Adaequare, Inc
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 .

5) Click OK .
You return to the Data Prep Editor.

25936855.doc Confidential Page 89 of 14889


© Adaequare, Inc
Performing Field Edits
1) Select Field 2 and select Record > Reject .

2) Set the Type to String .

3) In the String/Number text box, type Region Total .

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 .

25936855.doc Confidential Page 90 of 14890


© Adaequare, Inc
8) In the Dimension section, double-click Customer .

9) In the Field Type section, select Region Total (located under Attribute
dimensions).

10) In the Number text box, type 0 .

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 .

25936855.doc Confidential Page 91 of 14891


© Adaequare, Inc
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 Page 92 of 14892


© Adaequare, Inc
This load rule assigns

regions to respective
customers

8) Verify and save the Sales outline.

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 .

25936855.doc Confidential Page 93 of 14893


© Adaequare, Inc
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.

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.

25936855.doc Confidential Page 94 of 14894


© Adaequare, Inc
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.

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.

25936855.doc Confidential Page 95 of 14895


© Adaequare, Inc
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


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 Field > Move .
The Move Field Dialog is displayed.

25936855.doc Confidential Page 96 of 14896


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

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

25936855.doc Confidential Page 97 of 14897


© Adaequare, Inc
You may need to expand the Attribute dimensions list for Field 4 to find and double-

click 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 .

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 .

25936855.doc Confidential Page 98 of 14898


© Adaequare, Inc
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 Page 99 of 14899


© Adaequare, Inc
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 Page 100 of 148


100
© Adaequare, Inc
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.

25936855.doc Confidential Page 101 of 148


101
© Adaequare, Inc
10) Click Next until Field 5 is the selected field.

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 Page 102 of 148


102
© Adaequare, Inc
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.

25936855.doc Confidential Page 103 of 148


103
© Adaequare, Inc
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.

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.

25936855.doc Confidential Page 104 of 148


104
© Adaequare, Inc
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 Page 105 of 148


105
© Adaequare, Inc
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 .

25936855.doc Confidential Page 106 of 148


106
© Adaequare, Inc
4) Highlight the Customer field and select Field > Properties .

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 .


25936855.doc Confidential Page 107 of 148
107
© Adaequare, Inc
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.
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 Ignore field during data
load .

4) Click OK .

5) On the View menu, clear the Ignored Fields check box.


The ignored fields are removed from the Data Prep Editor.

25936855.doc Confidential Page 108 of 148


108
© Adaequare, Inc
6) Set the data load properties of the remaining fields as follows:

Field Field Name

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”


25936855.doc Confidential Page 109 of 148
109
© Adaequare, Inc
7) Validate your load rule and correct any errors listed.

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.

25936855.doc Confidential Page 110 of 148


110
© Adaequare, Inc
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 Page 111 of 148


111
© Adaequare, Inc
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.
25936855.doc Confidential Page 112 of 148
112
© Adaequare, Inc
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 .

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.

25936855.doc Confidential Page 113 of 148


113
© Adaequare, Inc
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.

Tab Name Diagnosis Resolution


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

Labels 2 The customer name (IBM) is Since no customer is


misspelled. recognized, Essbase adds
25936855.doc Confidential Page 114 of 148
114
© Adaequare, Inc
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 Remove the Accounts


member is on the same row member, or move all accounts
as the Performance / Value down one cell.
column dimension members.

Labels 4 The product column headers Move the Performance label


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

Labels 5 The header dimensions are The retrieval works as is.


stacked on multiple rows.

Labels 6 The row dimension The retrieval works as is.


(Accounts) is listed in
between columns of data.

Labels 7 There are two customers in Remove one customer or


the header row. reposition customers as a
column or row header.

Labels 8 There are two complete Remove one retrieval area or


retrieval areas in the report. 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.

1) Select the Member Selection worksheet.

2) Select Essbase > Retrieve .

25936855.doc Confidential Page 115 of 148


115
© Adaequare, Inc
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 .


25936855.doc Confidential Page 116 of 148
116
© Adaequare, Inc
12) Click Add .
Units moves under Rules.

13) Click OK .

14) Select Scenario .

15) Select Essbase > Member Selection .

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

25936855.doc Confidential Page 117 of 148


117
© Adaequare, Inc
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 .

30) Click Add .


Y-T-D moves under Rules.

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

25936855.doc Confidential Page 118 of 148


118
© Adaequare, Inc
32) Select Apr from the list and click OK

33) Under Output Options , clear the Place Down the Sheet option.

34) Click OK .
The 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.

25936855.doc Confidential Page 119 of 148


119
© Adaequare, Inc
37) In the Members section, 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* .

25936855.doc Confidential Page 120 of 148


120
© Adaequare, Inc
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.

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
25936855.doc Confidential Page 121 of 148
121
© Adaequare, Inc
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 Current Year, Units


Dimensions

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


Dimensions

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

25936855.doc Confidential Page 122 of 148


122
© Adaequare, Inc
2) Right-click the Query Designer worksheet.

3) Select New > Query .

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

25936855.doc Confidential Page 123 of 148


123
© Adaequare, Inc
Selecting Members
1) Double-click the Accounts dimension (in either the layout panel or the navigation
panel).

2) 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 .

25936855.doc Confidential Page 124 of 148


124
© Adaequare, Inc
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 right-
clicking to select children.

11) Right-click in the Members box and select View by > Dynamic Time series

25936855.doc Confidential Page 125 of 148


125
© Adaequare, Inc
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 .

25936855.doc Confidential Page 126 of 148


126
© Adaequare, Inc
17) Double-click Lev0,Product .

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

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-T-D(Apr) . As you make your selections, the filter is built
in the navigation panel

Sorting Data
1) In the navigation panel, select Data Sorting .

25936855.doc Confidential Page 127 of 148


127
© Adaequare, Inc
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.

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 .


25936855.doc Confidential Page 128 of 148
128
© Adaequare, Inc
3) In the Query Name text box, type OEMProd .

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

25936855.doc Confidential Page 129 of 148


129
© Adaequare, Inc
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 Page 130 of 148


130
© Adaequare, Inc
Exercise - Focusing with FIX

One possible solution to this exercise is a calculation script that


reads as follows:

/* Housekeeping */
25936855.doc Confidential Page 131 of 148
131
© Adaequare, Inc
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
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;

25936855.doc Confidential Page 132 of 148


132
© Adaequare, Inc
/*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);
"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 tab in the
Anatomy.xls file.

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

25936855.doc Confidential Page 133 of 148


133
© Adaequare, Inc
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;

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.

25936855.doc Confidential Page 134 of 148


134
© Adaequare, Inc
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.

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.

25936855.doc Confidential Page 135 of 148


135
© Adaequare, Inc
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.

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 .

25936855.doc Confidential Page 136 of 148


136
© Adaequare, Inc
8) Copy the formula to all cells for rows 3 through 25 and columns
B , C , and D .

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.

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 .

25936855.doc Confidential Page 137 of 148


137
© Adaequare, Inc
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 .

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 .

25936855.doc Confidential Page 138 of 148


138
© Adaequare, Inc
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.

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

25936855.doc Confidential Page 139 of 148


139
© Adaequare, Inc
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 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.

25936855.doc Confidential Page 140 of 148


140
© Adaequare, Inc
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 Prior
Yea r value times 110% ( 1.1 ).
Updating Substitution Variables
1) On the Administration Console, select Essbase Analytic Servers >
<server name> > Variables .

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 .

25936855.doc Confidential Page 141 of 148


141
© Adaequare, Inc
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
1) In the calculations.xls workbook on the Datacopy spreadsheet,
select Essbase > Retrieve .

2) Verify the Rolling Forecast values.

25936855.doc Confidential Page 142 of 148


142
© Adaequare, Inc
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
(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 */

25936855.doc Confidential Page 143 of 148


143
© Adaequare, Inc
"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");


"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

25936855.doc Confidential Page 144 of 148


144
© Adaequare, Inc
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.*/

/*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";

25936855.doc Confidential Page 145 of 148


145
© Adaequare, Inc
"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
Overhead Variances

/* straight allocation combined with a ratio allocation */

set updatecalc off;

FIX( @children("Family Total"))


"Overhead Variances"="Overhead Variances"->"Family Total"->"Channel Total"/

25936855.doc Confidential Page 146 of 148


146
© Adaequare, Inc
@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))));
endfix
FIX(@children(FIREBRAND))
"Obsolete Charges"="Obsolete Charges"->Firebrand->Customer/
@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));
endfix

A cleaner Solution under Solution 2:

25936855.doc Confidential Page 147 of 148


147
© Adaequare, Inc
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 Page 148 of 148


148
© Adaequare, Inc

You might also like