-Essbase-Student-Lab-1.pdf
Short Description
-Essbase-Student-Lab-1.pdf...
Description
Essbase Lab Guide-I For > Prepared By Sushuma P 15th September 2008
25936855.doc
Confidential © Adaequare, Inc
Page 1 of 132
Revision and Signoff Sheet Change Record Author Sushuma P
Version 0.1
Change reference Initial draft for review/discussion
Date 15th Sep 2008
Comments
Date
Reviewers Name Neeraj Soni
25936855.doc
Version approved 0.1
Confidential © Adaequare, Inc
Page 2 of 132
2
TABLE OF CONTENTS ..............................................................................................................5 ..............................................................................................................5 MODULE 1...................................................................................................................................6 DESIGININGOUTLINES........................................................................6 EXERCISE - CREATING A DATABASE...................................................................................................................6 EXERCISE - BUILDING A TIME DIMENSION...........................................................................................................8 EXERCISE - BUILDING A SCENARIO DIMENSION..................................................................................................11 EXERCISE - CREATING THE ACCOUNTS DIMENSION.............................................................................................12 EXERCISE - ADDING TO THE ACCOUNTS DIMENSION...........................................................................................13
MODULE 2 ..............................................................................16 BUILDING LOAD RULES.........................................................................16 EXERCISE - LOADING THE FAMILY TOTAL HIERARCHY........................................................................................16 EXERCISE - (OPTIONAL) USING THE LEVEL BUILD METHOD................................................................................16 EXERCISE - CREATING A PARENT-CHILD LOAD RULE.........................................................................................17 EXERCISE - LOADING DIMENSIONS USING A PARENT-CHILD RULE.......................................................................17 EXERCISE - (OPTIONAL) CLOROX MINTY..........................................................................................................17 EXERCISE - LOADING A CHANNELS HIERARCHY TO CUSTOMER............................................................................18 EXERCISE - CREATING A REGION TOTAL ATTRIBUTE DIMENSION.........................................................................19 EXERCISE - (OPTIONAL) BUILDING THE CAPACITY TOTAL ATTRIBUTE...................................................................19
MODULE 3.......................................................................................20 SPREADSHEET REPORTING......................................................20 EXERCISE - INSTALLING THE ADD-IN AND TOOLBAR...........................................................................................20 EXERCISE - MANAGING CONNECTIONS..............................................................................................................23 EXERCISE - ANALYZING DATA.........................................................................................................................24 EXERCISE - CHALLENGE 1...............................................................................................................................26 EXERCISE - CONTROLLING EXPANSION..............................................................................................................26 EXERCISE - TROUBLESHOOTING REPORTS..........................................................................................................28 EXERCISE - MANAGING DISPLAY OPTIONS........................................................................................................28 EXERCISE - SELECTING MEMBERS FROM THE OUTLINE........................................................................................30 EXERCISE - DESIGNING QUERIES......................................................................................................................30 EXERCISE - (OPTIONAL) REPLICATING REPORTS WITH CASCADE...........................................................................32 EXERCISE - SPREADSHEET FORMULAS...............................................................................................................36
..........................................................................................................................38 25936855.doc
Confidential © Adaequare, Inc
Page 3 of 132
3
MODULE 4
.................................................................39
CREATING BASIC CALCULATIONS..............................................................39 Exercise - Examining the Anatomy of a Rollup........................................................................................39 Exercise - Adding a Back Calculation.....................................................................................................43 Exercise - Focusing with FIX...................................................................................................................44 Exercise - Focusing with IF.....................................................................................................................45 Exercise - Creating Mix Calculations......................................................................................................45 Exercise - Calculating a Moving Average...............................................................................................45 Exercise - Managing Calculation Script Maintenance............................................................................46 Exercise - Optimizing Block Size with Aggressive Dynamic Calculation................................................46
MODULE 5.......................................................................................47 DESIGNING AND OPTIMIZING THE ADVANCED CALCULATION SCRIPTS 47 Exercise - Manipulating Data with Calculation Scripts..........................................................................48 Exercise - Clearing Data..........................................................................................................................48 Exercise - Counting Customers................................................................................................................48 Exercise - Allocating Data.......................................................................................................................49 Exercise - (Optional) Advanced Allocations............................................................................................50
EXERCISE SOLUTION.......................................................................51 MODULE 1...................................................................................................51 EXERCISE - BUILDING A SCENARIO DIMENSION..................................................................................................51 EXERCISE - CREATING THE ACCOUNTS DIMENSION.............................................................................................54 EXERCISE - LOADING THE FAMILY TOTAL HIERARCHY........................................................................................58 EXERCISE - (OPTIONAL) USING THE LEVEL BUILD METHOD................................................................................64 EXERCISE - CREATING A PARENT-CHILD LOAD RULE.........................................................................................67 EXERCISE - LOADING DIMENSIONS USING A PARENT-CHILD RULE.......................................................................69 EXERCISE - (OPTIONAL) CLOROX MINTY..........................................................................................................70 EXERCISE - LOADING A CHANNELS HIERARCHY TO CUSTOMER............................................................................75 EXERCISE - CREATING A REGION TOTAL ATTRIBUTE DIMENSION.........................................................................80 EXERCISE - (OPTIONAL) BUILDING THE CAPACITY TOTAL ATTRIBUTE...................................................................86 EXERCISE - CHANGING TRANSPARENT PARTITION VALUES AND STRUCTURE...........................................................88 EXERCISE - LOADING DATA............................................................................................................................92 ...................................................................................................................102 MODULE 3.........................................................................................................103 EXERCISE - SPREADSHEET REPORTING CHALLENGE 1: FORMATS.........................................................................103 EXERCISE - TROUBLESHOOTING REPORTS........................................................................................................104 EXERCISE - SELECTING MEMBERS FROM THE OUTLINE......................................................................................105 EXERCISE - DESIGNING QUERIES....................................................................................................................111 MODULE 4 .....................................................................................................117 EXERCISE - ADDING A BACK CALCULATION..................................................................................................117 EXERCISE - FOCUSING WITH FIX...................................................................................................................118 EXERCISE - FOCUSING WITH IF......................................................................................................................119 25936855.doc
Confidential © Adaequare, Inc
Page 4 of 132
4
EXERCISE - CREATING MIX CALCULATIONS.....................................................................................................120 EXERCISE - CALCULATING A MOVING AVERAGE..............................................................................................120 EXERCISE - OPTIMIZING BLOCK SIZE WITH AGGRESSIVE DYNAMIC CALCULATION................................................121
SOLUTIONS.............................................................................................................................124 SOLUTION #1 - SETTING TWO-PASS CALCULATIONS.........................................................................................124 SOLUTION #2 - MAKING SCENARIO A DENSE DIMENSION..................................................................................125 MODULE 5.............................................................................................................126 EXERCISE - MANIPULATING DATA WITH CALCULATION SCRIPTS.........................................................................126 EXERCISE - CLEARING DATA.........................................................................................................................129 EXERCISE - COUNTING CUSTOMERS................................................................................................................129 EXERCISE - ALLOCATING DATA.....................................................................................................................130 EXERCISE - (OPTIONAL) ADVANCED ALLOCATIONS..........................................................................................132
25936855.doc
Confidential © Adaequare, Inc
Page 5 of 132
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
25936855.doc
File > New > Database.
Confidential © Adaequare, Inc
Page 6 of 132
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 10) In the Database name text box, type
Sales.
11) In the Database type section, select
Normal.
Bigcorp.
12) Click OK. The Sales database is displayed under the Bigcorp application on the Enterprise View tab.
25936855.doc
Confidential © Adaequare, Inc
Page 7 of 132
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 4.
Quarter 2, Quarter 3, and
11) Create child members, Jan through Dec, to populate the months in each quarter.
25936855.doc
Confidential © Adaequare, Inc
Page 8 of 132
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.
25936855.doc
Confidential © Adaequare, Inc
Page 9 of 132
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.
25936855.doc
Confidential © Adaequare, Inc
Page 10 of 132
10
8) Repeat this procedure for Q-T-D, selecting 2 for the generation and creating an alias of QTD . 9) Click OK .
Exercise - Building a Scenario Dimension Create a Scenario dimension for the Sales database. Add the following children to Scenario: Current Year Prior Year Forecast Bud get Scenario Variances Use this table to create children for the Scenario Variances members: Member
Member Children
Act Vs Bud
Current Year Budget
Act Vs Fcst
Bud Vs Fcst
None
None
Notes Set children as shared members. Change the consolidation operator of Current Year to Addition (+) and Budget to Subtraction (-). Add the following member formula: “Current Year” - “Forecast”; Add the following member formula: “Budget” - “Forecast”;
In addition, set the following dimension and member properties: Set the Consolidation property for the children of Scenario and the children of Scenario Variances to (~) Ignore . Set the Data Storage property for the Scenario dimension member and the Scenario Variances member to Label Only.
25936855.doc
Confidential © Adaequare, Inc
Page 11 of 132
11
Exercise - Creating the Accounts Dimension Create an Accounts dimension for the Sales database. Open Corpacct.xls, and select the Gross Margin Analysis worksheet. Convert from spreadsheet analysis format to Essbase outline Structure. Use this worksheet as a guide for member names and member relationships.
Use this worksheet as a guide for member formulas and consolidation operators.
25936855.doc
Confidential © Adaequare, Inc
Page 12 of 132
12
Exercise - Adding to the Accounts Dimension In this exercise, you add time balance accounting and expense reporting features to the Accounts dimension. This exercise assumes that you are working with the Sales outline. Setting Up Time Balance Accounting 1) Select the Accounts dimension and then click the Accounts Dimension Type button on the Outline Editor toolbar. 2) Add a sibling to Gross Margin % called Balance Sheet. 3) Set the Consolidation property for Balance Sheet to (~) Ignore and the Data Storage property to Label Only. 4) Under Balance Sheet, add the following children: Child
Unary Operator
Inventory Accounts Receivable
Member Properties
~ ~
Set as Time Balance Last (under Account information). Set as Time Balance Last (under Account information).
Setting Up @VAR Formulas and Expense Reporting 1) Select both children of Act Vs Bud: Current Year and Budget. 25936855.doc
Confidential © Adaequare, Inc
Page 13 of 132
13
2) Right-click and select Delete. 3) In the Outline Confirmation dialog box, click Yes . 4) Under Scenario Variances, select Act Vs Bud . 5) Right-click and select Edit member properties and then select the Formula tab.
6) On the Categorical tab, expand the Math category. 7) Select Insert arguments. 8) Double-click the @VAR math function. The function is displayed in the Formula Editor window. 9) Complete the formula to read: @VAR (“Current Year”, “Budget”);. 10) Click Verify and then click OK at the confirmation message. 11) Click OK to close the Member Properties dialog box. 12) Complete the comparable formulas for the Act Vs Fcst and Bud Vs Fcst. 13) Under Accounts, select Cost of Sales. 14) Right-click and select Edit member properties. 15) Under Account information, set the Variance reporting expense property to 25936855.doc
Confidential © Adaequare, Inc
true.
Page 14 of 132
14
16) Identify and set Expense reporting for all other members in the Accounts dimension where this flag is required, according to the following model:
17) Select File > Save to verify and save the Sales outline.
25936855.doc
Confidential © Adaequare, Inc
Page 15 of 132
15
MODULE 2 BUILDING LOAD RULES Exercise - Loading the Family Total Hierarchy In this exercise, you create a load rule to build the Family Total hierarchy. To complete this exercise: Create a new load rule. Associate the load rule with the Sales outline. Read the FamGen.xls data file (located in the \BCI\LoadRule directory) into the blank load rule. Set the load rule to Dimension build fields view mode. Specify the data file delimiter type. Ignore any header records. Set the correct dimension build method. Associate field headers with dimension and generation references. Verify and save the rule. Update the outline using the rule.
Exercise - (Optional) Using the Level Build Method Review the level load rule structure: Open the load rule file: LoadRule \ Fam_Lev.rul . Open the data file: LoadRule \ FamLev.xls . Review the load rule structure and contrast to the Fam_Gen load rule. Columns are organized bottom-up, left to right. Rebuild the Family Total hierarchy using the level load rule: Delete the product structures from the previous Family Total loading exercise. Load the FamLev.xls file using the Fam_Lev.rul. 25936855.doc
Confidential © Adaequare, Inc
Page 16 of 132
16
Exercise - Creating a Parent-Child Load Rule Create a parent-child load rule for the Product dimension of the Sales outline.
Use the Configpc.xls data file (located in the BCI \LoadRule directory). Associate the columns with field properties. Ignore any header records. Save the load rule as Par_C h.
Exercise - Loading Dimensions Using a Parent-Child Rule Use the parent-child load rule you constructed to load the Configuration Total and Line Total product hierarchies. To complete this exercise: Load the product hierarchies into the Sales outline. Load Configpc.xls (located in the BCI\LoadRule directory) with the Par_Ch load rule to create the Configuration Total hierarchy. Load LinePC.xls (located in the BCI\LoadRule directory) with the Par_Ch load rule to create the Line Total hierarchy.
Exercise - (Optional) Clorox Minty Based on what you have learned in this chapter, create a new load rule to load Minty.txt into the Mint dimension in the Sales database. To complete this exercise:
Create a new sparse dimension named Mint. Use Minty.txt (located in the BCI\LoadRule directory). Reformat the data file. Save the load rule. Load Minty.txt into the Sales database.
When the data is loaded, the dimension should look similar to the following sample
25936855.doc
Confidential © Adaequare, Inc
Page 17 of 132
17
Delete the Mint dimension from the Sales outline. The Mint dimension is not used in the following modules Exercise - Loading a Channels Hierarchy to Customer Create a load rule that adds Channel information under the Customer dimension in the Sales database. To complete this exercise: Create a Customer dimension in the outline and save your change. Create a new load rule, using CusChan.xls (located in the BCI\LoadRule directory) as your data sample. Organize columns as necessary. Specify a build method. Define field properties. Save the load rule. Load
CusChan.xls into the Sales database using your load rule.
25936855.doc
Confidential © Adaequare, Inc
Page 18 of 132
18
Exercise - Creating a Region Total Attribute Dimension Create a load rule to define a Region Tota l attribute dimension. To complete this exercise: Create a text attribute dimension in the Sales outline called Region Total with the following children: Mid West , South , East , and West . Select Customer as the base dimension for Region Total. Create a load rule, using CusReg.xls (located in the BCI\LoadRule directory) as your sample data file. Specify a build method. Edit data file fields where necessary. Ignore headers if necessary. Reject records if necessary. Define field properties. Save the load rule. Load CusReg.xls into the Sales database. Exercise - (Optional) Building the Capacity Total Attribute Create a new load rule to build a Capacity Total attribute dimension in the Sales outline. To complete this exercise:
Create a new load rule using AttCap.xls (located in the BCI\LoadRule directory) as your data sample. Ignore any header records. Add a new attribute dimension to the Product base dimension. Select a build method. Edit fields where necessary. Define field properties. Save the load rule. Load AttCap.xls into the Sales database
Exercise - Loading Data In this exercise, you examine several data files with different structures and create load rules to load them into the Sales database. The sample data files are called Budget.txt , PriorYr.txt , and Forecast.txt . For each load rule: 1) Create a new load rule, using one of the files listed above as the sample data file. 2) Examine the data file and identify any problems in the data. 3) Add any missing dimensions to the data file header. 25936855.doc
Confidential © Adaequare, Inc
Page 19 of 132
19
4) Edit fields if necessary. 5) If possible, use dynamic headings. Otherwise, ignore header records and specify field Properties manually. 6) Verify and save the load rule. 7) Use your load rule to load the data file into the Sales database. 8) After all data is loaded; calculate Sales with the CalcAll calculation script (located in BCI\Load Rule). 9) Verify your data in the data previewer for Sales.
MODULE 3 Spreadsheet reporting
Exercise - Installing the Add-in and Toolbar You have been asked to configure the Essbase Spreadsheet Add-in several different ways for different users. In this exercise, you enable and disable the add-in, and you install the Essbase toolbar. Resetting the Sales Database If you have not fully completed the exercises in modules 1 and 2, you may want to reset your database to rebuild the outline and reload the data. 25936855.doc
Confidential © Adaequare, Inc
Page 20 of 132
20
1) On your client machine, navigate to the
x:\RS\BCI directory.
2) Double-click the ssheet.bat file. The automatic reset script runs and outputs messages in a command window. Wait until its completion. Testing Default Behavior When you install Essbase, let your users know the default behavior, as the add-in circumvents some normal Excel functionality. Open the SSReports.xls file and go through the following steps on the Sandbox worksheet. Ask yourself the following questions: What happened? How is this different from Excel without the add-in? How would your users react if this were a worksheet of non-Essbase data? 1) Double-click anywhere on the blank 2) Establish a connection to the
Sandbox worksheet.
Bigcorp:Sales database.
3) After establishing a connection, double-click a blank cell. 4) Double-click Year Tot . 5) Double-click a data value. 6) Right-click a blank cell. 7) Double right-click Qtr 1 . 8) Right-click and hold Product , then let go. 9) Right-click and drag Product to Column A.
As you can probably tell from those tests, the mouse buttons behave differently when the add-in is installed. Since most users do not need Essbase functionality all of the time, you can give them different options for enabling it. Configuring for Infrequent Essbase Users Infrequent Essbase users may not want to load the add-in every time they open Excel. Showing these users how to enable and disable the add-in themselves is often a good option: 1) In Excel, select Tools > Add-Ins . 2) Clear the check mark next to 25936855.doc
Hyperion Essbase OLAP Server DLL . Confidential © Adaequare, Inc
Page 21 of 132
21
3) Click OK . 4) Clear the Sandbox worksheet and repeat some of the previous default behavior tests. How are the results different? The Essbase menu is no longer displayed on the Excel menu bar. Now Excel behaves as usual, but users have no ability to connect to Essbase until they reverse the preceding steps. Configuring for Semiregular Essbase Users (or for Beginners) Users who need Essbase semiregularly may not want to continuously enable and disable the add-in, and yet still want familiar Excel mouse behavior. Beginners to the add-in often find it painful to lose access to Excel shortcuts. For these users, it is often a good solution to disable the Essbase mouse functionality while leaving the add-in loaded: 1) If necessary, select Tools > Add-Ins menu and enable the add-in in Excel. 2) Select Essbase > Options . 3) Select the Global tab. 4) Clear the check boxes for the Enable Secondary Button and Enable DoubleClicking options and then click OK . 5) Clear the Sandbox worksheet and repeat some of the default behavior tests from above. How are the results different? The mouse now retains normal Excel behavior. Moreover, since the Essbase Spreadsheet Add-in is still enabled, these users retain the ability to explore and analyze their data through Essbase menu commands or by using the Essbase toolbar. Configuring for Regular Essbase Users (or for Advanced Users) Users who use Excel primarily for connecting to Essbase generally find the default settings work the best, as the Essbase mouse shortcuts give greater speed and flexibility to their analytic tools. But even these users sometimes view spreadsheets that do not contain Essbase data and want regular Excel functionality. In Essbase version 7.1.2, there is a new option to suit these users: 1) Select Essbase > Options . 2) Select the Global tab. 3) Select the Enable Secondary Button and Enable Double-Clicking options. 4) Select the Limit to Connected Sheets option and then click OK . 25936855.doc
Confidential © Adaequare, Inc
Page 22 of 132
22
5) In a new Excel workbook, test the mouse button behavior for double-clicking and right-clicking. 6) Select Essbase > Connect , enter your login information, and then click OK . 7) Now that the worksheet is connected to Essbase, test the mouse button behavior again. 8) Select Sheet2 in the workbook and test the mouse button behavior. With this option selected, you should see Essbase mouse functionality on worksheets that you have explicitly connected to Essbase, and Excel mouse functionality on nonconnected worksheets. Disabling and Enabling the Essbase Toolbar The Essbase toolbar gives users another method for accomplishing tasks on the Essbase menu, but it can be disabled: 1) In Excel, select View > Toolbars . 2) Clear the check mark next to Hyperion Essbase. The Essbase toolbar is not installed automatically; macros install it when you open the Esstoolb.xls file (located in Essbase\Client\Sample). 3) Repeat step 1 and then check Hyperion Essbase to display the toolbar again
Exercise - Managing Connections You have a workbook with multiple sheets, requiring various database connections. In this exercise, you enable and disable connections, and you view your open connections in the Disconnect dialog box. Connecting to Essbase 1) On Sheet1 of a new Excel workbook, select
Essbase > Connect.
2) Select or type the correct server name, enter your username and password, and click Update. 3) In the Application/Database list, select
Bigcorp: Sales and click OK.
4) Select Essbase > Retrieve. 25936855.doc
Confidential © Adaequare, Inc
Page 23 of 132
23
5) Select Sheet2 and then select
Essbase > Retrieve.
6) Select Sheet3, select Essbase > Connect, and then connect to Sample: Basic. The current database connection is not displayed on the Excel worksheet. 7) Select Essbase > Disconnect. You can now see that Sheet1 and Sheet2 are connected to Bigcorp:Sales, whereas Sheet3 is connected to Sample:Basic 8) Click Close. Changing and Closing Connections 1) Rename Sheet2 NewSheet and then select Essbase > Retrieve. You receive the following error message: “The resultant report cannot be retrieved. Your report heading cannot be interpreted.” 2) Select Essbase > Disconnect to view your connections. Newsheet is now connected to Sample: Basic, not Bigcorp: Sales, resulting in the error. 3) Click Close. 4) Close the Excel workbook (do not save the changes) and open a new one. 5) Select Essbase > Disconnect to view your connections. All the connections are still open, even though the workbook was closed. 6) Click Disconnect to close the selected connection, and then repeat until all connections are closed. 7) Click Close. After an Essbase connection is established, retrievals on additional worksheets automatically connect to the last database used. When you rename a worksheet, Essbase requires a new connection. Since Sample: Basic is the last database that you connected to, the system used that connection for the new worksheet name, even though it was connected to Bigcorp: Sales originally. 8) Close the Excel workbook (do not save the changes).
Exercise - Analyzing Data In this exercise, you use basic retrieve operations to navigate from a top-level retrieval to a more refined data set. This exercise assumes that the SSReports.xls file is open. Before you 25936855.doc
Confidential © Adaequare, Inc
Page 24 of 132
24
begin, establish a connection to Bigcorp:Sales on the Sandbox worksheet, and ensure that your options are set so that Essbase mouse actions are enabled. Basic Zooming There are many ways to control zoom behavior in the Essbase Spreadsheet Add-in: Action Zoom in
Zoom out
Options Essbase > Zoom In Double-click member name Zoom In toolbar button Essbase > Zoom Out Double right-click member name Zoom Out toolbar button
Header dimension zoom—reposition on rows
Zoom In on a header dimension
Header dimension zoom—reposition on columns
Alt+double-click a header dimension
Starting with a basic, top-level retrieval, try the following steps and note what happens: 1) Zoom in on Year Tot . 2) Zoom in on Qtr 1 several times. 3) Zoom out on Qtr 1 . 4) Zoom in and reposition
Accounts on the rows.
5) Zoom in and reposition
Product on the rows.
6) Zoom in and reposition
Scenario on the columns
Other basic Retrieve Operations: In addition to Zoom , there are four basic operations that can help analysis: Action
Options
Keep Only
Essbase> Keeponly Keep only toolbar button.
Remove Only 25936855.doc
Essbase> Remove Only Remove only toolbar button Confidential © Adaequare, Inc
Page 25 of 132
25
Pivot rows to columns /column to rows
Essbase>Pivot Right click and drag.
In-axis pivot-change the Order of nested columns and rows Dimensions.
Right click and drag
Flashback
Essbase>flashblack Flashblack toolbar button.
If necessary, clear the spreadsheet to start again with a basic, top-level retrieval. Try the following steps and note what happens: Zoom in on year Tot. Keep only, Qtr1, Qtr2 and Qtr 3. Zoom in and reposition accounts on rows. Remove only QTR3. Zoom in and reposition Scenario on rows. Pivot the scenarios to columns Perform a in –axis pivot to place the time periods as the outer row dimension. Select Flashback to undo the previous operations.
Exercise - Challenge 1 Starting from a basic top-level retrieve, use the skills you have learned up to this point to duplicate this report. Use SSReports.xls worksheet Challenge1.
Exercise - Controlling Expansion You can customize your Zoom settings in Essbase > Options > Zoom. Clear the Sandbox spreadsheet and perform a top-level retrieval, then try the following: 1) Select Essbase > Options > Zoom . 2) Under Zoom In, select All levels .
25936855.doc
Confidential © Adaequare, Inc
Page 26 of 132
26
3) Zoom in on Yea r Tot . 4) Zoom in on Accounts . 5) Zoom in on Scenario . 6) Zoom in on Product . You receive an error message that the maximum number of rows in Excel has been exceeded. It is very easy, even in a small database, to exceed the maximum number of rows in Excel when you use the deeper zoom options, so they should be used sparingly. Choose other Zoom In settings from Essbase > Options > Zoom and then repeat the preceding steps, noting any differences in the behavior. Minimizing Expansions in Reports Your zoom options give you other ways to control expansions. That is especially useful when looking at a large report with nested dimensions, as the one on the Expansion tab in the SSReports.xls workbook. In this report, your products are grouped by customer. IBM has the highest sales in the OEM Channel, and you want to see their sales details for the LIGHTBOLT performance products, which are the company’s best-sellers. Because retrievals take more time the more real estate you are using in Excel, focus your zooms as tightly as possible. 1) On the Expansion worksheet, zoom in on Family Total for IBM . What does that do to the number of rows in the report? 2) Select Essbase > Flashback to return the report to its original state. 3) On the Zoom tab, select
Within Selected Group ( Essbase > Options ).
4) Zoom in on Family Total for IBM again. How is this different from your results for step 1? 5) Continue to zoom in to find the detail of the individual LIGHTBOLT products purchased by IBM. Even though you are interested only in LIGHTBOLT data, this option still leaves other branches of the Product dimension in the report and taking up space. 6) Zoom out on PERFORMANCE to return the report to its original state. 7) On the Zoom tab, select Remove Unselected Groups . 8) Zoom in on Family Total for IBM, and continue to zoom in to find the 25936855.doc
Confidential © Adaequare, Inc
Page 27 of 132
27
LIGHTBOLT products again. How does this option differ from the previous one?
Exercise - Troubleshooting Reports Errors in reports are commonly caused by incorrect labels or label placement. The Troubleshooting.xls file contains a series of tabs that may or may not have retrieval problems. For each tab, diagnose and correct the issue. Tab Name
Diagnosis
Resolution
Labels 1 Labels 2 Labels 3 Labels 4 Labels 5 Labels 6 Labels 7 Labels 8
Exercise - Managing Display Options Essbase gives you many different options for displaying your reports. In this exercise, you take a prebuilt report and change the display options so it matches the finished result. On the Managing Options tab in the SSReports.xls file, make the necessary changes to display the report as shown in the following sample: 25936855.doc
Confidential © Adaequare, Inc
Page 28 of 132
28
In Essbase > Options > Style , do the following tasks: Define a style for the Product and Year Tot dimensions. Define a style for Linked Objects . In Essbase > Options > Display , do the following tasks:
Display aliases. Display member names and aliases for rows. Display styles. Suppress #Missing rows. Display no indentation. Select Apr for the latest time period in Dynamic Time Series.
In the report, do the following tasks: Create a linked reporting object. Replace Year Tot with YTD
25936855.doc
Confidential © Adaequare, Inc
Page 29 of 132
29
Exercise - Selecting Members from the Outline Even with their most focused settings, the basic zoom options can return more information than is necessary for more selective reporting. In this exercise, you are asked to create a report for the Config A LIGHTBOLT and MAVRIDER products only. Since this product list does not exist as part of the natural outline hierarchy, you use the advanced selection options in the member selection tool to build it. On the Member Selection tab in the SSReports.xls file, build the report to the following specifications: Report Section Report Header Column Headers Row Headers
Dimension Members Current Year, IBM, Units Jan through Apr, Y-T-D(Apr) Config A LIGHTBOLT and MAVRIDER products (level 0 only) The finished report should look as follows:
Exercise - Designing Queries You have been asked by the Channels organization to modify the previous report to include a list of all level 0 products grouped by the customers in the OEM channel. In addition, they want to see the products sorted within each group in descending order 25936855.doc
Confidential © Adaequare, Inc
Page 30 of 132
30
based on the YTD totals, and they want to filter out rows with no YTD totals. Because this report requires nested dimensions in the rows and server-based sorting, Essbase Query Designer is the best tool for the job. On the Member Selection tab in the SSReports.xls file, build the report to the following specifications:
Query Section Header Dimensions
Dimension Members Current Year, Units.
Column Dimensions
Jan through Apr, Y-T-D(Apr).
Row Dimensions shared members).
OEM and children, all level 0 products (suppress
Data Filtering Data Sorting
Restrict data retrieval to rows where data is not a #Missing value for Y-T-D(Apr). Sort the products by the YTD total.
. The finished report should look as follows:
25936855.doc
Confidential © Adaequare, Inc
Page 31 of 132
31
Exercise - (Optional) Replicating Reports with Cascade Many organizations need to regularly create many similar reports based on a standard template. Rather than replicating these reports manually, Essbase can do it automatically with the Cascade option. In this exercise, you create reports for distribution using the Cascade option. This exercise assumes that the SSReports.xls file is open. 1) Select the Swoosh worksheet. 2) Select OEM . 3) Select Essbase > Cascade . 4) On the Cascade Information tab, ensure that the member is set to cascade on OEM, Next level .
25936855.doc
Confidential © Adaequare, Inc
Page 32 of 132
32
5) Select the Destination Options tab.
6) Under Destination Directory, browse to the directory where you want to store the reports. 7) Under Destination Types, select One Workbook, Separate Sheets . 8) Under File Information, select Open Created Files . 9) Under Naming Information, perform the following tasks: • For Prefix, type OEM . 25936855.doc
Confidential © Adaequare, Inc
Page 33 of 132
33
• For Suffix, type Cust . • For Workbook Name, type OEMRpt . 10) Select the Format Options tab.
11) Perform the following tasks: • Select Copy Formatting . • Select Include Table of Contents . 12) Click OK . The OEMRpt.xls file is generated. 13) Open OEMRpt.xls and review the worksheets.
Viewing the Table of Contents 1) Start Notepad (or any other text editor). 2) Select File > Open . 25936855.doc
Confidential © Adaequare, Inc
Page 34 of 132
34
3) Browse to the directory containing the OEMRpt.xls file. 4) Select OEM0Cust.lst . You may have to select All Files from the Files of Type drop-down list box to see this file in the directory. 5) Click Open .
Exercise - Spreadsheet Formulas In this exercise, you use formula protection options on a spreadsheet report. This exercise assumes that the SSReports.xls file is open. 1) Select the Formulas worksheet. 2) Select Essbase > Retrieve .
This dialog box is displayed every time you retrieve or zoom in on this report to inform you that a given piece of metadata is not in the database. For the purposes of this course, always click No to skip additional messages and continue. 3) Click No
25936855.doc
Confidential © Adaequare, Inc
Page 35 of 132
35
4) Select cell D5 and type the following formula: =C5-B5 . 5) Copy the formula down to cell
D7 .
6) Select Essbase > Retrieve . The formula is not preserved. 7) Select Essbase > FlashBack . 8) Select Essbase > Options > Mode . 9) Under Formula Preservation, select
Retain on Retrieval and click OK .
10) If necessary, repeat steps 4 and 5 to create a formula for the variance column. 11) Select Essbase > Retrieve . Note that the formula is preserved.
To Retain on Zooms 1) Zoom in on PERFORMANCE . The formula is not preserved. 2) Select Essbase > Flashback . 3) Select Essbase > Options > Mode. 4) Under Formula Preservation, select
Retain on Zooms and click OK .
5) If necessary, reenter the formula for the variance column. 6) Zoom in on PERFORMANCE . The formula is preserved for Performance, but its children now have no formula. 7) Select Essbase > Flashback . 25936855.doc
Confidential © Adaequare, Inc
Page 36 of 132
36
The original report is displayed. 8) Select Essbase > Options > Mode . 9) Under Formula Preservation, select Formula Fill and click OK . 10) Zoom in on PERFORMANCE. Both Performance and its children retain their formulas.
25936855.doc
Confidential © Adaequare, Inc
Page 37 of 132
37
MODULE 4 CREATING BASIC CALCULATIONS Exercise - Examining the Anatomy of a Rollup In this exercise, you create a new calculation script that calculates each dimension in the Sales database one by one. This exercise assumes that the database was cleared of all data and that Actual.txt and Forecast.txt were loaded with Loadcorp.rul. 1) In the Enterprise View, select the
Bigcorp:Sales database.
2) Select File > New > Scripts > Calculation script and click OK .
3) Select Insert arguments . 4) On the Categorical tab, expand the Functional category and double-click SET UPDATECALC . This commands turns off Intelligent Calculation functionality for this calculation script.
25936855.doc
Confidential © Adaequare, Inc
Page 38 of 132
38
5) In the Calculation Script Editor, modify to include the semicolon).
SET UPDATECALC to OFF; (be sure
Calculating the Accounts Dimension 1) On the Categorical tab, select the Functional category and doubleclick CALC DIM . The function is displayed in the Calculation Script Editor. 2) In the Calculation Script Editor, highlight the dimList argument.
3) In the Dimensions list, right-click Accounts and select Insert member name .
dimlist is replaced by the Accounts member
.
25936855.doc
Confidential © Adaequare, Inc
Page 39 of 132
39
4) Select File > Save . 5) Name the calculation script
CalcCorp .
6) Click OK . 7) Open Anatomy.xls (located in the BCI\CalcIt\Anatomy directory). 8) Connect to Bigcorp:Sales on the This Is A Block worksheet and retrieve. You should see only input data at this point. 9) Select Essbase > Calculation . The Essbase Calculation dialog box is displayed. 10) Select CalcCorp and click Calculate . 11) Select Essbase > Retrieve and analyze the result. The upper-level Accounts dimension members now contain data. Calculating the Year Tot Dimension 1) Open the CalcCorp calculation script. 2) In the CALC DIM statement, insert Year Tot after Accounts. Make sure to separate Account and Year Tot with a comma. 3) Save the calculation script. 4) Open Anatomy.xls . 5) Select Essbase > Calculation . 25936855.doc
Confidential © Adaequare, Inc
Page 40 of 132
40
6) Select CalcCorp and click Calculate . 7) Select Essbase > Retrieve and analyze the result. Calculating the Customer Dimension 1) Open the CalcCorp calculation script. 2) In the CALC DIM statement, insert Customer after Year Tot. Make sure to separate Year Tot and Customer with a comma. 3) Save the calculation script. 4) Open Anatomy.xls . 5) Select Essbase > Calculation 6) Select CalcCorp and click Calculate . 7) Change the page header from IBM to
OEM .
OEM is an upper-level member across the Customer dimension. 8) Select Essbase > Retrieve and analyze the result. Data is displayed for Accounts and Year Tot for upper-level blocks across the Customer dimension. New upper-level Customer blocks are created. Calculating the Product Dimension 1) Open the CalcCorp calculation script. 2) In the CALC DIM statement, insert Product after Customer. 3) Save the
25936855.doc
Confidential © Adaequare, Inc
Page 41 of 132
41
calculation script. 4) Open Anatomy.xls . 5) Select Essbase > Calculation . 6) Select CalcCorp and click Calculate . 7) Change the page header label from
Lightbolt 365 A to Lightbolt .
Lightbolt is an upper-level member across the Product dimension. 8) Select Essbase > Retrieve and analyze the result Data is displayed for Accounts and Year Tot for upper-level blocks across the Product dimension. New upper-level Product blocks were created.
Exercise - Adding a Back Calculation Although you have rolled up all dimensions in the outline, some data is not aggregating correctly. In this exercise, you modify the CalcCorp.csc file to correct rates that are aggregating incorrectly. 1) Open the CalcCorp calculation script. 2) After the CALC DIM statement, add a block of formulas to derive the correct rates for the following accounts: List Price , Discount % , Labor/Unit , Matl/Unit , Overhead Rate , Gross Margin % . Enclose the group of formulas in parentheses to prevent jump-ahead behavior from the CALC DIM statement. 3) Save the script. 4) Calculate CalcCorp and check your results on the Anatomy.xls file:
25936855.doc
Confidential © Adaequare, Inc
Page 42 of 132
42
Exercise Focusing with FIX Modify the following calculation script to fix on: Current Year January, February, and March /* Housekeeping */ SET UPDATECALC OFF; /* The Baseline Fix */ /* The Main Rollup */ CALC DIM (Accounts, Customer, Product); Save the script as FixIt and calculate. Check your results on the FixIt tab of the Anatomy.xls file.
25936855.doc
Confidential © Adaequare, Inc
Page 43 of 132
43
Exercise - Focusing with IF Forecasting calculations typically perform time range calculations (counting forward or backward in the Time dimension) and generally include simple to complex conditional logic. In this exercise, you write a forecasting calculation script for the Sales database. 1) Open Anatomy.xls . 2) Using the If It worksheet as a reference, write calculation scripts to: • Push units from August to September • Push units into Qtr 4 with a two month lag and a 10% accelerator • Push price into September and the months in Qtr 4 with a one-month lag and a 10% decelerator Extra Credit The 10% accelerator for Units creates partial units in some months. Modify your script so that units are rounded to the nearest whole number.
Exercise - Creating Mix Calculations Mix calculations are typically a percent-to-total type of ratio calculation that takes a data value at an given level and figures what percentage it is of a related total. You have been asked to create several mix calculations in the Sales outline. 1) Examine the formulas on the Mix Calculation Required tab in the SSReports.xls file. 2) In the Sales outline, add a formula to Unit Mix that calculates the current 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 25936855.doc
Confidential © Adaequare, Inc
Page 44 of 132
44
Write a calculation for the Moving Average account that takes a three-month moving average (the current month plus the previous two months) of unit sales. The calculation should span Prio r Year and Current Year . For the first two months in Prior Year, use the units sold for Moving Average. Extra Credit Write your calculation script so that #Missing data is not counted. Exercise - Managing Calculation Script Maintenance Many calculation scripts contain values or member names that are variable and must therefore be updated regularly. To make maintenance easier, create server-based substitution variables. This gives you one place to update multiple calculation scripts. Creating Substitution Variables 1) In the EAS Enterprise View, double-click the Variables name.
node under the server
2) In the Application drop-down list box, select Bigcorp . 3) In the Database drop-down list box, select Sales . 4) In the Variable text box, type CurrentMonth . 5) In the Value text box, type Feb . 6) Press Enter . 7) On row 2, repeat steps 2 through 5 to create a second variable called PriorMonth with a value of Jan . 8) Click Close . Adding Substitution Variables to Calculation Scripts 1) Open CalcCorp.csc . 2) Add the following variance calculation to the Back Calculation section for the Curr Mo Vs Prior member: @VAR (&CurrentMonth, &PriorMonth); 3) Save and then calculate CalcCorp . 4) Check your results on the Sub Variable tab of the Anatomy.xls file. Exercise - Optimizing Block Size with Aggressive Dynamic Calculation To improve retrieval times, Bigcorp Manufacturing has decided to eliminate unnecessary back calculations from their calculation scripts. 25936855.doc
Confidential © Adaequare, Inc
Page 45 of 132
45
In this exercise, you create a new application and database named Dynamic and use the information in the Aggressive.xls workbook such that a back calculation is not necessary to produce correct values. 1) Open Agressive.xls (located in BCI\CalcIt\Dynamic). The values in the No Dynamic spreadsheet represent a retrieve from the Bigcorp database with no dynamic calculations. These values are correct. 2) Create a new application called Dynamic with a new database called Dynamic . 3) Open the dynamic.otl file from the BCI\CalcIt\Dynamic directory and save it to the Dynamic database (overwrite the existing outline file). 4) Load Actual.txt and Forecast.txt using Loadcorp.rul (those files are also in the BCI\CalcIt\Dynamic directory). 5) Calculate the Dynamic database. 6) Open Aggressive.xls , and retrieve it into the dynamic spreadsheet. 7) In the comparison spreadsheet, create a formula that subtracts the two spreadsheets and copy it to all data cells. Investigate all nonzero values. 8) Return to the Dynamic database and make any changes required to correct the calculation until the Comparison worksheet in the Agressive.xls workbook indicates that the No Dynamic and Dynamic spreadsheets are in sync. 9) When you are satisfied that the spreadsheets are in sync, return to the database and make a note of the current block statistics. 10) In the dynamic outline, experiment with dynamic calculations and two-pass calculations by setting everything possible to dynamic in a way that still keeps the No Dynamic and Dynamic spreadsheets in sync.
MODULE 5 Designing and optimizing the advanced calculation scripts
25936855.doc
Confidential © Adaequare, Inc
Page 46 of 132
46
Exercise - Manipulating Data with Calculation Scripts Copying data from one scenario to another is often a handy way to quickly populate a scenario with useful data that you can then manipulate as necessary. In the first part of this exercise, you create a budget by copying prior year Actual data into the Budget scenario and then modifying it. In the second part, you populate a Rolling Forecast scenario with a combination of Current Year (Actuals) and Budget data. Before You Begin 1) Clear all data currently in Bigcorp:Sales. 2) Load Actual.txt and Forecast.txt using the Loadcorp.rul rules file. 3) Calculate the Sales database using CalcAll.csc. Creating a Budget from Prior Year Actual Data 4) Open Calcu lations.xls (located in the BCI\CalcIt\AdvancedCalcs directory). 5) Select the Datacopy worksheet. 6) Write a calculation script to copy the data from Prior Year to Budg et and increase the new Budget values by 10% . 7) Calculate the script and use the Datacopy worksheet to verify the data. Creating a Rolling Forecast from Actual and Budget Data 1) In the Substitution Variables dialog box, change the value of the CurrentMonth substitution variable to May . 2) Change the value of the PriorMonth substitution variable to Apr . 3) Write a calculation script to copy all data up to the prior month from Current Year to the Rolling Forecast scenario. 4) Populate all current and future months for Rolling Forecast with Bud get data Exercise - Clearing Data As the result of a data load, you realize erroneous data was loaded into Lightbolt 540 S . Write a calculation script to correct the problem. Your script should do the following tasks: Clear data from Lightbolt 540 S and its ancestors for the Current Year Recalculate the Product dimension. Use a back calculation to correct rate values. In your environment, assume that SET AGGMISSG must be turned off. Exercise - Counting Customers To do long-range resource planning, your company wants to determine the 25936855.doc
Confidential © Adaequare, Inc
Page 47 of 132
47
disbursement of products across the customer base. In this exercise, you write a calculation for Customer Count to count the number of customers that bought each product. Extra Credit Modify this script so that the Customer Count stores a 1 for every occurrence of a product sale. To see all customers for a given product, you must look at the Customer level.
Exercise - Allocating Data In this exercise, you create a complex calculation script for the Bigcorp:Sales database. Before You Begin 1) For testing purposes, create a calculation script called that clears all data.
ClearAll
2) Load Budget data from the input worksheets in the Pushcorp.xls file (located in the BCI\CalcIt\Pushcorp directory). Building the Script Use this normalization table as a reference:
The calculation script should accomplish the following: 1) Turn intelligent calculation off because of multiple passes on blocks. 2) To enhance performance, add a command to make the calculator aggregate missing values, as there are no upper-level inputs to protect. 3) Declare allocation variables. 4) Focus on the Bud get scenario. 25936855.doc
Confidential © Adaequare, Inc
Page 48 of 132
48
5) Push down units and rates loaded at upper levels to level 0. 6) Do a focused rollup for allocation of Other CGS expenses: Calculate Net Sales , then sum Units and Net Sales across Product and Customer dimensions for members used as the allocation base. 7) Allocate Other CGS expenses to level 0 using variable allocation ratios. Focus calculations using FIX to level 0 members for Customers and Products. 8) Perform dimension rollups. 9) Recalculate any upper-level rates or percentages that contain erroneously aggregated data.
Exercise - (Optional) Advanced Allocations Use Calculations.xls and the data on the Allocations Input worksheet to create allocations for Material Variances , Labor Variance , and Overhead Variance . Complete the following tasks: 1) Load Actual.txt with Loadcorp.rul 2) Run CalcAll.csc . 3) After the consolidation is complete, lock and send the data on the Allocations Input worksheet. 4) Write an allocation to distribute Material Variances across all customers and products based on a ratio of individual unit sales for each customer and product over all units sold. Use the Allocations Audit worksheet. 5) Write a new script to push Labor Variances down to the next level of Family Total based on an even split between the children with data. 6) For Overhead Variances , combine steps 3 and 4. Use the straightline allocation method to push Overhead Variances to the next level of Family Total. At the next generation of Family Total, Overhead Variances should be allocated based on a ratio of individual unit sales for each customer and product over all units sold. Extra Credit Write a stepped allocation to push Obsolete Charges down to level 0 of Product so that each level is based on an even split between the children with data.
25936855.doc
Confidential © Adaequare, Inc
Page 49 of 132
49
Exercise solution Module 1 Exercise - Building a Scenario Dimension In this exercise, you build a Scenario dimension and set up a variance calculation for the Sales database. This exercise assumes that you have the Sales outline open. Building a Scenario Dimension 1) Select Year Tot . 2) Click Add Sibling . 3) Type Scenario in the text box. 4) Press Enter twice. 5) Select Scenario . 6) Click Add Child . 7) Add these children to Scenario: Current Year , Prior Year , Forecast , Budget , and Scenario Variances 8) Select Scenario Variances . 9) Click Add Child . 10) Add these children to Scenario Variances: Act Vs Bud , Act Vs Fcst , and Bud Vs Fcst . 11) Select Act Vs Bud . 12) Click Add Child . 13) Add these children to Act Vs Bud: Current Year and Budget . 14) For both children of Act Vs Bud, open the Member Properties dialog box and set the storage type to Shared Member . 15) Select the Budget shared member.
25936855.doc
Confidential © Adaequare, Inc
Page 50 of 132
50
16) Right-click and select Edit member properties . 17) Change the Consolidation property of the Budget member to (-) Subtraction . 18) Click OK . Creating Formulas for Act Vs Fcst and Bud Vs Fcst 1) Right-click Act Vs Fcst and select Edit member properties . 2) Select the Formula tab.
3) In the Dimensions Essbase Server, expand Scenario . The children of the Scenario dimension are displayed. 4) Double-click Current Year . Current Year is displayed in the formula window. 5) Expand the Operators list. 6) Double-click the minus sign ( - ). The minus sign ( - ) is displayed in the formula window. 7) In the Members Essbase Server, double-click Forecast . Forecast is displayed in the formula window. 8) Position the cursor and the end of the formula and type a semicolon ( ; ). 25936855.doc
Confidential © Adaequare, Inc
Page 51 of 132
51
9) Click the Ve rif y button to verify the formula. 10) In the Member Formula dialog box, click 11) In the Member Properties dialog box, click
OK . OK .
12) Repeat steps 1 through 11 to create the formula for Forecast .
Bud Vs
13) Select File > Save Assigning Nonconsolidation Operators 1) Select Current Year . 2) Right-click and select Edit member properties . The Member Properties dialog box is displayed. 3) Change the Consolidation property of the Current Year member to (~) Ignore . 4) Click OK . 5) Change the Consolidation property to (~) Ignore for the following members: Prior Year , Budget , Forecast , Scenario Variances , Act Vs Bud , Act Vs Fcst , and Bud Vs Fcst . Setting Data Storage to Label Only 1) Select Scenario . 2) Right-click and select Edit member properties . The Member Properties dialog box is displayed. 3) Set the Data Storage property for the Scenario dimension to Label Only . Label Only is used for outline members that are a label and whose value has no meaning to the data. When marked Label Only, the member is not included in the data block structure of the database. 4) Click OK .
25936855.doc
Confidential © Adaequare, Inc
Page 52 of 132
52
5) Repeat steps 2 through 4 for the Scenario Variances member.
6) Verify and save the Sales outline. Exercise - Creating the Accounts Dimension In this exercise, you create the Accounts dimension for the Sales database. This exercise assumes that you have the Sales outline open. 1) In the Sales outline, add a sibling to Scenario named
Accounts .
2) Add a child to Accounts named Gross Sales . 3) Add children to Gross Sales named
Units and List Price .
4) Select List Price . 5) Right-click and select Edit member properties .The Member Properties dialog box is displayed. 6) Change the Consolidation property of the List Price member to (*) Multiplication . 7) Click OK . 8) Open Corpacct.xls (located in the BCI\Outline directory). 9) Select the Gross Margin Analysis worksheet.
25936855.doc
Confidential © Adaequare, Inc
Page 53 of 132
53
10) Compare the formulas and entries for computing Gross Sales in Excel to the Accounts model. Create Members Through Net Sales Using Unary Operators 1) Create Discounts as a sibling of Gross Sales. 2) Add children to Discounts named
Gross Sales and Discount % .
3) Under Discounts , select Gross Sales . 4) Right-click and select Edit member properties . The Member Properties dialog box is displayed. 5) Change the Data Storage property to Shared Member . 6) Click Next . The Member Discount % is active. 7) Change the Consolidation property of Discount % to (*) Multiplication . 8) Click OK . 9) Create Net Sales as a child of Accounts. Since Gross Sales and Discounts calculate Net Sales, they are children of Net Sales. 10) Move Gross Sales and Discounts from their position as siblings of Net Sales to children of Net Sales. 25936855.doc
Confidential © Adaequare, Inc
Page 54 of 132
54
11) Change the Consolidation property of the Discounts member to (-) Subtraction .
Creating Additional Members Through Gross Margin % 1) Analyze parent-child relationships in the Gross Margin (Corpacct.xls).
Analysis worksheet
2) Create siblings of Net Sales : Direct Labor, Material, Overhead, Cost Of Sales, Material Variances, Labor Variances, Overhead Variances, Obsolete Charges, Inventory Adjustments, Other CGS, Gross Margin, Gross Margin % . 3) Move Direct Labor , Material , and Overhead to children of Cost Of Sales . 4) Move Material Variances, Labor Variances, Overhead Variances, Obsolete Charg es and Inventory Adjustments to children of Other CGS . 5) Move Net Sales, Cost of Sales and Other CGS to children of Gross Margin . 6) Add children to Direct Labor named 7) Add children to Material named Matl/Unit .
Units and Labor/Unit . Units
and
8) Add children to Overhead named Direct Labor and Overhead Rate . Your outline should look similar to the following sample:
25936855.doc
Confidential © Adaequare, Inc
Page 55 of 132
55
Units Set the Data Storage property to Shared Member. 9) Examine all members in the Accounts dimension and look for data storage problems. 10) Compare the relationships in the Corpacct.xls file to the Accounts dimension in the Sales outline, and determine the correct consolidation operators. 11) Use this table to change the properties for the members in the Accounts dimension: Parent Accounts
Member
Gross Margin Gross Margin %
Property Settings Set the Data Storage property to Label Only. Set the Consolidation property to ignore (~). Set the Consolidation property to ignore (~).
Gross Margin Cost Of Sales Other CGS
Set the Consolidation property to subtraction (-). Set the Consolidation property to subtraction (-).
Direct Labor Units Labor/Unit
Set the Data Storage property to Shared Member. Set the Consolidation property to Multiplication (*).
Material Units Matl/Unit
Set the Data Storage property to Shared member Set the Consolidation property to multiplication (*).
Overhead Direct Labor Overhead Rate
Set the Data Storage property to Shared Member. Set the Consolidation property to multiplication (*).
12) Select Outline > Verify. 13) Correct any errors that may occur. 14) Select File > Save. Your completed Accounts dimension should look similar to the following sample: 25936855.doc
Confidential © Adaequare, Inc
Page 56 of 132
56
Exercise - Loading the Family Total Hierarchy In this exercise, you create a load rule and associate the rule with the Sales outline. You open the source file to be loaded and make the appropriate settings to match the characteristics of the file. You then load the Family Total rollup to the Products dimension in the Sales outline. Opening the Data Prep Editor 1) On the Enterprise View of the Administration Console, select the Bigcorp application and the Sales database. 2) Select File > New . The New dialog box is displayed. 3) Select the Scripts tab
25936855.doc
Confidential © Adaequare, Inc
Page 57 of 132
57
4) Select Rules file , and then click OK . The Data Prep Editor is displayed. Associating the Load Rule with the Sales Outline 1) Select Options > Associate outline . 2) Make sure that the outline is set to the Bigcorp application and the Sales database, and then click OK . Opening the Source File to Be Loaded 1) Select File > Open data file . The Open dialog box is displayed. 2) On the File System tab, select Excel sheets (*.xls) in the Files of type list. 3) Open the
LoadRule/FamGen.xls file.
25936855.doc
Confidential © Adaequare, Inc
Page 58 of 132
58
To see the file, you need to set the file type to XLS or All files.
Setting the Dimension Building Mode 1) Select View > Dimension build fields . Load Rules can dynamically build dimensions or load data into a database. The different modes enable you to define the settings for each of these activities. Selecting the Data File Delimiter Type 1) Select Options > Data source properties . 2) Select the Delimiter tab 3) Confirm that the delimiter setting is the default Tab . 4) Click OK . Creating the Product Dimension 1) Select Options > Dimension build settings . 2) Select the Definition tab.
Dimension
3) Select Rules File and, next to Dimensions , click Click here to edit . 4) Enter Product . 5) Press Enter . Product is displayed in the Rules file Dimensions list. 6) Right-click Product and select Edit properties .
25936855.doc
Confidential © Adaequare, Inc
Page 59 of 132
59
7) Select the Dimension Properties tab. 8) In the Data Storage section, select Label Only . 9) In the Configuration section, select Sparse . 10) Click OK . The Dimension Build Settings dialog box is displayed. 11) Click OK . Selecting the Load Building Method 1) Select Options > Dimension build settings . The Dimension Build Settings dialog box is displayed. 2) Select the Dimension Build Settings tab. 3) In the Dimension list, double-click Product . 4) In the Build method section, select
Use generation references .
5) Click OK . You return to the Data Prep Editor. Associating Field Headers with Dimensions and Generations 1) Select any member or the column header for Field 1, and then select Field > Properties . Field Number: 1 is displayed above the Field Definition area. 2) Select the Dimension Build Proper ties tab. 3) In the Dimension list, double-click Product . Product is displayed in the Dimension area. 25936855.doc
Confidential © Adaequare, Inc
Page 60 of 132
60
4) In the Field type section, double-click Generation , for the generation Number, enter 2 . 5) Click Next . Field Number: 2 is displayed above the Field Definition area. 6) For Field 2, select Product for the Dimension, Property for the Field Type, and 2 for the Number. The property for the preceding generation 2 member is set. 7) Click Next . Field 3 is displayed. 8) Continue the process for the subsequent fields using the information in the following table: Field # 3 4 5 6
Field Type Generation Generation Generation Alias
Generation 3 4 5 5
Dimension Product Product Product Product
9) Click OK . You return to the Data Prep Editor. Ignoring the First Header Row 1) Select Options > Data source properties . The Data Source Properties dialog box is displayed. 2) Select the Header tab. 3) In the Header Lines group, enter
1 for the Number of lines to skip .
4) Click OK . You return to the Data Prep Editor. Saving the Load Rule 1) Select Options > Validate to validate the load rule. 2) Correct any errors noted. 3) When you receive the message, “The rules file is correct for dimension building,” click OK . 4) Select File > Save . 5) Save the file as Fam_Gen on the Essbase Server to the Sales 25936855.doc
Confidential © Adaequare, Inc
Page 61 of 132
61
database. The file type RUL is automatically set up by Essbase.
6) Select File > Close . The Data Prep Editor closes. Loading the Family Total Rollup to the Products Dimension 1) In the Sales outline, select Outline > Update Outline . 2) Click Find Data File and select the FamGen.xls file located in the BCI\LoadRule directory. 3) Click Find Rules File . The Open dialog box is displayed. 25936855.doc
Confidential © Adaequare, Inc
Page 62 of 132
62
4) On the Analytic Server tab, select the Fam_Gen.rul file from the list. 5) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 6) Click OK . If the load fails, open the error file and make corrections, and then try again 7) Expand the Product dimension to view the loaded changes. The outline should appear similar to the following sample:
If the load did not process correctly, you may close the outline without saving changes.
Module 2
Exercise (Optional) Using the Level Build Method In this exercise, you review the level rule structure and redo the Family Total Rollup using the level load rule. This exercise assumes that you have the Essbase Administration Services Console open and the Bigcorp application and Sales database selected. Reviewing the Level Load Rule Structure 1) Select File > Open . 25936855.doc
Confidential © Adaequare, Inc
Page 63 of 132
63
2) Click System .
File
3) Select Fam_Lev.rul (in the BCI\LoadRule directory) and click OK . 4) If prompted, select English (Latin1) for File Encoding. The Data Prep Editor is displayed. 5) Select File > Open data file . The Open dialog box is displayed. 6) On the File System tab, select Excel sheets (*.xls) in the Files of type list. 7) Locate and select the FamLev.xls file in the BCI\LoadRule directory. 8) Click OK to open the FamLev.xls file 9) Review the load rule structure and contrast to the Fam_Gen load rule. Columns are organized bottom-up, left to right. 10) Select File \ Close . The Data Prep Editor closes
25936855.doc
Confidential © Adaequare, Inc
Page 64 of 132
64
Reloading the Family Total Hierarchy Using the Level Load Rule 1) Open the Sales outline if it is not currently opened. 2) Expand the Product dimension. 3) Select Family Total and press Del . A confirmation message is displayed. 4) Click Ye s . Family Total and all its children are deleted from the outline. 5) Verify and save the Sales outline. 1) In the Sales outline, select
Outline > Update Outline .
2) Click Find Data File and select the FamLev.xls file located in the BCI\LoadRule directory. 3) Click Find Rules File . The Open dialog box is displayed. 4) On the File System BCI\LoadRule directory.
tab, select the
Fam_Lev.rul
file from the
5) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 6) Click OK. If the load fails, open the error file, make corrections, and then try again. 7) Expand the Product dimension. 25936855.doc
Confidential © Adaequare, Inc
Page 65 of 132
65
If no errors occurred, the Family Total member and all its children are added back into the Sales outline.
Exercise - Creating a Parent-Child Load Rule In this exercise, you create a new dimension build load rule and set the rule to use the Parent-Child method.This exercise assumes that you have the Administration Console open and the Bigcorp application with the Sales database selected in the Enterprise View. Creating a New Load Rule 1) Open a new load rule. 2) Select Options > Associate outline to associate the rule with the Sales outline. 3) Select File > Open data file . 4) On the File System tab, select Configpc.xls (located in the BCI\LoadRule directory). 5) Select View > Dimension build fields. 6) Select Options > Dimension build settings and then select the Dimension Build Settings tab. 7) In the Dimension list, double-click Product . 8) In the Build Method section, select Use parent-child references . When you select Use Parent-Child references, the Do Not Share check box becomes available in the Existing Members list. The Do Not Share check box is cleared when it becomes available. Leaving this box unchecked allows existing members with unique parents to be automatically set up as shared members. Leave this box unchecked. 9) Click OK . You return to the Data Prep Editor.
Associating Columns with Field Properties 1) Select any member in column one and select
Field > Properties .
2) Select the Dimension Build Proper ties tab. 3) From Field Type , double-click Parent . 25936855.doc
Confidential © Adaequare, Inc
Page 66 of 132
66
A placeholder value of 0 is required in the Number field. If it is not displayed, be sure to enter the zero. This required placeholder value has no significance for parent-child loads. 4) From Dimension , double-click Product . The name Product is displayed in the Dimension area. 5) Click OK . The Field Properties dialog box closes and you return to the Data Prep Editor. Rather than clicking OK at this point, you could also click Next to move through the columns of the file while making the assignments as directed. Then, you would select OK only when all columns had been assigned values. 6) Select any member in column two and then repeat steps 1 to 5 with the following changes: • In the Field Type list, choose Property . •Enter 0 for Number. • In the Dimension list, select Product . 7) Select any member in column three and then repeat steps 1 to 5 with the following changes: • In the Field Type list, choose Child . •Enter 0 (zero) for Number. • In the Dimension list, select Product . 8) Click OK . Ignoring the First Header Row 1) Select Options > Data source properties and select the Header tab. 2) For Number of lines to skip in the Header section, enter 1 . 3) Click OK . Saving the Load Rule 1) Select Options > Validate 2) Correct any errors noted. 3) When you receive the message, “The rules file is correct for dimension building,” click OK . 4) Save the file as Par_Ch on the Server to the Sales database. 5) Select File > Close to close the Data Prep Editor.
25936855.doc
Confidential © Adaequare, Inc
Page 67 of 132
67
Exercise - Loading Dimensions Using a Parent-Child Rule Use the Parent-Child load rule just constructed to load the Configuration Total and Line Total hierarchies to the Product dimension in the Sales outline.This exercise assumes that you have the Sales outline open. 1) In the Sales outline, select
Outline > Update Outline .
2) Click Find Data File BCI\LoadRule directory.
and select the
ConfigPC.xls
file located in the
3) Click Find Rules File . The Open dialog box is displayed. 4) On the Analytic Server tab, select the Par_Ch.rul file from the list. 5) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 6) Click OK . If the load fails, open the error file, make corrections, and then try again. 7) Expand the Product dimension. Shared Members are automatically created. 8) Save the Sales outline
Updating Outline
the
1) In the Sales outline, select Outline > Update Outline . 25936855.doc
Confidential © Adaequare, Inc
Page 68 of 132
68
2) Click Find Data File and select the LinePC.xls file located in the BCI\LoadRule directory. 3) Click Find Rules File . The Open dialog box is displayed. 4) On the Analytic Server tab, select the Par_Ch.rul file from the list. 5) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 6) Click OK . If the load fails, open the error file, make corrections, and then try again. 7) Expand the Product dimension Shared Members are automatically created. 8) Save the Sales outline.
Exercise - (Optional) Clorox Minty In this exercise, you create a new dimension, Mint. Then you create a new load rule to load the data. This exercise assumes that you have the Sales outline open. 1) In the Sales outline, add a new dimension Mint as a sibling to Customer. 2) Click OK and then click Save . If asked if you want to reposition attribute dimensions to the bottom of the outline, click Yes . 3) If the Restructure Database dialog box is displayed, select Discard all data . 4) Select File > Close . Creating a New Load Rule 1) Create a new load rule. 25936855.doc
Confidential © Adaequare, Inc
Page 69 of 132
69
2) Select Options > Associate outline and associate the rule with the Sales database. 3) Select File > Open data file and double-click Minty.txt (located on the File System tab in the LoadRule directory). 4) Select View > Dimension build fields . Replicating Fields Needed to Create Unique Members 1) Select Field 1 and then select Field > Create using join . 2) Click OK . Field 1 is duplicated. 3) Repeat steps 1 and 2. You now have three fields containing the first record, Clorox. 4) Select Field 4 and then select Field > Create using join . 5) Click OK . Two copies of this field now exist. Moving Members 1) Select Field 4 and then select Field > Move . 2) Click Up to move the field between Field 2 and Field 3. 3) Click OK .
Inserting Space Fields 1) Select Field 3 and then select Field > Create using text . 2) Type a blank space in the input box and click OK . A field with a single space is inserted as a new Field 3. 25936855.doc
Confidential © Adaequare, Inc
Page 70 of 132
70
3) Repeat steps 1 and 2, inserting a blank space between the current Field 5 and Field 6 and between Field 6 and Field 7 .
There are total of nine fields with just a single space in fields 3, 6, and 8. Concatenating the Fields 1) Select Fields 2 , 3 , and 4 and then select Field > Join . 2) Click OK . The three fields are joined into a single Field 2 with correct spacing between the words. 3) Select the Fields 3 through 7 and then select Field > Join . 4) Click OK .
25936855.doc
Confidential © Adaequare, Inc
Page 71 of 132
71
Associating Fields with Dimensions 1) Select Field 1 and then select Field > Properties . 2) Select the Dimension Build Proper ties tab. 3) In the Dimension section, double-click Mint . 4) In the Field Type section, select Generation . 5) Enter 2 for the generation number. 6) Click Next . 7) Repeat steps 3 through 6 for Field 2 and Field 3: • For Field 2, select the Mint dimension, Generation Field Type, and generation number 3 . • For Field 3, select the Mint dimension, Generation Field Type, and generation number 4 .
25936855.doc
Confidential © Adaequare, Inc
Page 72 of 132
72
8) Click OK . 9) Select Options > Validate . 10) Correct any errors listed. Loading the Clorox Minty Hierarchy to the Mint Dimension 1) Save the load rule as Loadmint to the Essbase Server under the Sales database. 2) Select File > Close . 3) In the Sales outline, select Outline > Update Outline . 4) Click Find Data File and select the Minty.txt file located in the BCI\LoadRule directory. 5) Click Find Rules File . The Open dialog box is displayed. 6) On the Analytic Server tab, select the loadmint.rul file from the list. 7) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 8) Click OK . If the load fails, open the error file, make corrections, and then try again. 9) Expand Mint and compare your results with the following outline.
25936855.doc
Confidential © Adaequare, Inc
Page 73 of 132
73
10) In the Sales outline, right-click Mint and select Delete. 11) In the Outline Confirmation dialog box, click Yes. If a warning message is displayed, select Mint and click OK. 12) Save the Sales outline. 13) If prompted to restructure data, select Discard all data and click OK . Exercise - Loading a Channels Hierarchy to Customer In this exercise, you create a new load rule to build the Customer dimension and its children using the generation method.This exercise assumes that you have the Sales outline open Creating a New Load Rule 1) Open a new load rule. 2) Select Options > Associate outline and associate the load rule with the Sales database. 3) Select File > Open data file . 4) Locate and select the CusChan.xls file in the BCI/LoadRule directory. 5) Select View > Dimension Build Fields to set the mode for loading members to the outline. Creating the Customer Dimension 1) Select Options > Dimension build settings . 2) Select the Dimension Definition tab. 3) Select Rules File . 4) Next to Dimensions , click Click here to edit . 5) Type Customer . 6) Press Enter .
25936855.doc
Confidential © Adaequare, Inc
Page 74 of 132
74
7) Right-click Customer and select Edit properties to set the properties for the Customer dimension. The Dimension Properties dialog box is displayed. 8) Select the Dimension Properties tab. 9) In the Data Storage area, select Label Only . 10) In the Configuration area, select Sparse . 11) Click OK . The Dimension Properties dialog box closes. 12) Click OK The Dimension Build Settings dialog box closes and you return to the Data Prep Editor. 13) Select Options > Dimension build settings and then select the Dimension Build Settings tab. 14) In the Dimension list, double-click Customer and confirm that the Build Method is set to Use Generation References . 15) Click OK . You return to the Data Prep Editor
Ignoring the First Header Row 1) Select Options > Data source properties . The Data File Properties dialog box is displayed. 2) Select the Header tab. 3) For Number of lines to skip in the Header section, enter 1 . 4) Click OK . You return to the Data Prep Editor. Organizing Columns and Associating Them with Generations 25936855.doc
Confidential © Adaequare, Inc
Page 75 of 132
75
1) Select a member of Field 1 and then select Field > Properties . 2) Select the Dimension Build Proper ties tab. 3) At the bottom, select Ignore field during dimension build . 4) Click OK . The information in Field 1 changes to gray; if it does not, check your settings. 5) Select Field 3 and then select Field > Move . 6) Move Field 3 until it is displayed between Field 1 and Field 2. 7) Click OK . The field title Channel is displayed as Field 2 between the Cust Class and Customer fields. 8) Select the new Field 2 and then select Field > Create Using Text . 9) In the Text in field text box, type Channel Total . 10)Click OK .
11) Select the new Field 3 and then select Field > Create Using Text . 12) In the Text in field text box, type ~ (tilde). 13) Click OK . A new Field 3 is inserted. 14) Select Field 2 Properties .
and then select
Field >
15) On the Dimension Build Proper ties tab, perform the following tasks: • For Dimension, double-click Customer . • For Field Type, select Generation . • For generation number, enter 2 . 16) Click Next . The Dimension Build Properties tab is displayed for Field 3. 25936855.doc
Confidential © Adaequare, Inc
Page 76 of 132
76
17) Perform the following tasks: • For Dimension, double-click Customer . • For Field Type, select Property . • If the number 2 is not displayed for the Property generation, type 2. 18) Click Next . The information for Field 4 is displayed. 19) Select the Global Proper ties tab. Field 4 remains selected. 20) In the Replace text box, type Disti and, in the With box, type Distributor
21) Select the Dimension Build Proper ties tab. Field 4 is still selected. 22)
For
Dimension, double-click Customer , and for Field Type select Generation . The number 3 is displayed for the generation number. 23) Click Next . The Dimension Build Properties panel now displays information for Field Number 5. 24) For Dimension, double-click Customer , and for Field Type select Generation . The number 4 is displayed for the generation number; if it is not, en ter it. 25936855.doc
Confidential © Adaequare, Inc
Page 77 of 132
77
25) Click OK . You return to the Data Prep Editor. 26) Select Options > Dimension build settings . 27) Select the Dimension Build Settings tab. 28) In the Dimension list, double-click Customer . 29) Select Allow Property Changes . 30) Click OK .
Saving and Loading the Customer Dimension 1) Select Options > Validate . 2) Correct any errors that appear in the validation dialog. 3) When you receive the message, “The rules file is correct for dimension building,” click OK . 4) Save the load rule to the Essbase Server as Channel . 5) Select File > Close . The Data Prep Editor closes. 6) In the Sales outline, select
Outline > Update Outline .
7) Click Find Data File BCI\LoadRule directory.
and select the
25936855.doc
Confidential © Adaequare, Inc
CusChan.xls
file located in the
Page 78 of 132
78
8) Click Find Rules File . The Open dialog box is displayed. 9) On the Analytic Server tab, select Channel.rul from the file list. 10) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 11) Click OK . If the load fails, open the error file, make corrections, and then try again. 12) Expand the Customer dimension 13) Save the Sales outline.
Exercise - Creating a Region Total Attribute Dimension In this exercise, you create a new load rule that defines the Region Total attribute dimension. This exercise assumes that you have the Sales outline open. Building the Attribute Dimension 1) In the Sales outline, add a sibling to Customer called Region Tot al . 25936855.doc
Confidential © Adaequare, Inc
Page 79 of 132
79
2) Add the following children to Region Total: Mid West , South , East , and West 3) Select Region Total . 4) Right-click and select Edit member properties . 5) Set the Dimension type to
Attribute and the Attribute type to Tex t .
6) Click OK . If you receive a warning message, click Yes. 7) Select Customer . 8) Right-click and select Edit member properties . 9) Select the Attributes tab and assign Region Total to the Customer dimension.
10) Compare your outline to the dimensions shown in the following sample 11) Save the Sales outline.
25936855.doc
Confidential © Adaequare, Inc
Page 80 of 132
80
Associating Attributes with a Load Rule 1) Select File > New > Scripts > Rules file . The Data Prep Editor is displayed. 2) Select Options > Associate outline and associate the load rule with the Sales database. 3) Select File > Open data file and open the LoadRule/CusReg.xls file from the File System
4) Select View > Dimension build fields to set the mode for loading members to the outline. Assigning the Build Method 1) Select Options > Dimension Build Settings , and then select the Dimension Build Settings tab. 2) Double-click Customer . 3) In the Build method section, select Use level references . 4) In the Attribute members section, select Allow association changes and Do not create members .
25936855.doc
Confidential © Adaequare, Inc
Page 81 of 132
81
5) Click OK . You return to the Data Prep Editor. Performing Field Edits 1) Select Field 2 and select Record > Reject . 2) Set the Type to String . 3) In the String/Number Region Total .
text box, type
4) Set the condition to Equal .
5) Click OK . You return to the Data Prep Editor. Defining the Field Column Properties You want to assign the Region Total attributes to the Level 0 customers. 1) Highlight any item in field 1. 2) Select Field > Properties 3) Select the Dimension Build Proper ties tab.Information for Field Number 1 is displayed. 4) In the Dimension section, double-click Customer to select. 5) In the Field Type section, double-click Level . 6) In the Number text box, type 0 . 7) Click Next . 8) In the Dimension section, double-click Customer . 9) In the Field Type dimensions).
section, select
Region Total
(located under Attribute
10) In the Number text box, type 0 . 25936855.doc
Confidential © Adaequare, Inc
Page 82 of 132
82
11) Click OK
Saving the Load Rule 1) Select Options > Validate . 2) Correct any errors noted. 3) Save the file as AttReg to the Essbase Server under the Sales database. 4) Select File > Close . Using the Load Rule 1) In the Sales outline, select
Outline > Update Outline .
2) Click Find Data File and select the CusReg.xls file located in the BCI\LoadRule directory. 3) Click Find Rules File . The Open dialog box is displayed. 4) On the Analytic Server tab, select AttReg.rul from the file list. 5) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 6) Click OK .If the load fails, open the error file, make corrections, and then try again. 7) To verify that region attributes were added for customers, expand the Customer dimension
25936855.doc
Confidential © Adaequare, Inc
Page 83 of 132
83
This load rule assigns regions to respective customers
8) Verify and save the Sales outline. 25936855.doc
Confidential © Adaequare, Inc
Page 84 of 132
84
Exercise - (Optional) Building the Capacity Total Attribute In this exercise, you create a new dimension build load rule to build a Capacity Total Attribute dimension. This exercise assumes that you have the Sales outline open. Creating a Load Rule 1) Select File > New > Scripts > Rules file . The Data Prep Editor is displayed. 2) Select Options > Associate outline , and then associate the load rule with the Sales database. 3) Select File > Open data file . The Open dialog box is displayed. 4) On the File System tab, select
LoadRule/AttCap.xls and click OK .
5) Set the mode for loading members to the outline ( View > Dimension build fields ). 6) Skip the first header row in the data source (
Options > Data source properties
Defining the Capacity Total Dimension To create the attribute dimension, you attach it to a base dimension. To do that, you create the attribute dimension as an attribute of the base dimension. You also define the type of attribute: numeric, text, Boolean, or date. 25936855.doc
Confidential © Adaequare, Inc
Page 85 of 132
85
1) Select Options > Dimension build settings . 2) Select the Dimension Definition tab. 3) Right-click the Product dimension (your base dimension) and select Edit properties . 4) Select the Attribute Dimensions tab.
5) Under Name, click Click here to add and type Capacity Total . 6) In the Type drop-down list, select
Numeric .
7) Click OK . You return to the Dimension Build Settings dialog box. 8) Click OK . You return to the Data Prep Editor. 25936855.doc
Confidential © Adaequare, Inc
Page 86 of 132
86
9) Select Options > Dimension build settings . 10) Select the Dimension Build Settings tab. 11) Double-click Capacity Total . The is the attribute you just defined. 12) In the Build Method section, select Use parent-child references . 13) In the Dimension area, double-click
Product .
14) In the Build Method section, select Use level references . 15) Under Attribute Members, select Allow association changes and Do not create members . Because the Capacity Total attribute dimension is being built as a parent-child hierarchy, you need not create it as part of the attribute member association with the base dimension member. 16) Click OK . You return to the Data Prep Editor. Exercise - Changing Transparent Partition Values and Structure Alter the transparent partition between Bigwest (source) and Bigcorp (target) in the following manner: 1) On the Partitions.xls spreadsheet in the West 1 worksheet, change a value in the West Total column. 2) Lock and Send the change. 3) On the Partitions.xls spreadsheet, click the Corporate 1 tab. 4) On the Corporate 1 worksheet, try to drill down on West. 5) Analyze the result. 6) In the Corporate 1 worksheet, make the changes necessary to outlines and/or partitions to be able to drill down on West to the city level and verify the data is accurate. Performing Field Edits to Format the File 25936855.doc
Confidential © Adaequare, Inc
Page 87 of 132
87
1) Highlight any item in Field 1 and select Field > Move . The Move Field dialog box is displayed. 2) Highlight Field 1 and click Down until Field 1 is in the bottom position in the displayed list. 3) Click OK . You return to the Data Prep Editor where the field titled Product is now displayed as Field 3. Copying Field 2 (Production) 1) Highlight any item in Field 2, and then select Field > Create using join. You are joining Field 2 to itself. 2) Highlight Field 2 and click OK . The field titled Production is now displayed in both the Field 2 and Field 3 positions. 3) Highlight any item in Field 3, and then select The Move Field Dialog is displayed.
Field > Move .
4) Click Down to move Field 3 into the bottom position, and then click OK .
25936855.doc
Confidential © Adaequare, Inc
Page 88 of 132
88
You want the base member field (Lightbolt 365 A) to precede the new Production column. Anything that is not a member in the database is applied to the preceding column of member information. Defining the Field Column Properties 1) Highlight any item in Field 1 and select
Field > Properties .
2) On the Dimension Build Properties tab, complete the field properties as indicated in this table: Field # Dimension Field Type Number Field 1 Capacity Total Parent 0 Field 2 Capacity Total Child 0 Field 3 Product Level 0 Field 4 Product Capacity Total 0 You may need to expand the Attribute dimensions list for Field 4 to find and doubleclick Capacity Total. 3) When all field properties are assigned, click OK .
Saving the Load Rule 1) Select Options > Validate to validate the load rule. 2) Correct any errors noted. 3) When you receive the message “The rules file is correct for dimension building,” click OK . 25936855.doc
Confidential © Adaequare, Inc
Page 89 of 132
89
4) On the Essbase Server, save the file as
AttCap to the Sales database. The file type RUL is automatically set up by Essbase. 5) Select File > Close . The Data Prep Editor closes. Using the Load Rule 1) In the Sales outline, select Outline > Update Outline .
2) Click Find Data File and select the attcap.xls file located in the BCI\LoadRule directory. 3) Click Find Rules File . The Open dialog box is displayed. 4) On the Analytic Server tab, select AttCap.rul from the file list. 5) Note the location of the dimbuild.err file directory. Review this file if errors occur during the loading process. 6) Click OK . If the load fails, open the error file, make corrections, and then try again. 7) To verify that the dimension build was successful, expand the Product dimension.
This load rule builds the Capacity Total attribute dimension and assigns them to respective products
25936855.doc
Confidential © Adaequare, Inc
Page 90 of 132
90
8) Verify and save the Sales outline Exercise - Loading Data
Data files can come from a variety of sources and may have very different structures and challenges. In this exercise, you create data load rules for three files with different structures. Some of the challenges you may encounter are: Incorrect format of some data fields The need to ignore some fields and rows in the file Missing dimension information needed for a successful load Try to identify as many specific challenges as possible before beginning the exercise. This exercise assumes that you have the Administration Console open and the Bigcorp application and Sales database selected. Creating a New Load Rule for Budget Data 1) Select File > New > Scripts > Rules file . The Data Prep Editor is displayed. 2) Select Options > Associate outline and associate the rule with the Sales database. 3) Select File > Open data file . 4) Open Budget.txt (located in the BCI\LoadRule directory).
25936855.doc
Confidential © Adaequare, Inc
Page 91 of 132
91
5) On the View menu, verify that there is a check mark next to Data load fields . This is the correct mode setting for creating a load rule that loads data. Ignoring the Extra Header Row 1) Select Options > Data source properties . 2) Select the Header tab. 3) For Number of lines to skip , type 1 . 4) Click OK . You return to the Data Prep Editor. Assigning Field Properties 5) Select Field 1 and then select Field > Properties . 6) Select the Data Load Properties tab. 7) Double-click the Customer dimension. “Customer” is copied into the Field name text box. 8) Click Next . 9) Repeat steps 7 and 8 to set Field 2, Field 3, and Field 4 to Product , Yea r Tot , and Accounts , respectively. 10) Click Next until Field 5 is the selected field. 25936855.doc
Confidential © Adaequare, Inc
Page 92 of 132
92
11) Select Data field for Field 5 and then click OK . The Field Properties dialog box closes and your field names are updated based on your choices.
25936855.doc
Confidential © Adaequare, Inc
Page 93 of 132
93
Setting Up a Scenario Header Remember that each dimension must be identified in the data file. In this file, Scenario is not represented. The data applies to the Budget scenario. Set up a Scenario header to identify this dimension with the data. 1) Select Options > Data load settings . 2) Select the Header Definition tab. 3) Expand Scenario . 4) Double-click Budget to select it for your header name.
5) Click OK . You return to the Data Prep Editor. Save the Load Rule 1) Select Options > Validate . 2) Correct any errors listed. 3) Save the rule as Budget on the Essbase Server under the Sales database. 25936855.doc
Confidential © Adaequare, Inc
Page 94 of 132
94
4) Select File > Close . Loading the Data 1) Right-click the Sales database and select Load data . 2) Click Find Data File and then select Budg et.txt from the File System tab (located in the BCI\LoadRule directory). 3) Select Use Rules . 4) Click Find Rules File , select the Analytic Server tab, and then select the Budget.rul load rule. 5) Click OK . The load rule is executed. A message informs you that the files loaded with no errors. 6) Click Close . You return to the Administration Console.
Creating a New Load Rule for PriorYr Data 1) Open a new load rule file. 2) Associate the rule with the
Sales database.
3) Open PriorYr.txt (located in BCI\LoadRule) as your source data file.
25936855.doc
Confidential © Adaequare, Inc
Page 95 of 132
95
Setting Up a Dynamic Header and Fixing Member Names If the header record in the data source matches the member names in your Essbase database, you can direct the load rule to read the information in the source file rather than manually creating field names. This method cuts down on maintenance and allows you to store fewer load rules. 1) Select Options > Data source properties , and then select the Header tab. 2) Set Record containing data load field names to 1. 3) Click OK .
4) Highlight the Customer field and select 25936855.doc
Field > Properties .
Confidential © Adaequare, Inc
Page 96 of 132
96
5) On the Global Properties tab, set up a rule to replace CustID- with nothing. You do not need to select the Case Sensitive, Match Whole Word, or Replace All Occurrences options. 6) Click OK . The customer names appear scrubbed of their prefix and ready to load into the database.
7) Validate your load rule and correct any errors listed. 8) Save the rule as PriorYr on the Essbase Server under the Sales database. 9) Select File > Close . Loading the Data 1) Right-click the Sales database and select Load data . 2) Click Find Data File and then select PriorYr.txt from the File System tab (located in the BCI\LoadRule directory). 3) Select Use Rules . 4) Click Find Rules File , select the Analytic Server tab, and then select the PriorYr.rul load rule. 5) Click OK . The load rule is executed. A message informs you that the files loaded with no errors and provides the location of the data file. 6) Click Close. 25936855.doc
Confidential © Adaequare, Inc
Page 97 of 132
97
You return to the Administration Console.
Creating a New Load Rule for Actual and Forecast Data 1) Open a new load rule file. 2) Associate the rule with the
Sales database.
3) Open Forecast.txt (located in BCI\LoadRule) as your source data file. 4) Ignore the first header row.Ignoring Fields and Setting Field Properties 1) Select fields 7 , 9 , 10 , 12 , and 14 . Press Ctrl+Click to make multiple, noncontiguous selections. 2) Select Field > Properties 3) On the Data Load Properties tab, select load .
Ignore field during data
4) Click OK . 5) On the View menu, clear the Ignored Fields check box. The ignored fields are removed from the Data Prep Editor. 6) Set the data load properties of the remaining fields as follows:
Field Field Name 25936855.doc
Confidential © Adaequare, Inc
Page 98 of 132
98
Field1 Scenario Field2 Product Field3 Customer Field4 “Year Tot” Field5 Units Field6 “List Price” Field8 “Discount %” Field11 “Labor/Unit” Field13 “Matl/Unit” Field15 “Overhead Rate”
7) Validate your load rule and correct any errors listed. 25936855.doc
Confidential © Adaequare, Inc
Page 99 of 132
99
8) Save the rule as Loadcorp on the Essbase Server under the Sales database. 9) Select File > Close . Loading the Data 1) Right-click the Sales database and select Load data . 2) Click Find Data File , select the File System tab, and then select Actual.txt and Forecast.txt (located in the BCI\LoadRule directory). 3) Select Use Rules . 4) Click Find Rules File , select the Analytic Server tab, and then select the Loadcorp load rule. 5) Click OK . The load rule is executed. A message informs you that the files loaded with no errors. 6) Click Close . You return to the Administration Console. Verifying the Data 1) Select File > Open . 2) On the File System tab, browse to the BCI\LoadRule directory. 3) Select CalcAll.csc and click OK . The Calculation Script Editor opens. 4) Select Options > Execute script . The Execute Calculation Script dialog box is displayed. 5) Select Bigcorp and Sales from the Application and Database drop-down lists, respectively. 6) Click OK . 7) Close the CalcAll calculation script. 8) In the Enterprise View, right-click the Sales database and select Preview data. 9) Double-click Scenario to expand it and verify there is data for Current Year, Prior Year, Forecast, and Budget scenarios
25936855.doc
Confidential © Adaequare, Inc
Page 100 of 132100
25936855.doc
Confidential © Adaequare, Inc
Page 101 of 132101
Module 3 Exercise - Spreadsheet Reporting Challenge 1: Formats This exercise assumes that you are logged on to the Bigcorp application and Sales database and are working in the Essbase Spreadsheet Add-in. There are a variety of ways to produce this challenge report. This is one possible solution. This exercise assumes that you have the SSReports.xls file open. 1) Select the Challenge1 worksheet. 2) Select Essbase > Retrieve . 3) Select Product . 4) Select Essbase > Pivot . Product switches axes. 5) Select Year Tot . 6) Select Essbase > Pivot . Year Tot switches axes. 7) Select Customer . 8) Select Essbase > Zoom in .
9) Select Customer . 10) Select Essbase > Pivot . Customer switches axes. 11) Select Channel Total . 12) Select Essbase > Zoom in . The children of Channel Total are displayed. 13) Select OEM . 14) Select Essbase > Zoom in . 25936855.doc
Confidential © Adaequare, Inc
Page 102 of 132102
15) Select IBM, Acer , and Apple . 16) Select Essbase > Keep Only . Other members of the Product dimension are removed. 17) Select Product . 18) Select Essbase > Zoom in . The children of Product are displayed. 19) Select Family Total . 20) Select Essbase > Keep Only . 21) Select Family Total . 22) Select Essbase > Zoom in . 23) Type Current Year over Scenario in cell D1. 24) Type Units over Accounts in cell B1. 25) Select Essbase > Retrieve .
Exercise - Troubleshooting Reports Errors in reports are commonly due to incorrect labels or label placement. The Troubleshooting.xls file contains a series of tabs that may or may not have retrieval problems. For each tab, diagnose and correct the issue.
25936855.doc
Confidential © Adaequare, Inc
Page 103 of 132103
Tab Name Labels 1
Diagnosis The Customer dimension is missing.
Resolution The retrieval works as is. Essbase adds the missing Customer dimension at the top level.
Labels 2
The customer name (IBM) is misspelled.
Since no customer is recognized, Essbase adds Customer at the top level when it retrieves. Correct the misspelling (and, if necessary, remove the extra customer that Essbase added).
Labels 3
The Accounts row dimension member is on the same row as the Performance / Value column dimension members.
Remove the Accounts member, or move all accounts down one cell.
Labels 4
The product column headers (Performance and Value) are not on the same row.
Move the Performance label to the same row as Value.
Labels 5
The header dimensions are stacked on multiple rows.
The retrieval works as is.
Labels 6
The row dimension (Accounts) is listed in between columns of data.
The retrieval works as is.
Labels 7
There are two customers in the header row.
Remove one customer or reposition customers as a column or row header.
Labels 8
There are two complete retrieval areas in the report.
Remove one retrieval area or select one area at a time to retrieve.
Exercise - Selecting Members from the Outline This exercise assumes that you are logged on to the Bigcorp application and Sales database and are working in the Essbase Spreadsheet Add-in. There are a variety of ways to produce this challenge report. This is one possible solution. This exercise assumes that you have the SSReports.xls file open. 25936855.doc
Confidential © Adaequare, Inc
Page 104 of 132104
1) Select the Member Selection worksheet. 2) Select Essbase > Retrieve . 3) Select Customer . 4) Select Essbase>Member Selection .
5) In the Members , expand Channel Total and OEM . section The children of OEM are displayed under Members. 6) Select IBM . 7) Click Add . IBM moves under Rules. 8) Click OK . IBM replaces Customer on the report. 9) Select Accounts . 10) Select Essbase > Member Selection . The Essbase Member Selection dialog box is displayed. 11) In the Members section, select Units . 12) Click Add . Units moves under Rules. 13) Click OK . 14) Select Scenario . 15) Select Essbase > Member Selection . 25936855.doc
Confidential © Adaequare, Inc
Page 105 of 132105
The Essbase Member Selection dialog box is displayed. 16) In the Members section, select Current Year . 17) Click Add . Current Year moves under Rules. 18) Click OK . 19) Select Essbase > Retrieve . Current Year, IBM, and Units are displayed on the report. 20) Select Year Tot . 21) Select Essbase > Member Selection . The Essbase Member Selection dialog box is displayed. 22) In the Members section, select Quarter 1 . 23) Click Add . Quarter 1 moves under Rules. 24) In the Rules section, right-click Quarter 1 25) Select All Children .
26) In the Members section, expand Quar ter 2 and select Apr . 27) Click Add . Apr moves under Rules. 28) In the View Method section, select By Dynamic Time Series. 29) In the Members section, select Y-T-D . 25936855.doc
Confidential © Adaequare, Inc
Page 106 of 132106
30) Click Add . Y-T-D moves under Rules. 31) In the Rules section, right-click Y-T-D and select Specify Latest .
32) Select Apr from the list and click OK 33) Under Output Options , clear the Place Down the Sheet option.
34) OK . The
Click selected
time periods become column headers in your report. 35) Select Product . 36) Select Essbase > Member Selection . The Essbase Member Selection dialog box is displayed. 37) In the 25936855.doc
Members
section, Confidential © Adaequare, Inc
Page 107 of 132107
expand Configuration Total and select ConfigA . 38) Click Add . ConfigA moves under Rules. 39) In the Rules section, right-click ConfigA .
40) Select Subset .
41) From the drop-down lists, select Pattern is LIGHT* . You must type LIGHT*. 42) Click Add as AND Condition . The rule is displayed under Conditions. 43) From the drop-down lists, select Patt ern is MAV* . You must type MAV*. 44) Click Add as OR Condition .
45) Click OK . The Essbase Member Selection dialog box is displayed. 25936855.doc
Confidential © Adaequare, Inc
Page 108 of 132108
46) Click OK . Configuration A names beginning with LIGHT and MAV replace Product. 47) Select Essbase > Retrieve . Exercise - Designing Queries You have been asked by the Channels organization to modify the previous report to include a list of all level 0 products grouped by the customers in the OEM channel. In addition, they want the products sorted within each group in descending order based on the YTD totals, and they want to filter out rows with no YTD totals. Because this report requires nested dimensions in the rows and server-based sorting, Essbase Query Designer is the best tool for the job. On the Query Designer tab of SSReports.xls, build the report to the following specifications: Query Section
Dimension Members
Header Dimensions
Current Year, Units
Column Dimensions
Jan through Apr, Y-T-D(Apr)
Row Dimensions
OEM and children, all level 0 products
Data Filtering
Restrict data retrieval to rows where data is not a #Missing value for Y-T-D(Apr)
Data Sorting
Sort the products by the YTD total
1) Select Essbase > Query Designer 2) Right-click the Query Designer worksheet. 3) Select New > Query .
25936855.doc
Confidential © Adaequare, Inc
Page 109 of 132109
Setting Up the Placement of the Dimensions 1) In the layout panel, select Accounts . 2) Drag Accounts to Page Dimensions . 3) Repeat this process until Page Dimensions has Accounts and Scenario , Column Dimensions has Yea r Tot , and Row Dimensions has Customer and Product
Selecting Members 1) Double-click the Accounts dimension (in either the layout panel or the navigation panel).
2)
25936855.doc
Confidential © Adaequare, Inc
Page 110 of 132110
Expand the accounts until you find
Units .
3) Double-click Units . Units is displayed under Selection Rules. 4) Repeat this process for Scenario , selecting Current Year . 5) In the navigation panel, click
Customer .
6) Expand Channel Total . 7) Add OEM to the Selection Rules. 8) Under Selection Rules, right-click OEM and then select Select > Children .
9) In the navigation panel, click
Year Tot .
10) For Yea r Tot , select Jan , Feb , Mar , and Apr . You can select the Qtr 1 children by adding Qtr 1 to the selection rules, then rightclicking to select children. 11) Right-click in the Members box and select View by > Dynamic Time series
25936855.doc
Confidential © Adaequare, Inc
Page 111 of 132111
12) Double-click Y-T-D to add to the Selection Rules. 13) Under Selection Rules, right-click
Y-T-D and select Specify Latest .
14) In the drop-down list box, select Apr and click OK . 15) In the navigation panel, click Product . 16) Right-click the Member box and select View by > Level .
17) Double-click Lev0,Product . 18) Right-click the Member box and select Suppress Shared Members . 25936855.doc
Confidential © Adaequare, Inc
Page 112 of 132112
Filtering Data 1) In the navigation panel, select
Data Filtering .
2) In the Data Restrictions box, double-click to create a new data restriction. The data restrictions panel is displayed. 3) Set the restriction to retrieve rows where Data is not a #Missing value in the column for Y-TD(Apr) . As you make your selections, the filter is built in the navigation panel
Sorting Data 1) In the navigation panel, select
Data Sorting .
2) In the Dimension being sorted drop-down list box, select Product . 3) Under Column Used for Sort , double-click to create a new sort rule. 4) Select Descending for Ordering.
25936855.doc
Confidential © Adaequare, Inc
Page 113 of 132113
5) Select Y-T-D(Apr) for Column Used for Sort. As you make your selections, the data sort rule is built in the navigation panel.
Saving and Applying the Query 1) In the navigation panel, right-click any member in the query. 2) Select Save Query .
3) In the Query Name OEMProd . 25936855.doc
text box, type Confidential © Adaequare, Inc
Page 114 of 132114
4) Click OK . 5) In the navigation panel, right-click any member in the query and then select Apply Query .
Module 4 Exercise - Adding a Back Calculation Although you have rolled up all dimensions in the outline, some data is not aggregating correctly. In this exercise, you modify the CalcCorp.csc file to correct rates that are aggregating incorrectly. 1) Open the CalcCorp calculation script. 2) After the CALC DIM statement, add a block of formulas to derive the correct rates for the following accounts: List Price , Discount % , Labor/Unit , Matl/Unit , Overhead Rate , Gross Margin % . Enclose the group of formulas in parentheses to prevent jump-ahead behavior from the CALC DIM statement. One possible solution to this exercise is a script that reads as follows: /* Housekeeping */ SET UPDATECALC OFF; /* The Main Rollup */ CALC DIM (Accounts, “Year Tot”, Customer, Product); /* The Back Calc */ ( “Gross Margin %” = “Net Sales” / “Gross Margin”; “List Price” = “Gross Sales” / Units; “Discount %” = Discounts / “Gross Sales”; “Labor/Unit” = “Direct Labor” / Units; “Matl/Unit” = Material / Units; “Overhead Rate” = Overhead / “Direct Labor”; ) 3) Save the script. 4) Calculate CalcCorp and check your results on the Anatomy.xls file: 25936855.doc
Confidential © Adaequare, Inc
Page 115 of 132115
Exercise - Focusing with FIX One possible solution to this exercise is a calculation script that reads as follows: /* Housekeeping */ SET UPDATECALC OFF; /* The Baseline Fix */ FIX ("Current Year", @DESCENDANTS ("Quarter 1")) /* The Main Rollup */ CALC DIM (Accounts, Customer, Product); ENDFIX Save the script as FixIt and calculate. Check your results on the FixIt 25936855.doc
Confidential © Adaequare, Inc
Page 116 of 132116
tab of the Anatomy.xls file.
Exercise - Focusing with IF One possible solution to this exercise is a calculation script that reads as follows: /*Housek eeping.*/ SET UPDATECALC OFF; CLEARBLOCK NONINPUT; /*Push the units and price forecast using If.*/ Units ( IF (@ISMBR (Sep)) Units = @Prior (Units, 1); "List Price" = @Prior ("List Price", 1) * .9; ELSEIF (@ISDESC ("Quarter 4")) Units = @Prior (Units, 2) * 1.1; "List Price" = @Prior ("List Price", 1) * .9; ENDIF ) Extra Credit : /*Housek eeping.*/ SET UPDATECALC OFF; CLEARBLOCK NONINPUT; /*Push the units and price forecast using If. Round the Units calculation to avoid partial units*/ Units ( IF (@ISMBR (Sep)) Units = @Prior (Units, 1); "List Price" = @Prior ("List Price", 1) * .9; ELSEIF (@ISDESC ("Quarter 4")) Units = @Round ((@Prior (Units, 2) * 1.1), 0); 25936855.doc
Confidential © Adaequare, Inc
Page 117 of 132117
"List Price" = @Prior ("List Price", 1) * .9; ENDIF )
Exercise - Creating Mix Calculations Mix calculations are typically a percent-to-total type of ratio calculation that takes a data value at a given level and figures its percentage of a related total. You have been asked to create several mix calculations in the Sales outline. 1) In the Sales outline, add the following formulas to the accounts Unit Mix and Sales $ Mix : Account
Formula
Unit Mix
Units / @ANCESTVAL (Product, 3, Units);
Sales $ Mix
“Net Sales” / @ANCESTVAL (Product, 3, “Net Sales”);
2) Make both Unit Mix and Sales $ Mix and enable Two Pass calculation . 3) Save the outline and check your results on the ANCESTVAL It Anatomy.xls file.
tab in the
Since the calculations are dynamic, you do not have to recalculate them.
Exercise - Calculating a Moving Average There are various solutions to this exercise. The following calculation script represents one possible answer: /* if prior year and jan or feb, then Moving Average = jan and feb respectively */ "Moving Average" ( If (@ismbr("prior year") AND @ismbr(jan,feb)) "Moving Average"=units; 25936855.doc
Confidential © Adaequare, Inc
Page 118 of 132118
Elseif (@ismbr ("prior year") And @ismbr(mar:dec)) /* the currmbr range offsets are -2 and 0 because if calculating mar, we start 2 months prior (-2) and go to mar (0) */ "Moving Average"=@AVGRANGE (SKIPMISSING, units, @CURRMBRRANGE ("Year Tot", LEV, 0, -2,0)); Elseif(@ismbr("current year") And @ismbr(jan)) "Moving Average"=@AVG (SKIPMISSING,nov->units->"Prior Year",dec->units ->"Prior Year",jan->units->"Current Year"); Elseif(@ismbr("current year") And @ismbr(feb)) "Moving Average"=@AVG (SKIPMISSING,dec->units->"Prior Year",jan->units ->"Current Year", feb->units->"Current Year"); Elseif (@ismbr ("Current Year") And @ismbr(mar:dec)) "Moving Average"=@AVGRANGE (SKIPMISSING, units, @CURRMBRRANGE ("Year Tot", LEV, 0, -2, 0)); endif; )
Exercise - Optimizing Block Size with Aggressive Dynamic Calculation In this exercise, you create a new application and database, load data, and calculate the new database. You use a Microsoft Excel workbook to compare precalculated data without dynamic calculations to the new data that was calculated with dynamic calculation settings in the database outline. You use one of two solutions to correct the calculation so that both the nondynamic and dynamic data values are equal. You record data block statistics. In the new database outline, you use dynamic calculations and two-pass calculations wherever possible and in a way that still keeps the dynamic data in sync with the nondynamic data. Creating a New Application and Database 1) Create a new application on the server called Dynamic . You can shut down all other databases to free up memory. 2) In the new Dynamic application, create a new database called Dynamic . 3) In Windows NT Explorer, copy dynamic.otl from the BCI\CalcIt\Dynamic directory to the Essbase\App\Dynamic\Dynamic directory. 4) Click Ye s to overwrite the existing file. Loading and Reviewing the New Outline It is necessary to start and then restart the Dynamic database to load the new outline. 1) In the Administration Console, right-click the Dynamic database and select Stop . The Confirm Database Stop dialog box is displayed. 25936855.doc
Confidential © Adaequare, Inc
Page 119 of 132119
2) Click Ye s . 3) Right-click the Dynamic database and select Start . The Confirm Database Start dialog box is displayed. 4)Click Ye s . 5) Open the Dynamic outline and review the structure.
Loading Data and Calculating the Database 1) Right-click the Dynamic database and select Load data . The Data Load dialog box is displayed. 2) In the Data files area, click Find . The Open Objects dialog box is displayed. 3) Select File System . 4) Browse to the BCI\CalcIt\Dynamic directory and select Actual.txt and Forecast.txt . You can select both files by pressing the Ctrl key and clicking the files. 5) Click OK . 6) Select Use Rules . 7) In the Rules area, click Find . The Open Rules File dialog box is displayed. 8) Select File System . 9) Select Loadcorp.rul (in the BCI\CalcIt\Dynamic directory). 10) Click OK . 11) Click OK . The data is loaded and the Data Load Completed dialog box is displayed. 25936855.doc
Confidential © Adaequare, Inc
Page 120 of 132120
12) Click Close . 13) Right-click the Dynamic database and select Execute calculation . The Execute Database Calculation dialog box is displayed. 14) Select Database > Calculate . The Calculate Database dialog box is displayed. 15) Select (Default) . 16) Click OK .
Reviewing the Before-and-After Data 1) Open Aggressive.xls (found in the BCI\CalcIt\Dynamic directory). 2) Select the No Dynamic spreadsheet. The values in the No Dynamic spreadsheet represent a retrieve from the Bigcorp database with no dynamic calculations. These values are correct and should be used to compare your dynamic calculation results. 3) Select the Dynamic spreadsheet. 4) Select Essbase > Retrieve and log on to the Dynamic database. You can now review the data on both spreadsheets. 5) Select the Comparison spreadsheet. 6) Select cell B3 . 7) Type the following formula:
=’No Dynamic’!B3 - Dynamic!B3 .
8) Copy the formula to all cells for rows B , C , and D .
3 through 25 and columns
9) View the results and investigate all nonzero values. Correct values that were not calculated properly. A zero indicates that there is no difference between the “no dynamic” and the dynamic spreadsheet values.
25936855.doc
Confidential © Adaequare, Inc
Page 121 of 132121
Solutions The comparison spreadsheet should show several nonzero amounts in the Act vs Fcst column as well as #VALUE in the Other CGS and Balance Sheet rows. The Other CGS and Balance Sheet rows are correct. A review of the “no dynamic” and the dynamic spreadsheets for those rows show that both of them have no data (N/A). The nonzero numeric values indicate a problem with the dynamic data. The problem is created because the calculation order is sparse, then dense. There are two possible solutions for correcting the calc. Solution #1 - Setting Two-Pass Calculations In this solution, you set the dynamic calculation shadow rates to two-pass calculations. Since the spreadsheet uses Act vs Fcst, these steps are taken only to change the Act vs Fcst outline member and recalculate the result. You would receive the same errors with Act vs Bud or Bud vs Fcst if they were not also changed. 1) Open the Dynamic outline. 2) Expand Scenario to view all members. 3) Select Act vs Fcst . 4) Click Two-Pass Calculation . 5) Click Save . 6) Right-click the Dynamic database and select Execute calculation . The Execute Database Calculation dialog box is displayed. 7) Select (Default) . 8) Click OK . 9) Return to the Aggressive.xls workbook. 10) Select the Dynamic spreadsheet. 11) Select Essbase > Retrieve . 25936855.doc
Confidential © Adaequare, Inc
Page 122 of 132122
12) Select the Comparison spreadsheet. All values are now zero with the exception of Other CGS and Balance Sheet, which is correct.
Solution #2 - Making Scenario a Dense Dimension In this solution, you change the Scenario dimension from sparse to dense. 1) Open the Dynamic outline. 2) Select Properties
3) Scroll down to the dimension storage types and, next to Scenario, click Sparse . 4) From the drop-down list, select
Dense .
5) Click Verify . 6) Click Save . The Restructure Database dialog box is
displayed.
7) Select All data . 8) Click OK . 9) Right-click the Dynamic database and select Execute calculation . The Execute Database Calculation dialog box is displayed. 10) Select (Default) . 11) Click OK . 12) Return to the Aggressive.xls workbook. 13) Select the dynamic spreadsheet. 25936855.doc
Confidential © Adaequare, Inc
Page 123 of 132123
14) Select Essbase > Retrieve . 15) Select the comparison spreadsheet. All values are now zero with the exception of Other CGS and Balance Sheet, which is correct.
Module 5 Exercise - Manipulating Data with Calculation Scripts Copying data from one scenario to another is often a handy way to quickly populate a scenario with useful data that may then be manipulated as necessary. In the first part of this exercise, you create a budget by copying prior year Actual data into the Budget scenario and then modifying it. In the second part, you populate a Rolling Forecast scenario with a combination of Current Year (Actuals) and Budget data. Loading and Calculating Data 1) In the Administration Console, right-click the Sales database and select Clear > All data . The Confirm Database Clear dialog box is displayed. 2) Click Ye s . 3) Right-click the Sales database and select Load data . The Data Load dialog box is displayed. 4) Load Actual.txt and Forecast.txt to Sales using the loadcorp.rul rules file (all located in the BCI\CalcIt\AdvancedCalcs directory). 5) Right-click the Sales database and select Execute calculation . The Execute Database Calculation dialog box is displayed. 6) Select CalcAll . 7) Click OK . Reviewing the Workbook 1) Open Calculations.xls (found in the BCI\CalcIt\AdvancedCalcs directory). 2) Select the Datacopy spreadsheet. 3) Log on to the Bigcorp application and 25936855.doc
Confidential © Adaequare, Inc
Page 124 of 132124
Sales database. 4) Select Essbase > Retrieve .
Creating a Budget from Prior Year Actual Data 1) On the Enterprise View, select Bigcorp > Sales > Calculation Scripts . 2) Right-click Calculation Scripts. 3) Select Create calculation script. The Calculation Script Editor is displayed. 4) Type the following formula: /*copy actuals from the previous year to budget for the current year and increase it by 10%*/ DATACOPY “Prior Year” TO “Budget”; Budget = Budget*1.1; 5) Click Verify . Fix any verification errors before continuing. 6) Click Save . The Save As dialog box is displayed. 7) Save the script to the Sales database as
BudcopyA .
8) Select File > Close . 9) Right-click the Sales database and select Execute calculation . The Execute Database Calculation dialog box is displayed. 10) Select budcopyA . 11) Click OK . Viewing the Result 1) In the calculations.xls workbook on the Datacopy worksheet, select Essbase > Retrieve . 2) To test and verify some of the budget figures, multiply the Yea r value times 110% ( 1.1 ). 25936855.doc
Confidential © Adaequare, Inc
Prior Page 125 of 132125
Updating Substitution Variables 1) On the Administration Console, select > Variables .
Essbase Analytic Servers >
2) Right-click Vari abl es and select Edit variables . The Substitution Variables page is displayed. 3) Change the value of the CurrentMonth variable to May . 4) Click Set . 5) Change the value of the
PriorMonth variable to Apr .
6) Click Set . 7) Click Close . Creating a Rolling Forecast from Actual and Budget Data 1) Open a new calculation script. The Calc Script Editor is displayed. 2)
Enter
the
following formula:
/*this is a generic calc to copy all data prior to the current month from actuals for current year to rolling forecast followed by a copy of all budget data for current year and the following months to rolling forecast*/ FIX (Jan:&PriorMonth) DATACOPY “Current Year” TO “Rolling Forecast”; ENDFIX FIX (&CurrentMonth:Dec) DATACOPY Budget TO “Rolling Forecast”; ENDFIX 3) Click Save . The Save As dialog box is displayed. 4) Save the script to the Sales database as
BudcopyB .
5) Select File > Close . 6) Right-click the bigcorp database and select Execute calculation . The Execute Database Calculation dialog box is displayed. 7) Select BudcopyB . 8) Click OK . Viewing the Result 25936855.doc
Confidential © Adaequare, Inc
Page 126 of 132126
1) In the calculations.xls workbook on the select Essbase > Retrieve .
Datacopy spreadsheet,
2) Verify the Rolling Forecast values.
Exercise - Clearing Data There are various solutions to this exercise. The following calculation script represents one possible answer: SET AGGMISSG OFF; SET UPDATECALC OFF; /* clear data for Lightbolt 540 s" and all its ancestors - the ancestors are needed because AGGMISSG is turned off */ FIX (@IALLANCESTORS ("LIGHTBOLT 540 S")) CLEARDATA "Current Year"; ENDFIX /* main roll-up */ CALC DIM (Product); /* back calc */ ( "List Price" = "Gross Sales" / Units; "Discount %" = Discounts / "Gross Sales"; "Labor/Unit" = "Direct Labor" / Units; "Matl/Unit" = Material / Units; "Overhead Rate" =Overhead / "Direct Labor"; ) Exercise - Counting Customers There are various solutions to this exercise. The following calculation script represents one possible answer: SET UPDATECALC OFF; /* this the first part: count the number of customers who bought a given product */ "Customer Count" = @count(SKIPMISSING, @RANGE (Units, @LEVMBRS 25936855.doc
Confidential © Adaequare, Inc
Page 127 of 132127
(Customer, 0))); Extra Credit Units ( IF (Units #Missing AND @ISLEV (Customer, 0)) "Customer Count" = 1; ELSE /* set the customer count to missing when units are missing */ "Customer Count" = #Missing; ENDIF ) CALC ALL; Exercise - Allocating Data Clearing All Data For testing purposes, you need a separate calculation script called ClearAll that clears all data from the database. The solution is as follows: CLEARBLOCK ALL; Building an Allocation Script There are numerous ways to write this calculation script. The following example represents one possible solution: /*HOUSEKEEPING.*/ /*Turn intelligent calc off because of multiple passes on blocks. Set aggregate missing on to enhance performance. No upper level inputs to protect. Declare allocation variables.*/ SET UPDATECALC OFF; SET AGGMISSG ON; VAR AllocUnits; VAR AllocSales; /*THE BASELINE FIX.*/ FIX (Budget) /*THE NORMALIZATION.*/ /*Push down rates loaded at upper levels.*/ "List Price" = @PARENTVAL (Customer, "List Price"); 25936855.doc
Confidential © Adaequare, Inc
Page 128 of 132128
"Discount %" = "Discount %"->"Family Total"; "Labor/Unit" = "Labor/Unit"->"Channel Total"; "Matl/Unit" = "Matl/Unit"->"Channel Total"; "Overhead Rate" = @MDANCESTVAL (2, Product, 3, Customer, 2, "Overhead Rate"); /*Focused rollup for allocation of Other Expenses: calculate Net Sales, then sum Units and Net Sales across Product and Customer dimensions for members used as the allocation base.*/ @IDESCENDANTS ("Net Sales"); FIX ("Net Sales", Units) @IDESCENDANTS ("Family Total"); @IDESCENDANTS ("Channel Total"); ENDFIX /*Allocate Other Expenses to zero level using a variablized allocation ratio. Focus calculations using Fix to zero level members for Customers and Products.*/ FIX (@LEVMBRS (Customer, 0), @LEVMBRS (Product, 0)) Units ( AllocUnits = Units / Units->"Family Total"->"Channel Total"; AllocSales = "Net Sales" / "Net Sales"->"Family Total"->"Channel Total"; "Material Variances" = "Material Variances"->"Family Total"->"Channel Total" * AllocUnits; "Labor Variances" = "Labor Variances"->"Family Total"->"Channel Total" * AllocUnits; "Overhead Variances" = "Overhead Variances"->"Family Total"->"Channel Total" * AllocUnits; "Obsolete Charges" = "Obsolete Charges"->"Family Total"->"Channel Total" * AllocSales; "Inventory Adjustments" = "Inventory Adjustments"->"Family Total"->"Channel Total" * AllocSales; ) ENDFIX /*THE MAIN ROLLUP.*/ CALC DIM (Accounts, "Year Tot", Customer, Product); /*THE BACK CALC.*/ 25936855.doc
Confidential © Adaequare, Inc
Page 129 of 132129
/*Recalculate upper level rates and percentages.*/ ( "List Price" = "Gross Sales" / Units; "Discount %" = Discounts / "Gross Sales"; "Labor/Unit" = "Direct Labor" / Units; "Matl/Unit" = Material / Units; "Overhead Rate" =Overhead / "Direct Labor"; "Gross Margin %" = "Gross Margin" / "Net Sales"; ) /*Close out the budget baseline fix.*/ ENDFIX
Exercise - (Optional) Advanced Allocations There are various solutions to this exercise. The following calculation script represents one possible answer. Material Variances Set updatecalc off; "Material Variances"=@MDANCESTVAL(2,Product,2, Cus tomer,2,"Material Variances") * (units/@MDANCESTVAL(2,Product,2,Customer,2,Units)); /* the @MDANCESTVAL could have been written w/ cross dims ="Family Total"->"Channel Total"->"Material Variances" * (units/"Family Total">"Channel Total"->units); */ Labor Variances set updatecalc off; FIX( @children("Family Total")) "Labor Variances"="Labor Variances"->"Family Total"->"Channel Total"/ @count(SKIPMISSING,@Range(units,@Children("Family Total"))); Endfix This could have also been written w/ the Currmbr which makes it more reusable in the next exercises: FIX( @children("Family Total")) "Labor Variances"="Labor Variances"->"Family Total"->"Channel Total"/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr("Product")))); Endfix 25936855.doc
Confidential © Adaequare, Inc
Page 130 of 132130
Overhead Variances /* straight allocation combined with a ratio allocation */ set updatecalc off; FIX( @children("Family Total")) "Overhead Variances"="Overhead Variances"->"Family Total"->"Channel Total"/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); Endfix /* note that the 0 in the fix is to focus on level 0 descendants of family total*/ FIX(@descendants("Family Total",0)) "Overhead Variances"=@MDANCESTVAL(2,Product,3,Customer,2,"Overhead Variances")*(units/@MDANCESTVAL(2,Product,3,Customer,2,Units)); endfix Extra Credit FIX( @children("Family Total")) "Obsolete Charges"="Obsolete Charges"->"Family Total"->"Channel Total"/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); Endfix FIX(@children(Performance)) "Obsolete Charges"="Obsolete Charges"->Performance->Customer/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix FIX(@children(Value)) "Obsolete Charges"="Obsolete Charges"->Value->Customer/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix FIX(@children(LIGHTBOLT)) "Obsolete Charges"="Obsolete Charges"->Lightbolt->Customer/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix FIX(@children(THUNDERBALL)) "Obsolete Charges"="Obsolete Charges"->Thunderball->Customer/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix FIX(@children(ROADRANGER)) "Obsolete Charges"="Obsolete Charges"->Roadranger->Customer/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix FIX(@children(MAVRIDER)) "Obsolete Charges"="Obsolete Charges"->Mavrider->Customer/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); 25936855.doc
Confidential © Adaequare, Inc
Page 131 of 132131
endfix FIX(@children(FIREBRAND)) "Obsolete Charges"="Obsolete Charges"->Firebrand->Customer/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix A cleaner Solution under Solution 2: FIX(@children("Family Total")) "Obsolete Charges"="Obsolete Charges"->"Family Total"->"Channel Total"/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); Endfix FIX(@children(Performance),@children(Value)) "Obsolete Charges"=@mdancestval(2,product,3,customer,2,"Obsolete Charges")/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix FIX(@GENMBRS (Product, 5)) "Obsolete Charges"=@mdancestval(2,product,4,customer,2,"Obsolete Charges")/ @count(SKIPMISSING,@Range(units,@ISIBLINGS(@Currmbr(Product)))); endfix\
25936855.doc
Confidential © Adaequare, Inc
Page 132 of 132132
View more...
Comments