Essbase_Student_Lab_1

190
Essbase Lab Guide-I For << Customer Name >> Prepared By Sushuma P 15 th September 2008 document.doc Confidential Page 1 of 190 © Adaequare, Inc

Transcript of Essbase_Student_Lab_1

Page 1: Essbase_Student_Lab_1

Essbase Lab Guide-I

For

<< Customer Name >>

Prepared BySushuma P

15th September 2008

document.doc Confidential Page 1 of 208© Adaequare, Inc

Page 2: Essbase_Student_Lab_1

Revision and Signoff Sheet

Change Record

Author Version Change reference DateSushuma P 0.1 Initial draft for review/discussion 15th Sep 2008

Reviewers

Name Version approved

Comments Date

Neeraj Soni 0.1

document.doc Confidential Page 2 of 208© Adaequare, Inc

2

Page 3: Essbase_Student_Lab_1

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........................................................................................37Exercise - Adding a Back Calculation......................................................................................................41

document.doc Confidential Page 3 of 208© Adaequare, Inc

3

Page 4: Essbase_Student_Lab_1

Exercise - Focusing with FIX...................................................................................................................42Exercise - Focusing with IF.....................................................................................................................42Exercise - Creating Mix Calculations......................................................................................................43Exercise - Calculating a Moving Average................................................................................................43Exercise - Managing Calculation Script Maintenance............................................................................44Exercise - 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..........................................................................45Exercise - Clearing Data..........................................................................................................................46Exercise - Counting Customers................................................................................................................46Exercise - Allocating Data.......................................................................................................................47Exercise - (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

document.doc Confidential Page 4 of 208© Adaequare, Inc

4

Page 5: Essbase_Student_Lab_1

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

document.doc Confidential Page 5 of 208© Adaequare, Inc

5

Page 6: Essbase_Student_Lab_1

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.

document.doc Confidential Page 6 of 208© Adaequare, Inc

6

Page 7: Essbase_Student_Lab_1

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.

document.doc Confidential Page 7 of 208© Adaequare, Inc

7

Page 8: Essbase_Student_Lab_1

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.

document.doc Confidential Page 8 of 208© Adaequare, Inc

8

Page 9: Essbase_Student_Lab_1

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.

document.doc Confidential Page 9 of 208© Adaequare, Inc

9

Page 10: Essbase_Student_Lab_1

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.

document.doc Confidential Page 10 of 208© Adaequare, Inc

10

Page 11: Essbase_Student_Lab_1

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 YearPrior YearForecastBud getScenario 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.

document.doc Confidential Page 11 of 208© Adaequare, Inc

11

Page 12: Essbase_Student_Lab_1

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.

document.doc Confidential Page 12 of 208© Adaequare, Inc

12

Page 13: Essbase_Student_Lab_1

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

document.doc Confidential Page 13 of 208© Adaequare, Inc

13

Page 14: Essbase_Student_Lab_1

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

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.

document.doc Confidential Page 14 of 208© Adaequare, Inc

14

Page 15: Essbase_Student_Lab_1

15) Under Account information, set the Variance reporting expense property to true.

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.

document.doc Confidential Page 15 of 208© Adaequare, Inc

15

Page 16: Essbase_Student_Lab_1

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.

document.doc Confidential Page 16 of 208© Adaequare, Inc

16

Page 17: Essbase_Student_Lab_1

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

document.doc Confidential Page 17 of 208© Adaequare, Inc

17

Page 18: Essbase_Student_Lab_1

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.

document.doc Confidential Page 18 of 208© Adaequare, Inc

18

Page 19: Essbase_Student_Lab_1

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.

document.doc Confidential Page 19 of 208© Adaequare, Inc

19

Page 20: Essbase_Student_Lab_1

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

document.doc Confidential Page 20 of 208© Adaequare, Inc

20

Page 21: Essbase_Student_Lab_1

If you have not fully completed the exercises in modules 1 and 2, you may want to reset your database to rebuild the outline and reload the data.

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

document.doc Confidential Page 21 of 208© Adaequare, Inc

21

Page 22: Essbase_Student_Lab_1

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.

document.doc Confidential Page 22 of 208© Adaequare, Inc

22

Page 23: Essbase_Student_Lab_1

3) Select the Enable Secondary Button and Enable Double-Clicking options.

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

document.doc Confidential Page 23 of 208© Adaequare, Inc

23

Page 24: Essbase_Student_Lab_1

3) In the Application/Database list, select Bigcorp: Sales and click OK.

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

document.doc Confidential Page 24 of 208© Adaequare, Inc

24

Page 25: Essbase_Student_Lab_1

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 ZoomingThere are many ways to control zoom behavior in the Essbase Spreadsheet Add-in:

Action OptionsZoom 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 dimensionzoom—reposition on rows

Header dimension Alt+double-click a header dimensionzoom—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

document.doc Confidential Page 25 of 208© Adaequare, Inc

25

Page 26: Essbase_Student_Lab_1

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 dragOrder of nested columns and rowsDimensions.

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

document.doc Confidential Page 26 of 208© Adaequare, Inc

26

Page 27: Essbase_Student_Lab_1

Starting from a basic

document.doc Confidential Page 27 of 208© Adaequare, Inc

27

Page 28: Essbase_Student_Lab_1

top-level retrieve, use the skills you have learned up to this point to duplicate this report. Use SSReports.xls worksheet Challenge1.

Exercise - Controlling Expansion

You can customize your Zoom settings in Essbase > Options > Zoom. Clear the Sandbox spreadsheet and perform a top-level retrieval, then try the following:

1) Select Essbase > Options > Zoom .

2) Under Zoom In, select All levels .

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

document.doc Confidential Page 28 of 208© Adaequare, Inc

28

Page 29: Essbase_Student_Lab_1

3) On the Zoom tab, select Within Selected Group ( Essbase > Options ).

4) Zoom in on Family Total for IBM again. How is this different from your results for step 1?

5) Continue to zoom in to find the detail of the individual LIGHTBOLT products purchased by IBM.

Even though you are interested only in LIGHTBOLT data, this option still leaves other branches of the Product dimension in the report and taking up space.

6) Zoom out on PERFORMANCE to return the report to its original state.

7) On the Zoom tab, select Remove Unselected Groups .

8) Zoom in on Family Total for IBM, and continue to zoom in to find the 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

document.doc Confidential Page 29 of 208© Adaequare, Inc

29

Page 30: Essbase_Student_Lab_1

Labels 8

Exercise - Managing Display Options

Essbase gives you many different options for displaying your reports. In this exercise, you take a prebuilt report and change the display options so it matches the finished result.

