Upload
api-26942036
View
1.445
Download
13
Embed Size (px)
Citation preview
Essbase Lab Guide-I
For
<< Customer Name >>
Prepared BySushuma P
15th September 2008
document.doc Confidential Page 1 of 208© Adaequare, Inc
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Starting from a basic
document.doc Confidential Page 27 of 208© Adaequare, Inc
27
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
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
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
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
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
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
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
5) Select the Destination Options tab.
document.doc Confidential Page 35 of 208© Adaequare, Inc
35
document.doc Confidential Page 36 of 208© Adaequare, Inc
36
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
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
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
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
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
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
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
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
document.doc Confidential Page 45 of 208© Adaequare, Inc
45
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
.
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
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
document.doc Confidential Page 49 of 208© Adaequare, Inc
49
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
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
document.doc Confidential Page 52 of 208© Adaequare, Inc
52
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
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
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
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
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
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
document.doc Confidential Page 59 of 208© Adaequare, Inc
59
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
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
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
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
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
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
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
document.doc Confidential Page 67 of 208© Adaequare, Inc
67
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
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
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
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
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
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
document.doc Confidential Page 74 of 208© Adaequare, Inc
74
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
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
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
1) On the Enterprise View of the
document.doc Confidential Page 78 of 208© Adaequare, Inc
78
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
document.doc Confidential Page 80 of 208© Adaequare, Inc
80
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
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
document.doc Confidential Page 83 of 208© Adaequare, Inc
83
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
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
document.doc Confidential Page 86 of 208© Adaequare, Inc
86
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
document.doc Confidential Page 88 of 208© Adaequare, Inc
88
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
document.doc Confidential Page 90 of 208© Adaequare, Inc
90
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
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
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
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
document.doc Confidential Page 95 of 208© Adaequare, Inc
95
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
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
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
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
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
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
4) Click OK .
document.doc Confidential Page 102 of 208© Adaequare, Inc
102
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
8) Click OK .
document.doc Confidential Page 104 of 208© Adaequare, Inc
104
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
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
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
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
9) In the Text in field text box, type Channel Total .
10)Click OK .
document.doc Confidential Page 109 of 208© Adaequare, Inc
109
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
document.doc Confidential Page 111 of 208© Adaequare, Inc
111
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
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
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
12) Expand the Customer dimension
13) Save the Sales outline.
document.doc Confidential Page 115 of 208© Adaequare, Inc
115
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
document.doc Confidential Page 117 of 208© Adaequare, Inc
117
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
document.doc Confidential Page 119 of 208© Adaequare, Inc
119
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
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
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
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
This load rule assignsregions to respectivecustomers
document.doc Confidential Page 124 of 208© Adaequare, Inc
124
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
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
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
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
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
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
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
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
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
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
document.doc Confidential Page 135 of 208© Adaequare, Inc
135
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
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
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
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
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
document.doc Confidential Page 141 of 208© Adaequare, Inc
141
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
document.doc Confidential Page 143 of 208© Adaequare, Inc
143
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
Field15 “Overhead Rate”
document.doc Confidential Page 145 of 208© Adaequare, Inc
145
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
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
document.doc Confidential Page 148 of 208© Adaequare, Inc
148
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
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
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
The children of Channel Total are displayed.
document.doc Confidential Page 152 of 208© Adaequare, Inc
152
document.doc Confidential Page 153 of 208© Adaequare, Inc
153
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
document.doc Confidential Page 155 of 208© Adaequare, Inc
155
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
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
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
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
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
document.doc Confidential Page 161 of 208© Adaequare, Inc
161
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
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
document.doc Confidential Page 164 of 208© Adaequare, Inc
164
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
document.doc Confidential Page 166 of 208© Adaequare, Inc
166
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
document.doc Confidential Page 168 of 208© Adaequare, Inc
168
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
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
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
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
document.doc Confidential Page 173 of 208© Adaequare, Inc
173
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
document.doc Confidential Page 175 of 208© Adaequare, Inc
175
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
document.doc Confidential Page 177 of 208© Adaequare, Inc
177
document.doc Confidential Page 178 of 208© Adaequare, Inc
178
document.doc Confidential Page 179 of 208© Adaequare, Inc
179
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
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
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
document.doc Confidential Page 183 of 208© Adaequare, Inc
183
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
/* 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
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
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
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
->"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
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
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
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
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
The Restructure Database dialog box is displayed.
document.doc Confidential Page 194 of 208© Adaequare, Inc
194
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
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
3) Log on to the Bigcorp
document.doc Confidential Page 197 of 208© Adaequare, Inc
197
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
6) Click Save .The Save As dialog box is displayed.
document.doc Confidential Page 199 of 208© Adaequare, Inc
199
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
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
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
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
"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
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
"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
@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
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