On the Managing Options tab in the SSReports.xls file, make the necessary changes to display the report as shown in the following sample:

document.doc Confidential Page 30 of 208© Adaequare, Inc

30

Page 31: Essbase_Student_Lab_1

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

Define a style for the Product and Year Tot dimensions. Define a style for Linked Objects .

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

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

In the report, do the following tasks:

Create a linked reporting object. Replace Year Tot with YTD

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

document.doc Confidential Page 31 of 208© Adaequare, Inc

31

Page 32: Essbase_Student_Lab_1

Report Header Current Year, IBM, UnitsColumn 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:

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:

document.doc Confidential Page 32 of 208© Adaequare, Inc

32

Page 33: Essbase_Student_Lab_1

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:

Exercise - (Optional) Replicating Reports with Cascade

Many organizations need to regularly create many similar reports based on a standard

document.doc Confidential Page 33 of 208© Adaequare, Inc

33

Page 34: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 34 of 208© Adaequare, Inc

34

Page 35: Essbase_Student_Lab_1

5) Select the Destination Options tab.

document.doc Confidential Page 35 of 208© Adaequare, Inc

35

Page 36: Essbase_Student_Lab_1

document.doc Confidential Page 36 of 208© Adaequare, Inc

36

Page 37: Essbase_Student_Lab_1

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.

document.doc Confidential Page 37 of 208© Adaequare, Inc

37

Page 38: Essbase_Student_Lab_1

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.

document.doc Confidential Page 38 of 208© Adaequare, Inc

38

Page 39: Essbase_Student_Lab_1

Viewing the Table of Contents1) 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 .

document.doc Confidential Page 39 of 208© Adaequare, Inc

39

Page 40: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 40 of 208© Adaequare, Inc

40

Page 41: Essbase_Student_Lab_1

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 Zooms1) Zoom in on PERFORMANCE .

document.doc Confidential Page 41 of 208© Adaequare, Inc

41

Page 42: Essbase_Student_Lab_1

The formula is not preserved.

2) Select Essbase > Flashback .

3) Select Essbase > Options > Mode.

4) Under Formula Preservation, select Retain on Zooms and click OK .

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

6) Zoom in on PERFORMANCE .

The formula is preserved for Performance, but its children now have no formula.

7) Select Essbase > Flashback .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.

document.doc Confidential Page 42 of 208© Adaequare, Inc

42

Page 43: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 43 of 208© Adaequare, Inc

43

Page 44: Essbase_Student_Lab_1

3) Select Insert arguments .

4) On the Categorical tab, expand the Functional category and double-click SET UPDATECALC .

document.doc Confidential Page 44 of 208© Adaequare, Inc

44

Page 45: Essbase_Student_Lab_1

document.doc Confidential Page 45 of 208© Adaequare, Inc

45

Page 46: Essbase_Student_Lab_1

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 Dimension1) 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 theAccountsmember

document.doc Confidential Page 46 of 208© Adaequare, Inc

46

Page 47: Essbase_Student_Lab_1

.

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

document.doc Confidential Page 47 of 208© Adaequare, Inc

47

Page 48: Essbase_Student_Lab_1

5) Select Essbase > Calculation .

6) Select CalcCorp and click Calculate .

7) Select Essbase > Retrieve and analyze the result.

document.doc Confidential Page 48 of 208© Adaequare, Inc

48

Page 49: Essbase_Student_Lab_1

document.doc Confidential Page 49 of 208© Adaequare, Inc

49

Page 50: Essbase_Student_Lab_1

Calculating the Customer Dimension1) 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 Dimension1) Open the CalcCorp calculation script.

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 resultData is displayed for Accounts and Year Tot for upper-level blocks across the Product dimension. New upper-level Product blocks were created.

document.doc Confidential Page 50 of 208© Adaequare, Inc

50

Page 51: Essbase_Student_Lab_1

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:

document.doc Confidential Page 51 of 208© Adaequare, Inc

51

Page 52: Essbase_Student_Lab_1

document.doc Confidential Page 52 of 208© Adaequare, Inc

52

Page 53: Essbase_Student_Lab_1

Exercise - Focusing with FIX

Modify the following calculation script to fix on:

Current YearJanuary, 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%

document.doc Confidential Page 53 of 208© Adaequare, Inc

53

Page 54: Essbase_Student_Lab_1

decelerator

Extra CreditThe 10% accelerator for Units creates partial units in some months. Modify your script so that units are rounded to the nearest whole number.

Exercise - Creating Mix Calculations

Mix calculations are typically a percent-to-total type of ratio calculation that takes a data value at an given level and figures what percentage it is of a related total. You have been asked to create several mix calculations in the Sales outline.

1) Examine the formulas on the Mix Calculation Required tab in the SSReports.xls file.

2) In the Sales outline, add a formula to Unit Mix that calculates the current 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 CreditWrite 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.

document.doc Confidential Page 54 of 208© Adaequare, Inc

54

Page 55: Essbase_Student_Lab_1

Creating Substitution Variables1) 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 called PriorMonth with a value of Jan .

8) Click Close .

Adding Substitution Variables to Calculation Scripts1) 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).

document.doc Confidential Page 55 of 208© Adaequare, Inc

55

Page 56: Essbase_Student_Lab_1

4) Load Actual.txt and Forecast.txt using Loadcorp.rul (those files are also in the BCI\CalcIt\Dynamic directory).

5) Calculate the Dynamic database.

6) Open Aggressive.xls , and retrieve it into the dynamic spreadsheet.

7) In the comparison spreadsheet, create a formula that subtracts the two spreadsheets and copy it to all data cells. Investigate all nonzero values.

8) Return to the Dynamic database and make any changes required to correct the calculation until the Comparison worksheet in the Agressive.xls workbook indicates that the No Dynamic and Dynamic spreadsheets are in sync.

9) When you are satisfied that the spreadsheets are in sync, return to the database and make a note of the current block statistics.

10) In the dynamic outline, experiment with dynamic calculations and two-pass calculations by setting everything possible to dynamic in a way that still keeps the No Dynamic and Dynamic spreadsheets in sync.

MODULE 5

Designing and optimizing the advanced calculation scripts

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 Begin1) 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 Data4) 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

document.doc Confidential Page 56 of 208© Adaequare, Inc

56

Page 57: Essbase_Student_Lab_1

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 Data1) In the Substitution Variables dialog box, change the value of the CurrentMonth substitution variable to May . 2) Change the value of the PriorMonth substitution variable to Apr . 3) Write a calculation script to copy all data up to the prior month from Current Year to the Rolling Forecast scenario.

4) Populate all current and future months for Rolling Forecast with Bud get data

Exercise - Clearing Data

As the result of a data load, you realize erroneous data was loaded into Lightbolt 540 S . Write a calculation script to correct the problem. Your script should do the following tasks:

Clear data from Lightbolt 540 S and its ancestors for the Current Year

Recalculate the Product dimension.

Use a back calculation to correct rate values.

In your environment, assume that SET AGGMISSG must be turned off.

Exercise - Counting Customers

To do long-range resource planning, your company wants to determine the 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 CreditModify 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

document.doc Confidential Page 57 of 208© Adaequare, Inc

57

Page 58: Essbase_Student_Lab_1

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 ScriptUse this normalization table as a reference:

document.doc Confidential Page 58 of 208© Adaequare, Inc

58

Page 59: Essbase_Student_Lab_1

document.doc Confidential Page 59 of 208© Adaequare, Inc

59

Page 60: Essbase_Student_Lab_1

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.

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.

document.doc Confidential Page 60 of 208© Adaequare, Inc

60

Page 61: Essbase_Student_Lab_1

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

document.doc Confidential Page 61 of 208© Adaequare, Inc

61

Page 62: Essbase_Student_Lab_1

2) Click Add Sibling .

3) Type Scenario in the text box.

4) Press Enter twice.

5) Select Scenario .

document.doc Confidential Page 62 of 208© Adaequare, Inc

62

Page 63: Essbase_Student_Lab_1

6) Click Add Child .

7) Add these children to Scenario: Current Year , Prior Year , Forecast , Budget , and Scenario Variances

8) Select Scenario Variances .

document.doc Confidential Page 63 of 208© Adaequare, Inc

63

Page 64: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 64 of 208© Adaequare, Inc

64

Page 65: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 65 of 208© Adaequare, Inc

65

Page 66: Essbase_Student_Lab_1

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 .

18) Click OK .

Creating Formulas for Act Vs Fcst and Bud Vs Fcst1) Right-click Act Vs Fcst and select Edit member properties .

2) Select the Formula tab.

document.doc Confidential Page 66 of 208© Adaequare, Inc

66

Page 67: Essbase_Student_Lab_1

document.doc Confidential Page 67 of 208© Adaequare, Inc

67

Page 68: Essbase_Student_Lab_1

3) In the Dimensions Essbase Server, expand Scenario .The children of the Scenario dimension are displayed.

4) Double-click Current Year .Current Year is displayed in the formula window.

5) Expand the Operators list.

6) Double-click the minus sign ( - ).The minus sign ( - ) is displayed in the formula window.

7) In the Members Essbase Server, double-click Forecast .Forecast is displayed in the formula window.

8) Position the cursor and the end of the formula and type a semicolon ( ; ).

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

document.doc Confidential Page 68 of 208© Adaequare, Inc

68

Page 69: Essbase_Student_Lab_1

Setting Data Storage to Label Only1) Select Scenario .

2) Right-click and select Edit member properties .The Member Properties dialog box is displayed.

3) Set the Data Storage property for the Scenario dimension to Label Only .

Label Only is used for outline members that are a label and whose value has no meaning to the data. When marked Label Only, the member is not included in the data block structure of the database.

4) Click OK .

5) Repeat steps 2 through 4 for the Scenario Variances member.

document.doc Confidential Page 69 of 208© Adaequare, Inc

69

Page 70: Essbase_Student_Lab_1

6) Verify and save the Sales outline.

Exercise - Creating the Accounts Dimension

In this exercise, you create the Accounts dimension for the Sales database. This exercise assumes that you have the Sales outline open.

1) In the Sales outline, add a sibling to Scenario named Accounts .

2) Add a child to Accounts named Gross Sales .

3) Add children to Gross Sales named Units and List Price .

4) Select List Price .

5) Right-click and select Edit member properties .The Member Properties dialog box is displayed.

6) Change the Consolidation property of the List Price member to (*) Multiplication .

7) Click OK .

8) Open Corpacct.xls (located in the BCI\Outline directory).

9) Select the Gross Margin Analysis worksheet.

document.doc Confidential Page 70 of 208© Adaequare, Inc

70

Page 71: Essbase_Student_Lab_1

10) Compare the formulas and entries for computing Gross Sales in Excel to the Accounts model.

Create Members Through Net Sales Using Unary Operators1) Create Discounts as a sibling of Gross Sales.

2) Add children to Discounts named Gross Sales and Discount % .

3) Under Discounts , select Gross Sales .

4) Right-click and select Edit member properties . The Member Properties dialog box is displayed.

5) Change the Data Storage property to Shared Member .

6) Click Next .The Member Discount % is active.

document.doc Confidential Page 71 of 208© Adaequare, Inc

71

Page 72: Essbase_Student_Lab_1

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 %1) Analyze parent-child relationships in the Gross Margin Analysis worksheet (Corpacct.xls).

document.doc Confidential Page 72 of 208© Adaequare, Inc

72

Page 73: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 73 of 208© Adaequare, Inc

73

Page 74: Essbase_Student_Lab_1

document.doc Confidential Page 74 of 208© Adaequare, Inc

74

Page 75: Essbase_Student_Lab_1

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.

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

document.doc Confidential Page 75 of 208© Adaequare, Inc

75

Page 76: Essbase_Student_Lab_1

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:

document.doc Confidential Page 76 of 208© Adaequare, Inc

76

Page 77: Essbase_Student_Lab_1

Exercise - Loading the Family Total Hierarchy

In this exercise, you create a load rule and associate the rule with the Sales outline. You open the source file to be loaded and make the appropriate settings to match the characteristics of the file. You then load the Family Total rollup to the Products dimension in the Sales outline.

Opening the Data Prep Editor

document.doc Confidential Page 77 of 208© Adaequare, Inc

77

Page 78: Essbase_Student_Lab_1

1) On the Enterprise View of the

document.doc Confidential Page 78 of 208© Adaequare, Inc

78

Page 79: Essbase_Student_Lab_1

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 Outline1) 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 Loaded1) Select File > Open data file . The Open dialog box is displayed.

2) On the File System tab, select Excel sheets (*.xls) in the Files of type list.

3) Open the LoadRule/FamGen.xls file.

document.doc Confidential Page 79 of 208© Adaequare, Inc

79

Page 80: Essbase_Student_Lab_1

document.doc Confidential Page 80 of 208© Adaequare, Inc

80

Page 81: Essbase_Student_Lab_1

To see the file, you need to set the file type to XLS or All files.

Setting the Dimension Building Mode1) Select View > Dimension build fields .

Load Rules can dynamically build dimensions or load data into a database. The different modes enable you to define the settings for each of these activities.

Selecting the Data File Delimiter Type1) Select Options > Data source properties .

2) Select the Delimiter tab3) Confirm that the delimiter setting is the default Tab .

4) Click OK .

Creating the Product Dimension

document.doc Confidential Page 81 of 208© Adaequare, Inc

81

Page 82: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 82 of 208© Adaequare, Inc

82

Page 83: Essbase_Student_Lab_1

document.doc Confidential Page 83 of 208© Adaequare, Inc

83

Page 84: Essbase_Student_Lab_1

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 Method1) Select Options > Dimension build settings .The Dimension Build Settings dialog box is displayed.

2) Select the Dimension Build Settings tab.

3) In the Dimension list, double-click Product .

4) In the Build method section, select Use generation references .

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

Associating Field Headers with Dimensions and Generations1) 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.

document.doc Confidential Page 84 of 208© Adaequare, Inc

84

Page 85: Essbase_Student_Lab_1

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 Dimension3 Generation 3 Product4 Generation 4 Product5 Generation 5 Product6 Alias 5 Product

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

Ignoring the First Header Row1) Select Options > Data source properties .The Data Source Properties dialog box is displayed.

2) Select the Header tab.

3) In the Header Lines group, enter 1 for the Number of lines to skip .

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

Saving the Load Rule1) 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.

document.doc Confidential Page 85 of 208© Adaequare, Inc

85

Page 86: Essbase_Student_Lab_1

document.doc Confidential Page 86 of 208© Adaequare, Inc

86

Page 87: Essbase_Student_Lab_1

6) Select File > Close .The Data Prep Editor closes.

Loading the Family Total Rollup to the Products Dimension1) 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:

document.doc Confidential Page 87 of 208© Adaequare, Inc

87

Page 88: Essbase_Student_Lab_1

document.doc Confidential Page 88 of 208© Adaequare, Inc

88

Page 89: Essbase_Student_Lab_1

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 Structure1) Select File > Open .

2) Click File System .

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

4) If prompted, select English (Latin1) for File Encoding.The Data Prep Editor is displayed.

5) Select File > Open data file .The Open dialog box is displayed.

6) On the File System tab, select Excel sheets (*.xls) in the Files of type list.

7) Locate and select the FamLev.xls file in the BCI\LoadRule directory.

8) Click OK to open the FamLev.xls file

9) Review the load rule structure and contrast to the Fam_Gen load rule.

Columns are organized bottom-up, left to right.

10) Select File \ Close .The Data Prep Editor closes

document.doc Confidential Page 89 of 208© Adaequare, Inc

89

Page 90: Essbase_Student_Lab_1

document.doc Confidential Page 90 of 208© Adaequare, Inc

90

Page 91: Essbase_Student_Lab_1

Reloading the Family Total Hierarchy Using the Level Load Rule1) 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.

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 Rule1) Open a new load rule.

document.doc Confidential Page 91 of 208© Adaequare, Inc

91

Page 92: Essbase_Student_Lab_1

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 Properties1) Select any member in column one and select Field > Properties .

2) Select the Dimension Build Proper ties tab.

3) From Field Type , double-click Parent .

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.

document.doc Confidential Page 92 of 208© Adaequare, Inc

92

Page 93: Essbase_Student_Lab_1

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 Row1) 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 Rule1) Select Options > Validate

2) Correct any errors noted.

3) When you receive the message, “The rules file is correct for dimension building,” click OK .

4) Save the file as Par_Ch on the Server to the Sales database.

5) Select File > Close to close the Data Prep Editor.

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.

document.doc Confidential Page 93 of 208© Adaequare, Inc

93

Page 94: Essbase_Student_Lab_1

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

document.doc Confidential Page 94 of 208© Adaequare, Inc

94

Page 95: Essbase_Student_Lab_1

document.doc Confidential Page 95 of 208© Adaequare, Inc

95

Page 96: Essbase_Student_Lab_1

Updating the Outline1) 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 .If the load fails, open the error file, make corrections, and then try again.

document.doc Confidential Page 96 of 208© Adaequare, Inc

96

Page 97: Essbase_Student_Lab_1

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.

document.doc Confidential Page 97 of 208© Adaequare, Inc

97

Page 98: Essbase_Student_Lab_1

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

4) Select View > Dimension build fields .

Replicating Fields Needed to Create Unique Members1) 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

document.doc Confidential Page 98 of 208© Adaequare, Inc

98

Page 99: Essbase_Student_Lab_1

1) Select Field 4 and

then select Field > Move .

2) Click Up to move the field between Field 2 and Field 3.

document.doc Confidential Page 99 of 208© Adaequare, Inc

99

Page 100: Essbase_Student_Lab_1

3) Click OK .

Inserting Space Fields1) 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 .

document.doc Confidential Page 100 of 208© Adaequare, Inc

100

Page 101: Essbase_Student_Lab_1

There are total of nine fields with just a single space in fields 3, 6, and 8.

Concatenating the Fields1) Select Fields 2 , 3 , and 4 and then select Field > Join .

2) Click OK .The three fields are joined into a single Field 2 with correct spacing between the words.

3) Select the Fields 3 through 7 and then select Field > Join .

document.doc Confidential Page 101 of 208© Adaequare, Inc

101

Page 102: Essbase_Student_Lab_1

4) Click OK .

document.doc Confidential Page 102 of 208© Adaequare, Inc

102

Page 103: Essbase_Student_Lab_1

Associating Fields with Dimensions1) Select Field 1 and then select Field > Properties .

2) Select the Dimension Build Proper ties tab.

3) In the Dimension section, double-click Mint .

4) In the Field Type section, select Generation .

5) Enter 2 for the generation number.

6) Click Next .

7) Repeat steps 3 through 6 for Field 2 and Field 3: • For Field 2, select the Mint dimension, Generation Field Type, and generation number 3 .• For Field 3, select the Mint dimension, Generation Field Type, and generation number 4 .

document.doc Confidential Page 103 of 208© Adaequare, Inc

103

Page 104: Essbase_Student_Lab_1

8) Click OK .

document.doc Confidential Page 104 of 208© Adaequare, Inc

104

Page 105: Essbase_Student_Lab_1

9) Select Options > Validate .

10) Correct any errors listed.

Loading the Clorox Minty Hierarchy to the Mint Dimension1) Save the load rule as Loadmint to the Essbase Server under the Sales database.2) Select File > Close .

3) In the Sales outline, select Outline > Update Outline .4) Click Find Data File and select the Minty.txt file located in the BCI\LoadRule directory.5) Click Find Rules File . The Open dialog box is displayed.6) On the Analytic Server tab, select the loadmint.rul file from the list. 7) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process.8) Click OK .If the load fails, open the error file, make corrections, and then try again.9) Expand Mint and compare your results with the following outline.

document.doc Confidential Page 105 of 208© Adaequare, Inc

105

Page 106: Essbase_Student_Lab_1

10) In the Sales outline, right-click Mint and select Delete.11) In the Outline Confirmation dialog box, click Yes.If a warning message is displayed, select Mint and click OK.12) Save the Sales outline.13) If prompted to restructure data, select Discard all data and click OK .

Exercise - Loading a Channels Hierarchy to Customer

In this exercise, you create a new load rule to build the Customer dimension and its children using the generation method.This exercise assumes that you have the Sales outline open

Creating a New Load Rule1) 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 Dimension1) Select Options > Dimension build settings .

2) Select the Dimension Definition tab.

3) Select Rules File .

document.doc Confidential Page 106 of 208© Adaequare, Inc

106

Page 107: Essbase_Student_Lab_1

4) Next to Dimensions , click Click here to edit .

5) Type Customer .

6) Press Enter .

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

document.doc Confidential Page 107 of 208© Adaequare, Inc

107

Page 108: Essbase_Student_Lab_1

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

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 .

document.doc Confidential Page 108 of 208© Adaequare, Inc

108

Page 109: Essbase_Student_Lab_1

9) In the Text in field text box, type Channel Total .

10)Click OK .

document.doc Confidential Page 109 of 208© Adaequare, Inc

109

Page 110: Essbase_Student_Lab_1

11) Select the new Field 3 and then select Field > Create Using Text .

12) In the Text in field text box, type ~ (tilde).

13) Click OK .A new Field 3 is inserted.

14) Select Field 2 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

document.doc Confidential Page 110 of 208© Adaequare, Inc

110

Page 111: Essbase_Student_Lab_1

document.doc Confidential Page 111 of 208© Adaequare, Inc

111

Page 112: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 112 of 208© Adaequare, Inc

112

Page 113: Essbase_Student_Lab_1

Saving and Loading the Customer Dimension1) 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,”

document.doc Confidential Page 113 of 208© Adaequare, Inc

113

Page 114: Essbase_Student_Lab_1

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.

11) Click OK .If the load fails, open the error file, make corrections, and then try again.

document.doc Confidential Page 114 of 208© Adaequare, Inc

114

Page 115: Essbase_Student_Lab_1

12) Expand the Customer dimension

13) Save the Sales outline.

document.doc Confidential Page 115 of 208© Adaequare, Inc

115

Page 116: Essbase_Student_Lab_1

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

document.doc Confidential Page 116 of 208© Adaequare, Inc

116

Page 117: Essbase_Student_Lab_1

document.doc Confidential Page 117 of 208© Adaequare, Inc

117

Page 118: Essbase_Student_Lab_1

10) Compare your outline to the dimensions shown in the following sample

11) Save the Sales outline.

Associating Attributes with a Load Rule1) 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

document.doc Confidential Page 118 of 208© Adaequare, Inc

118

Page 119: Essbase_Student_Lab_1

document.doc Confidential Page 119 of 208© Adaequare, Inc

119

Page 120: Essbase_Student_Lab_1

4) Select View > Dimension build fields to set the mode for loading members to the outline.

Assigning the Build Method1) 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.

Performing Field Edits1) Select Field 2 and select Record > Reject .

document.doc Confidential Page 120 of 208© Adaequare, Inc

120

Page 121: Essbase_Student_Lab_1

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.

document.doc Confidential Page 121 of 208© Adaequare, Inc

121

Page 122: Essbase_Student_Lab_1

4) In the Dimension section, double-click Customer to select.

5) In the Field Type section, double-click Level .

6) In the Number text box, type 0 .

7) Click Next .

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

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

10) In the Number text box, type 0 .

11) Click OK

document.doc Confidential Page 122 of 208© Adaequare, Inc

122

Page 123: Essbase_Student_Lab_1

Saving the Load Rule1) Select Options > Validate .

2) Correct any errors noted.

3) Save the file as AttReg to the Essbase Server under the Sales database.

4) Select File > Close .

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

2) Click Find Data File and select the CusReg.xls file located in the BCI\LoadRule directory.

3) Click Find Rules File . The Open dialog box is displayed.

4) On the Analytic Server tab, select AttReg.rul from the file list.

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

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

7) To verify that region attributes were added for customers, expand the Customer dimension

document.doc Confidential Page 123 of 208© Adaequare, Inc

123

Page 124: Essbase_Student_Lab_1

This load rule assignsregions to respectivecustomers

document.doc Confidential Page 124 of 208© Adaequare, Inc

124

Page 125: Essbase_Student_Lab_1

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 .

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

document.doc Confidential Page 125 of 208© Adaequare, Inc

125

Page 126: Essbase_Student_Lab_1

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.

5) Under Name, click Click here to add and type Capacity Total .

6) In the Type drop-down list, select Numeric .

7) Click OK .

document.doc Confidential Page 126 of 208© Adaequare, Inc

126

Page 127: Essbase_Student_Lab_1

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.

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

document.doc Confidential Page 127 of 208© Adaequare, Inc

127

Page 128: Essbase_Student_Lab_1

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

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

document.doc Confidential Page 128 of 208© Adaequare, Inc

128

Page 129: Essbase_Student_Lab_1

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

document.doc Confidential Page 129 of 208© Adaequare, Inc

129

Page 130: Essbase_Student_Lab_1

Field 1 Capacity Total Parent 0Field 2 Capacity Total Child 0Field 3 Product Level 0Field 4 Product Capacity Total 0

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

document.doc Confidential Page 130 of 208© Adaequare, Inc

130

Page 131: Essbase_Student_Lab_1

The Data Prep Editor closes.

Using the Load Rule1) In the Sales outline, select Outline > Update Outline .

2) Click Find Data File and select the attcap.xls file located in the BCI\LoadRule directory.

3) Click Find Rules File . The Open dialog box is displayed.

4) On the Analytic Server tab, select AttCap.rul from the file list.

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

6) Click OK .

If the load fails, open the error file, make corrections, and then try again.

7) To verify that the dimension build was successful, expand the Product dimension.

This load rule builds theCapacity Total attributedimension and assignsthem to respective

products

document.doc Confidential Page 131 of 208© Adaequare, Inc

131

Page 132: Essbase_Student_Lab_1

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 fileMissing 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 Data1) Select File > New > Scripts > Rules file .

document.doc Confidential Page 132 of 208© Adaequare, Inc

132

Page 133: Essbase_Student_Lab_1

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

document.doc Confidential Page 133 of 208© Adaequare, Inc

133

Page 134: Essbase_Student_Lab_1

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 Row1) 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 Properties5) Select Field 1 and then select Field > Properties .

6) Select the Data Load Properties tab.

7) Double-click the Customer dimension. “Customer” is copied into the Field name text box.

8) Click Next .

9) Repeat steps 7 and 8 to set Field 2, Field 3, and Field 4 to Product , Yea r Tot , and Accounts , respectively.

10) Click Next until Field 5 is the selected field.

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.

document.doc Confidential Page 134 of 208© Adaequare, Inc

134

Page 135: Essbase_Student_Lab_1

document.doc Confidential Page 135 of 208© Adaequare, Inc

135

Page 136: Essbase_Student_Lab_1

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.

document.doc Confidential Page 136 of 208© Adaequare, Inc

136

Page 137: Essbase_Student_Lab_1

3) Expand Scenario .

4) Double-click Budget to select it for your header name.

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

Save the Load Rule1) 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 Data1) 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.

document.doc Confidential Page 137 of 208© Adaequare, Inc

137

Page 138: Essbase_Student_Lab_1

5) Click OK .The load rule is executed. A message informs you that the files loaded with no errors.

6) Click Close . You return to the Administration Console.

Creating a New Load Rule for PriorYr Data

1) Open a new load rule file.

2) Associate the rule with the Sales database.

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

document.doc Confidential Page 138 of 208© Adaequare, Inc

138

Page 139: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 139 of 208© Adaequare, Inc

139

Page 140: Essbase_Student_Lab_1

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.

document.doc Confidential Page 140 of 208© Adaequare, Inc

140

Page 141: Essbase_Student_Lab_1

document.doc Confidential Page 141 of 208© Adaequare, Inc

141

Page 142: Essbase_Student_Lab_1

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

8) Save the rule as PriorYr on the Essbase Server under the Sales database.

9) Select File > Close . Loading the Data1) 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 Data1) 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 > Properties3) 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.

document.doc Confidential Page 142 of 208© Adaequare, Inc

142

Page 143: Essbase_Student_Lab_1

document.doc Confidential Page 143 of 208© Adaequare, Inc

143

Page 144: Essbase_Student_Lab_1

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”

document.doc Confidential Page 144 of 208© Adaequare, Inc

144

Page 145: Essbase_Student_Lab_1

Field15 “Overhead Rate”

document.doc Confidential Page 145 of 208© Adaequare, Inc

145

Page 146: Essbase_Student_Lab_1

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

document.doc Confidential Page 146 of 208© Adaequare, Inc

146

Page 147: Essbase_Student_Lab_1

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

document.doc Confidential Page 147 of 208© Adaequare, Inc

147

Page 148: Essbase_Student_Lab_1

document.doc Confidential Page 148 of 208© Adaequare, Inc

148

Page 149: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 149 of 208© Adaequare, Inc

149

Page 150: Essbase_Student_Lab_1

3) Select Product .

4) Select Essbase > Pivot .Product switches axes.

5) Select Year Tot .

6) Select Essbase > Pivot .Year Tot switches axes.

7) Select Customer .

8) Select Essbase > Zoom in .

document.doc Confidential Page 150 of 208© Adaequare, Inc

150

Page 151: Essbase_Student_Lab_1

9) Select Customer .

10) Select Essbase > Pivot .Customer switches axes.

11) Select Channel Total .

12) Select Essbase > Zoom in .

document.doc Confidential Page 151 of 208© Adaequare, Inc

151

Page 152: Essbase_Student_Lab_1

The children of Channel Total are displayed.

document.doc Confidential Page 152 of 208© Adaequare, Inc

152

Page 153: Essbase_Student_Lab_1

document.doc Confidential Page 153 of 208© Adaequare, Inc

153

Page 154: Essbase_Student_Lab_1

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.

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 .

document.doc Confidential Page 154 of 208© Adaequare, Inc

154

Page 155: Essbase_Student_Lab_1

document.doc Confidential Page 155 of 208© Adaequare, Inc

155

Page 156: Essbase_Student_Lab_1

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

document.doc Confidential Page 156 of 208© Adaequare, Inc

156

Page 157: Essbase_Student_Lab_1

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 .

3) Select Customer .

4) Select Essbase>Member Selection .

document.doc Confidential Page 157 of 208© Adaequare, Inc

157

Page 158: Essbase_Student_Lab_1

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.

document.doc Confidential Page 158 of 208© Adaequare, Inc

158

Page 159: Essbase_Student_Lab_1

11) In the Members section, select Units .

12) Click Add .Units moves under Rules.

13) Click OK .

14) Select Scenario .

15) Select Essbase > Member Selection .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 .

document.doc Confidential Page 159 of 208© Adaequare, Inc

159

Page 160: Essbase_Student_Lab_1

23) Click Add .Quarter 1 moves under Rules.

24) In the Rules section, right-click Quarter 1

document.doc Confidential Page 160 of 208© Adaequare, Inc

160

Page 161: Essbase_Student_Lab_1

document.doc Confidential Page 161 of 208© Adaequare, Inc

161

Page 162: Essbase_Student_Lab_1

25) Select All Children .

26) In the Members section, expand Quar ter 2 and select Apr .

27) Click Add .Apr moves under Rules.

28) In the View Method section, select By Dynamic Time Series.

29) In the Members section, select Y-T-D .

30) Click Add .Y-T-D moves under Rules.

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

document.doc Confidential Page 162 of 208© Adaequare, Inc

162

Page 163: Essbase_Student_Lab_1

32) Select Apr from the list and click OK

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

document.doc Confidential Page 163 of 208© Adaequare, Inc

163

Page 164: Essbase_Student_Lab_1

document.doc Confidential Page 164 of 208© Adaequare, Inc

164

Page 165: Essbase_Student_Lab_1

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.

document.doc Confidential Page 165 of 208© Adaequare, Inc

165

Page 166: Essbase_Student_Lab_1

document.doc Confidential Page 166 of 208© Adaequare, Inc

166

Page 167: Essbase_Student_Lab_1

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

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 .

document.doc Confidential Page 167 of 208© Adaequare, Inc

167

Page 168: Essbase_Student_Lab_1

document.doc Confidential Page 168 of 208© Adaequare, Inc

168

Page 169: Essbase_Student_Lab_1

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 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, UnitsDimensions

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

document.doc Confidential Page 169 of 208© Adaequare, Inc

169

Page 170: Essbase_Student_Lab_1

1) Select Essbase > Query Designer

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 .

document.doc Confidential Page 170 of 208© Adaequare, Inc

170

Page 171: Essbase_Student_Lab_1

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

document.doc Confidential Page 171 of 208© Adaequare, Inc

171

Page 172: Essbase_Student_Lab_1

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

document.doc Confidential Page 172 of 208© Adaequare, Inc

172

Page 173: Essbase_Student_Lab_1

document.doc Confidential Page 173 of 208© Adaequare, Inc

173

Page 174: Essbase_Student_Lab_1

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 .

document.doc Confidential Page 174 of 208© Adaequare, Inc

174

Page 175: Essbase_Student_Lab_1

document.doc Confidential Page 175 of 208© Adaequare, Inc

175

Page 176: Essbase_Student_Lab_1

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

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 .

document.doc Confidential Page 176 of 208© Adaequare, Inc

176

Page 177: Essbase_Student_Lab_1

document.doc Confidential Page 177 of 208© Adaequare, Inc

177

Page 178: Essbase_Student_Lab_1

document.doc Confidential Page 178 of 208© Adaequare, Inc

178

Page 179: Essbase_Student_Lab_1

document.doc Confidential Page 179 of 208© Adaequare, Inc

179

Page 180: Essbase_Student_Lab_1

17) Double-click Lev0,Product .

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

Filtering Data1) 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 Data1) In the navigation panel, select Data Sorting .

document.doc Confidential Page 180 of 208© Adaequare, Inc

180

Page 181: Essbase_Student_Lab_1

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.

document.doc Confidential Page 181 of 208© Adaequare, Inc

181

Page 182: Essbase_Student_Lab_1

Saving and Applying the Query1) In the navigation panel, right-click any member in the query.

2) Select Save Query .

document.doc Confidential Page 182 of 208© Adaequare, Inc

182

Page 183: Essbase_Student_Lab_1

document.doc Confidential Page 183 of 208© Adaequare, Inc

183

Page 184: Essbase_Student_Lab_1

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

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;

document.doc Confidential Page 184 of 208© Adaequare, Inc

184

Page 185: Essbase_Student_Lab_1

/* 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:

document.doc Confidential Page 185 of 208© Adaequare, Inc

185

Page 186: Essbase_Student_Lab_1

Exercise - Focusing with FIX

One possible solution to this exercise is a calculation script that reads as follows:

/* Housekeeping */SET UPDATECALC OFF;

/* The Baseline Fix */FIX ("Current Year", @DESCENDANTS ("Quarter 1"))

/* The Main Rollup */CALC DIM (Accounts, Customer, Product);

ENDFIXSave 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

document.doc Confidential Page 186 of 208© Adaequare, Inc

186

Page 187: Essbase_Student_Lab_1

reads as follows:

/*Housek eeping.*/SET UPDATECALC OFF;CLEARBLOCK NONINPUT;

/*Push the units and price forecast using If.*/

Units(IF (@ISMBR (Sep)) Units = @Prior (Units, 1);"List Price" = @Prior ("List Price", 1) * .9;ELSEIF (@ISDESC ("Quarter 4"))Units = @Prior (Units, 2) * 1.1;"List Price" = @Prior ("List Price", 1) * .9;ENDIF)

Extra Credit :

/*Housek eeping.*/SET UPDATECALC OFF;CLEARBLOCK NONINPUT;

/*Push the units and price forecast using If. Round the Units calculation to avoid partial units*/

Units(IF (@ISMBR (Sep)) Units = @Prior (Units, 1);"List Price" = @Prior ("List Price", 1) * .9;ELSEIF (@ISDESC ("Quarter 4"))Units = @Round ((@Prior (Units, 2) * 1.1), 0);"List Price" = @Prior ("List Price", 1) * .9;ENDIF)

document.doc Confidential Page 187 of 208© Adaequare, Inc

187

Page 188: Essbase_Student_Lab_1

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.

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

document.doc Confidential Page 188 of 208© Adaequare, Inc

188

Page 189: Essbase_Student_Lab_1

->"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 Database1) Create a new application on the server called Dynamic .

You can shut down all other databases to free up memory.

2) In the new Dynamic application, create a new database called Dynamic .

3) In Windows NT Explorer, copy dynamic.otl from the BCI\CalcIt\Dynamic directory to the Essbase\App\Dynamic\Dynamic directory.

4) Click Ye s to overwrite the existing file.Loading and Reviewing the New Outline It is necessary to start and then restart the Dynamic database to load the new outline.

1) In the Administration Console, right-click the Dynamic database and select Stop .The Confirm Database Stop dialog box is displayed.

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.

document.doc Confidential Page 189 of 208© Adaequare, Inc

189

Page 190: Essbase_Student_Lab_1

Loading Data and Calculating the Database1) Right-click the Dynamic database and select Load data .The Data Load dialog box is displayed.

2) In the Data files area, click Find .The Open Objects dialog box is displayed.

3) Select File System .

4) Browse to the BCI\CalcIt\Dynamic directory and select Actual.txt and Forecast.txt .

You can select both files by pressing the Ctrl key and clicking the files.

5) Click OK .

6) Select Use Rules .

7) In the Rules area, click Find .The Open Rules File dialog box is displayed.

8) Select File System .

9) Select Loadcorp.rul (in the BCI\CalcIt\Dynamic directory).

10) Click OK .

11) Click OK .The data is loaded and the Data Load Completed dialog box is displayed.

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

document.doc Confidential Page 190 of 208© Adaequare, Inc

190

Page 191: Essbase_Student_Lab_1

16) Click OK .

Reviewing the Before-and-After Data1) Open Aggressive.xls (found in the BCI\CalcIt\Dynamic directory).

2) Select the No Dynamic spreadsheet.

The values in the No Dynamic spreadsheet represent a retrieve from the Bigcorp database with no dynamic calculations. These values are correct and should be used to compare your dynamic calculation results.

3) Select the Dynamic spreadsheet.

4) Select Essbase > Retrieve and log on to the Dynamic database.

You can now review the data on both spreadsheets.

5) Select the Comparison spreadsheet.

6) Select cell B3 .

7) Type the following formula: =’No Dynamic’!B3 - Dynamic!B3 .

8) Copy the formula to all cells for rows 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.

document.doc Confidential Page 191 of 208© Adaequare, Inc

191

Page 192: Essbase_Student_Lab_1

Solutions

The comparison spreadsheet should show several nonzero amounts in the Act vs Fcst column as well as #VALUE in the Other CGS and Balance Sheet rows. The Other CGS and Balance Sheet rows are correct. A review of the “no dynamic” and the dynamic spreadsheets for those rows show that both of them have no data (N/A). The nonzero numeric values indicate a problem with the dynamic data. The problem is created because the calculation order is sparse, then dense. There are two possible solutions for correcting the calc.

Solution #1 - Setting Two-Pass Calculations

In this solution, you set the dynamic calculation shadow rates to two-pass calculations. Since the spreadsheet uses Act vs Fcst, these steps are taken only to change the Act vs Fcst outline member and recalculate the result. You would receive the same errors with Act vs Bud or Bud vs Fcst if they were not also changed.

1) Open the Dynamic outline.

2) Expand Scenario to view all members.

3) Select Act vs Fcst .

4) Click Two-Pass Calculation .

5) Click Save .

6) Right-click the Dynamic database and select Execute calculation .The Execute Database Calculation dialog box is displayed.

7) Select (Default) .

8) Click OK .

9) Return to the Aggressive.xls workbook.

10) Select the Dynamic spreadsheet.

11) Select Essbase > Retrieve .

12) Select the Comparison spreadsheet.

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

document.doc Confidential Page 192 of 208© Adaequare, Inc

192

Page 193: Essbase_Student_Lab_1

Solution #2 - Making Scenario a Dense Dimension

In this solution, you change the Scenario dimension from sparse to dense.

1) Open the Dynamic outline.

2) Select Properties

3) Scroll down to the dimension storage types and, next to Scenario, click Sparse .

4) From the drop-down list, select Dense .

5) Click Verify .

6) Click Save .

document.doc Confidential Page 193 of 208© Adaequare, Inc

193

Page 194: Essbase_Student_Lab_1

The Restructure Database dialog box is displayed.

document.doc Confidential Page 194 of 208© Adaequare, Inc

194

Page 195: Essbase_Student_Lab_1

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.

document.doc Confidential Page 195 of 208© Adaequare, Inc

195

Page 196: Essbase_Student_Lab_1

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 Data1) In the Administration Console, right-click the Sales database and select Clear > All data .The Confirm Database Clear dialog box is displayed.

2) Click Ye s .

3) Right-click the Sales database and select Load data .The Data Load dialog box is displayed.

4) Load Actual.txt and Forecast.txt to Sales using the loadcorp.rul rules file (all located in the BCI\CalcIt\AdvancedCalcs directory).

5) Right-click the Sales database and select Execute calculation .The Execute Database Calculation dialog box is displayed.

6) Select CalcAll .

7) Click OK .

Reviewing the Workbook1) Open Calculations.xls (found in the BCI\CalcIt\AdvancedCalcs directory).

2) Select the Datacopy spreadsheet.

document.doc Confidential Page 196 of 208© Adaequare, Inc

196

Page 197: Essbase_Student_Lab_1

3) Log on to the Bigcorp

document.doc Confidential Page 197 of 208© Adaequare, Inc

197

Page 198: Essbase_Student_Lab_1

application and Sales database.

4) Select Essbase > Retrieve .

Creating a Budget from Prior Year Actual Data1) On the Enterprise View, select Bigcorp > Sales > Calculation Scripts .

2) Right-click Calculation Scripts.

3) Select Create calculation script.The Calculation Script Editor is displayed.

4) Type the following formula:/*copy actuals from the previous year to budget for the current year and increase it by 10%*/DATACOPY “Prior Year” TO “Budget”;Budget = Budget*1.1;

5) Click Verify .Fix any verification errors before continuing.

document.doc Confidential Page 198 of 208© Adaequare, Inc

198

Page 199: Essbase_Student_Lab_1

6) Click Save .The Save As dialog box is displayed.

document.doc Confidential Page 199 of 208© Adaequare, Inc

199

Page 200: Essbase_Student_Lab_1

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

document.doc Confidential Page 200 of 208© Adaequare, Inc

200

Page 201: Essbase_Student_Lab_1

3) Change the value of the CurrentMonth variable to May .

4) Click Set .

5) Change the value of the PriorMonth variable to Apr .

6) Click Set .

7) Click Close .Creating a Rolling Forecast from Actual and Budget Data1) 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 fromactuals for current year to rolling forecast followed by a copy of all budgetdata for current year and the following months to rolling forecast*/FIX (Jan:&PriorMonth)DATACOPY “Current Year” TO “Rolling Forecast”;ENDFIXFIX (&CurrentMonth:Dec)DATACOPY Budget TO “Rolling Forecast”;ENDFIX

document.doc Confidential Page 201 of 208© Adaequare, Inc

201

Page 202: Essbase_Student_Lab_1

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 Result1) In the calculations.xls workbook on the Datacopy spreadsheet, select Essbase > Retrieve .

2) Verify the Rolling Forecast values.

document.doc Confidential Page 202 of 208© Adaequare, Inc

202

Page 203: Essbase_Student_Lab_1

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

document.doc Confidential Page 203 of 208© Adaequare, Inc

203

Page 204: Essbase_Student_Lab_1

"Customer Count" = #Missing;ENDIF)CALC ALL;

Exercise - Allocating Data

Clearing All DataFor 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 ScriptThere 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

document.doc Confidential Page 204 of 208© Adaequare, Inc

204

Page 205: Essbase_Student_Lab_1

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 andProducts.*/

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

document.doc Confidential Page 205 of 208© Adaequare, Inc

205

Page 206: Essbase_Student_Lab_1

"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")));EndfixThis 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"))));EndfixOverhead Variances

/* straight allocation combined with a ratio allocation */

set updatecalc off;

FIX( @children("Family Total"))"Overhead Variances"="Overhead Variances"->"Family Total"->"Channel Total"/

document.doc Confidential Page 206 of 208© Adaequare, Inc

206

Page 207: Essbase_Student_Lab_1

@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))));endfixFIX(@children(Value))"Obsolete Charges"="Obsolete Charges"->Value->Customer/@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));endfixFIX(@children(LIGHTBOLT))"Obsolete Charges"="Obsolete Charges"->Lightbolt->Customer/@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));endfixFIX(@children(THUNDERBALL))"Obsolete Charges"="Obsolete Charges"->Thunderball->Customer/@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));endfixFIX(@children(ROADRANGER))"Obsolete Charges"="Obsolete Charges"->Roadranger->Customer/@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));endfixFIX(@children(MAVRIDER))"Obsolete Charges"="Obsolete Charges"->Mavrider->Customer/@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));endfixFIX(@children(FIREBRAND))"Obsolete Charges"="Obsolete Charges"->Firebrand->Customer/@count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product))));endfix

A cleaner Solution under Solution 2:

document.doc Confidential Page 207 of 208© Adaequare, Inc

207

Page 208: Essbase_Student_Lab_1

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\

document.doc Confidential Page 208 of 208© Adaequare, Inc

208