You are on page 1of 94

Oracle Essbase 11.1.

2: Calculate Block Storage Databases
Activity Guide

D67955GC10 Edition 1.0 December 2010 D71276

Oracle Internal & Oracle Academy Use Only

Author
Lisa Alexander

Copyright © 2010, Oracle and/or it affiliates. All rights reserved. Disclaimer This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle. The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Restricted Rights Notice

Technical Contr ibutors and Reviewer s
Dave Collins Frank Laffey Mike Nader Sergiy Pecherskyy Aneel Shenker Stan Ziolkowski

Susan Moxley

U.S. GOVERNMENT RIGHTS The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Trademark Notice Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Internal & Oracle Academy Use Only

Editor

If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable:

Table of Contents

0

Exercises Lesson 1:
Exercise 1.1 Exercise 1.2

Essbase Overview
Starting Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Accessing Administration Services Console . . . . . . . . . . . . . . . . . . . . . . 3

Lesson 3:
Exercise 3.1

Calculation Script Basics
Troubleshooting Intelligent Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Lesson 4:
Exercise 4.1

Dynamic Calculation Overview
Eliminating Back Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Lesson 5:
Exercise 5.1 Exercise 5.2

Developing and Testing IF and FIX Calculation Scripts
Optimizing Script Calculation Performance . . . . . . . . . . . . . . . . . . . . . . . 7 Creating Complex Conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Lesson 6:
Exercise 6.1 Exercise 6.2

Copying and Clearing Data
Creating a Baseline Forecast. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Clearing Bad Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Lesson 7:
Exercise 7.1 Exercise 7.2

Developing Advanced Calculations
Creating a Working Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Calculating a Rolling Average . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Lesson 8:
Exercise 8.1

Developing Analytic Calculations
Averaging Sales Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Oracle Internal & Oracle Academy Use Only

. . . . . . . . . . . . . . . . . . . .2 Exercise 11. . . . 22 Exercise 10. . .2 Accessing Administration Services Console . . . . . . . . . . . . .3 Copying Rates and Drivers . . . . . . . . . . . . . . . . .2 Developing a Normalization Table . .2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . . . . . . . . . . . . . 40 Reviewing the Calculation Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Modifying the Sales Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Modifying the Calculation Script . . . . 34 Solution 1. . . . . . . . . . . . . . . . . . . . . . .1 Troubleshooting Intelligent Calculation . . . . 35 Exploring the Navigation Hierarchy . .1 Starting Services . . . . . . . . . . . . . . . . 25 Optional: Tuning the Budget Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Exercise 11. . . . . . . . . . . . . . 36 Lesson 3: Calculation Script Basics Solution 3. . . . . . . . . . . . . . . 27 Optional: Creating a Multilevel Allocation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Reviewing the Calculation Script . . . . . . . . . . . . . . . . . . . . . . . 28 Creating Multiple-Database Calculations . . . . . . . . . . . . . . . . . . . . .1 Multidimensional Dynamic Calculations Optimizing with Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Exercise Solutions Lesson 1: Essbase Overview Solution 1. . . . . . . . . . . . . . . . . . . . . . . . .3 Exercise 11. . . . . . . . . . . . . . . .1 Eliminating Back Calculation . . . . . . . . . . . . . . . . . . . . . . .4 Allocating Other Costs . 21 Exercise 10. . 19 Lesson 10: Normalizing Data Exercise 10. . . . . . . 40 Modifying CalcAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Loading Data to Upper-Level Members . 35 Opening Administration Services Console . . . . . . . . . . . . . . . .csc . . . . . . . . . . . . . . . . . . . . . . . 35 Verifying a Database Outline . . . . . . . . . . . . . . . . . . . . . . . . . 22 Lesson 11: Performing Advanced Allocations Exercise 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 iv Essbase 11. . . . . . . . 38 Lesson 4: Dynamic Calculation Overview Solution 4.Table of Contents  Lesson 9: Exercise 9. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . 62 Setting up a Calculated Text Measure . . . . .2 Creating Complex Conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Copying the Formula to the Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Calculating a Rolling Average . . . . 62 Essbase 11. . . . . . . . . 47 Modifying the Calculation Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Creating Substitution Variables . . . . . . . . . . . .2 Clearing Bad Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Creating a Working Scenario . . 59 Testing the Calculations . . 59 Modifying the Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Creating the Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Solution 6. . . . . . . . . . . . . . . 55 Lesson 7: Developing Advanced Calculations Solution 7. . . . 47 Reviewing the Calculation Script . . . . . . . . . . . . . . . .2 Calculate Block Storage Databases v Oracle Internal & Oracle Academy Use Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Testing the Calculations . . . . . . . . . . . . . . . 52 Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Creating the Calculation Script. . . . . . . . . . . . . . . . . . . . . . . . . . 62 Testing the Calculations . . . . . . . . . . . . . . . .Table of Contents Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Creating a Baseline Forecast. . . . . . . . . . . . . . . . . . . . 54 Testing the Calculations . . . . . . . . . . . . . . . . . . . 59 Creating a Rolling Average Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Copying Data into the Working Scenario . . . . . . . . . . . . . 54 Creating the Calculation Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Lesson 6: Copying and Clearing Data Solution 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Extra Credit: Forecasting Units Based on Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Averaging Sales Risks . . 45 Lesson 5: Developing and Testing IF and FIX Calculation Scripts Solution 5. . . . . . . . . . . . . . 48 Solution 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Optimizing Script Calculation Performance . . . . . . . . . . . . . . . . . 58 Solution 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Lesson 8: Developing Analytic Calculations Solution 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Solution 11. 72 Solution 10. . . 77 Modifying the Budget Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . 68 Loading and Calculating Multilevel Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Developing a Normalization Table . . . . . . . . .Table of Contents  Lesson 9: Multidimensional Dynamic Calculations Solution 9. 79 Solution 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 vi Essbase 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Adding Multilevel Allocations . . . . . 83 Testing the Calculations . . . . . . . . . . . . . . . . . . . 77 Running a Calculation Test Cycle and Viewing the Calculation Log . . . . . 79 Testing the Normalization Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Creating a Location Alias . . . . . . . . . 68 Modifying the Calculation Script . . . . . . . . . . . . . . . . . . . 68 Creating a Clear Script . . . . . . . . . . . . . . . . . . . . . . 75 Lesson 11: Performing Advanced Allocations Solution 11. . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Creating Multiple-Database Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . .2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Solution 10. . . . . . . . . . . . 64 Creating a Test Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Lesson 10: Normalizing Data Solution 10. . . . . . . . . . . . . . . . . . . . . . . . . . 78 Modifying the Outline . . . . . . . . 64 Modifying the DynSales Outline . . . . . . . . . . . . . . . . . . . . . . . . 74 Testing Normalization. . . . . . . . . . . 73 Completing the Normalization Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Modifying the Calculation Script for Leaf-Node Loads . .1 Optimizing with Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Optional: Tuning the Budget Calculation . . . . . . . . . . . . . . . .3 Copying Rates and Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Testing List Price Normalization. . . . . . . . . . . . . . . . . . . 69 Loading and Calculating Level 0 Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Calculating Across Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Allocating Other Costs . . . . . . . . . . . . . . . . . . 64 Adding DynCalc to Private Connections in Smart View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Solution 11. . 80 Testing the Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Loading Data to Upper-Level Members . . . . . . . . . . . . . . . . . . . . . . . .3 Optional: Creating a Multilevel Allocation. . . . . . . . . . . . . 80 Adding Variables and Replacing Repetitive Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Creating a Normalization Script: List Price. . . . . . . . . . . . . . . . . . . . . . . . . .

as many exercises build upon other exercises. There are no exercises for Lesson 2. Therefore.  Oracle Internal & Oracle Academy Use Only This section contains hands-on exercises that you will work on throughout this course. . important that you complete all exercises as requested by the instructor. you may not be required to complete all exercises.Exercises Overview Your instructor may choose to perform some exercises with you in demonstration format. Calculation Overview. It is. Exercises are grouped by lesson. however.

Hyperion Provider Services . You successfully completed the exercise. and then EPM System Diagnostic. 4. Wait 3–5 minutes after the window closes before continuing to the next step.Lesson 1 Essbase Overview Exercises Lesson 1 Exercise 1. close the report. Perform one of the following actions: • If all services display a PASSED status. From the Managing Services folder on the Windows Desktop. then Programs. • If any service displays a FAILED status.Managed Server . then epmsystem1. you start the necessary services for the class learning activities. double-click Services. and proceed to step 6.Web Application . then Foundation Services. When the process finishes. so that the services do not cause false failure messages.Web Application . The Services window is displayed.Hyperion Studio Service BPMS bpms1 2 Essbase 11.1 Essbase Overview Starting Services In this exercise. Your environment is now ready for your class. The Oracle EPM System diagnostic report is displayed in the first column. Click OK to close the dialog box.1. close the report. Select Start. the following message is displayed: "All Oracle/Hyperion Services started. 1.Hyperion Foundation Services . and PASSED or FAILED is displayed for each service. 5. Click Yes.Hyperion Administration Services . Enjoy!" 3. Verify that the following services have a status of "Started": . The following message is displayed: "Are you sure you want to START all Oracle/Hyperion Services?" 2. double-click StartServices. 6. From the Managing Services folder on the Windows Desktop.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . then Oracle EPM System. 7. A process window displays the services that are starting.

Lesson 2 Essbase 11.Oracle Process Manager (EPM_epmsystem1) . 3. Close the Services window. Verify the database outline before closing the database outline.2 Calculate Block Storage Databases 3 Oracle Internal & Oracle Academy Use Only . Essbase Overview Exercise 1.2 Accessing Administration Services Console Perform the following tasks to familiarize yourself with Administration Services Console: 1. Explore the navigation hierarchy: Navigate to the list of Essbase Servers.1 Exercises .1.OracleServiceORCL NOTE: If any services failed to start. Open Administration Services Console (with user name admin and password hyperion) 2. and open a database outline.OracleOraDb11g_home1TNSListener . alert your instructor. 8.Oracle Process Manager (ohsInstance3193331783) .

e.csc: a. Repeat step 2 to test your calculation results. you troubleshoot the calculation script. In this exercise. • Mark calculated data blocks clean at the end of the calculation process. Open the BigCalc application log to view calculation messages. Refresh the IntelligentCalc worksheet to view calculation results. b. enter your user credentials (user name admin and password hyperion). review IntCalc. 4 Essbase 11. save. If prompted.1 Calculation Script Basics Troubleshooting Intelligent Calculation The BigCalc Sales database has a calculation script that returns incorrect results. Run ResetData. c. Notice the incorrect results in Qtr 1 for the input rate accounts. 3.bat (located in c:\CF\EssCalcs\Scripts) to clear and reload data.xls (located in c:\CF\EssCalcs\Calcs). c. Test the calculation script: a. and test IntCalc.1. In Administration Services Console. d.csc (located under BigCalc Sales). b.csc. Answer the following questions: • What calculations must each section of the script accomplish? • How many calculation passes are required for the script to fully calculate? • Will the intelligent calculator affect how the script runs? 2. Modify.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .Lesson 3 Calculation Script Basics Exercises Lesson 3 Exercise 3. Save IntCalc. Modify the script to accomplish the following tasks: • Execute the back-calculation section of the script. Open BasicCalcs. 1. Execute IntCalc.csc.

b. use the ShadowRates worksheet as a guide for what names to use. Hints: • Open Dynamic. Modify the Sales outline in such a way that the back-calculation section of the CalcAll script is no longer necessary. Run ResetData. eliminating back calculation can significantly improve your calculation performance. Execute CalcDyn.) NOTE: This exercise has many possible solutions.csc (located under BigCalc Sales). • Prevent input rates from aggregating across dimensions. Test the calculation script: a. 4.bat to clear and reload data. As you add new members to your outline. Remove the back-calculation section of the script.1.csc: a. Modify CalcAll. b.2 Calculate Block Storage Databases 5 Oracle Internal & Oracle Academy Use Only • What calculations must each section of the script accomplish? .xls (located in c:\CF\EssCalcs\Dynamic). • Follow the guidelines for user-friendly modeling: Move input rates to the Input branch of the Accounts dimension.1 Dynamic Calculation Overview Eliminating Back Calculation You want to improve calculation performance in the BigCalc Sales database.csc. Essbase 11. (Moving input rates can affect hierarchybased calculations and may require additional formulas to be added to the outline. 3. Save it as CalcDyn. 1. review CalcAll.4 Exercises Dynamic Calculation Overview Lesson 4 Exercise 4. Because back calculation can more than double the time required to run a calculation script.csc. In Administration Services Console. Answer the following questions: • How many calculation passes are required for the script to fully calculate? 2.

or open BasicCalcs_Solutions. Refresh the ShadowRates worksheet and compare your results to the following figure.xls (located in c:\CF\EssCalcs\Calcs). enter your user credentials (user name admin and password hyperion).Lesson 4 Dynamic Calculation Overview Exercises c. Open BasicCalcs.1.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the ShadowRates worksheet: 6 Essbase 11. If prompted. d.

Test the calculation script: a. Open BasicCalcs. modify the PriceFIX script: a. enter your user credentials (user name admin and password hyperion). b. Repeat step 2 to test the performance of the modified script.1 Bigcorp forecast analysts want to improve the performance of a calculation script that assigns list prices to products in each product line.csc. you improve the calculation performance of a prebuilt calculation script. In Administration Services Console. c. Verify that prices for each product line match the global list prices at the bottom of the report. Refresh the Prices worksheet to view calculation results. b. c. e. In Administration Services Console. • What calculations must each section of the script accomplish? • How many calculation passes are required for the script to fully calculate? • Will the intelligent calculator affect how the script runs? 2. review PriceFIX. Essbase 11. Save the script as PriceIF.bat (located in c:\CF\EssCalcs\Scripts) to clear and reload data. Run ResetData.csc (located under BigCalc Sales).xls (located in c:\CF\EssCalcs\Calcs).1.2 Calculate Block Storage Databases 7 Oracle Internal & Oracle Academy Use Only 1. Answer the following questions: . d. Execute PriceFIX. Open the BigCalc application log to view calculation messages and write down the total calculation time. Reduce the number of calculation passes by substituting IF logic for the multiple fixes. In this exercise. If prompted.5 Developing and Testing IF and FIX Calculation Scripts Exercises Lesson 5 Developing and Testing IF and FIX Calculation Scripts Optimizing Script Calculation Performance Exercise 5. 3.

5% b. 2. c.xls (located in c:\CF\EssCalcs\Calcs). If prompted. Run ResetData. Open BasicCalcs.5% Between 300 and 499 • OEM customers: 10% • Retail customers: 7% • Distributor customers: 9% 500 and over • OEM customers: 15% • Retail customers: 12% • Distributor customers: 13% • Distributor customers: 5. Create a script to calculate the business rules in the following table: Forecasted Units Less than 300 Forecasted Discount Percentage • OEM customers: 6% • Retail customers: 4.1. enter your user credentials (user name admin and password hyperion). 1.bat to clear and reload data.2 Creating Complex Conditionals Bigcorp forecast analysts want to assign discount percentages to customers based on the number of forecasted units. Execute DiscFcst. The percentages must also differ by sales channel.csc. Create and save a calculation script: a.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .csc. b. 8 Essbase 11. Test the calculation script: a. Save the script as DiscFcst.Lesson 5 Developing and Testing IF and FIX Calculation Scripts Exercises Exercise 5.

2 Calculate Block Storage Databases 9 Oracle Internal & Oracle Academy Use Only .1.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the Discount% worksheet: Essbase 11. or open BasicCalcs_Solutions. Refresh the Discount% worksheet and compare your results to the following figure.5 Developing and Testing IF and FIX Calculation Scripts Exercises d.

Refresh the Forecast worksheet and compare your results to the following figure.csc.Lesson 6 Copying and Clearing Data Exercises Lesson 6 Exercise 6.xls (located in c:\CF\EssCalcs\Calcs).2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . Execute BaseFcst.1. Run ResetData. d.1 Copying and Clearing Data Creating a Baseline Forecast Bigcorp forecast analysts have already created forecasts for May through August. Open AdvancedCalcs. Increases Sep through Dec forecast prices by 10% 2. or open AdvancedCalcs_Solutions. If prompted. Create a script called BaseFcts.csc that accomplishes the following tasks: a. c. Test the calculation script: a.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the Forecast worksheet: 10 Essbase 11. 1. They want to create a baseline forecast from existing actual data for the remaining months of the year. b. enter your user credentials (user name admin and password hyperion).bat to clear and reload data. Copies Sep through Dec prior year actual data to the Forecast scenario b.

Extra credit:: Forecasting Units Based on Trends • Add a section to the script to forecast Sep-Dec units.6 Copying and Clearing Data Exercises 3. • Read the description of the @TREND function in the Oracle Essbase Technical Reference. or open AdvancedCalcs_Solutions.Xlist (underlying variable values) . based on a linear regression trend of forecast and actual data from Jan-Aug. you do not need to provide any of the following optional lists: . you must first copy current year Jan-Apr units data into the Forecast scenario.1.XforecastList (underlying variable values for forecasted data) • After testing your calculation.xls to check your results against the following figure. • Use the linear regression method with the @TREND function.errorList (differences between the data points) . Hints: • Before calculating the trend.2 Calculate Block Storage Databases 11 Oracle Internal & Oracle Academy Use Only .weightList (weights for the data points) . refresh the ForecastEX worksheet in AdvancedCalcs.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the ForecastEX worksheet: Essbase 11. • In the @TREND function.

1.Lesson 6 Copying and Clearing Data Exercises Exercise 6. 2. b.csc. Create a calculation script that clears May-Dec forecasted data from the combination of O-Apple and Roadranger 170 A. Bigcorp analysts want you to clear all forecasted data for the customerproduct combination during the months May-Dec.2 Clearing Bad Data In April. the customer O-Apple decided to stop ordering Roadranger 170 A hard drives.csc. Save the script as ClearDat.xls (located in c:\CF\EssCalcs\Calcs). 1.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . c. 12 Essbase 11. Open AdvancedCalcs.bat to clear and reload data. enter your user credentials (user name admin and password hyperion). If prompted. effective in May. Test the calculation script: a. Run ResetData. Execute ClearDat.

Refresh the ClearData worksheet and compare your results to the following figure. or open AdvancedCalcs_Solutions. as a follow-up to clearing data.2 Calculate Block Storage Databases 13 Oracle Internal & Oracle Academy Use Only .xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the ClearData worksheet: NOTE: In a production environment.6 Copying and Clearing Data Exercises d. you would also modify input files or create rejection rules in your rules files to prevent bad data from being reloaded. Essbase 11.1.

csc and then Working. Thus. Copy Current Year data into Working for Jan through the prior month. b.1.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only 1. 3. Run ResetData. Open AdvancedCalcs. c. Test the calculation script: a.csc. enter your user credentials (user name admin and password hyperion). Create the substitution variables for the BigCalc Sales database as described in the following table: .1 Developing Advanced Calculations Creating a Working Scenario Each month Bigcorp forecast analysts require a working scenario that displays actual data from January through the prior month and forecast data from the current month through December. 14 Essbase 11. you must recalculate the forecast before copying it to the Working scenario.xls (in c:\CF\EssCalcs\Calcs). Copy Forecast data into Working for the current month through Dec. If prompted. NOTE: Running the reset script clears the forecast data calculated by the BaseFcst script. Execute BaseFcst.csc. Complete the following tasks to facilitate the required analysis: Variable Name CurrentMonth PriorMonth Variable Value May Apr 2. Save the script as Working. Create a script that copies data into the Working scenario: a. c.bat to clear and reload data. b.Lesson 7 Developing Advanced Calculations Exercises Lesson 7 Exercise 7.

bat to clear and reload data. enter your user credentials (user name admin and password hyperion). Essbase 11. Open AdvancedCalcs. or open AdvancedCalcs_Solutions. • The @XRANGE function creates a range of multidimensional members. Bigcorp finance analysts require a six-month rolling average calculation that spans the Prior Year and Current Year scenarios. If prompted.7 Exercises Developing Advanced Calculations d. Hints: • Because time-related members exist in multiple dimensions. 3.1.2 Calculate Block Storage Databases 15 Oracle Internal & Oracle Academy Use Only .csc.xls (in c:\CF\EssCalcs\Calcs). Run ResetData. Test the calculation script: a. your average must be cross-dimensional. b. c. Execute RollAvg. Create a calculation script called RollAvg.csc that calculates the account Rolling 6 Avg Units as the average of units for the current month and the prior five months. 2. but requires modification of your outline to work properly.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the Working worksheet: Exercise 7. If you used @XRANGE in your calculation script. • This exercise has many possible solutions. Refresh the Working worksheet and compare your results to the following figure. modify your scenario dimension so the scenarios are in chronological order. 1.2 Calculating a Rolling Average For unit sales.

Copy the formula from the calculation script. or open AdvancedCalcs_Solutions. discard all data. c.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .1. Copy the formula to the outline: a. Save the outline.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the RollingAverage worksheet: 4. Refresh the RollingAverage worksheet and compare your results to the following figure. b.Lesson 7 Developing Advanced Calculations Exercises d. If prompted. In the BigCalc Sales outline. open the Member Properties for Rolling 6 Avg Units and paste the formula into the formula editor. 16 Essbase 11.

In the BigCalc Sales outline. Bigcorp decided to identify its riskiest customers to best allocate limited risk mitigation resources. 2.1 Developing Analytic Calculations Averaging Sales Risks Before the next sales cycle.bat to clear and reload data.2 Calculate Block Storage Databases 17 Oracle Internal & Oracle Academy Use Only . you modify an existing text measure to calculate sales risk averages for all customer channels.8 Developing Analytic Calculations Exercises Lesson 8 Exercise 8. In this exercise. Open AdvancedCalcs. a calculation script is not required to view the calculation results. b.1. Run ResetData. Level 0 customers: Sales Risk Avg is equal to Sales Risk. Test the calculation: a. Essbase 11. modify the calculated text measure Sales Risk Avg based on the properties in the following table: Member Property Type Select Text List Data Storage Formula Value Text Sales Risk Levels Dynamic Calc Level 1 customers: Sales Risk Avg is an average of Sales Risk across all children of the current customer. If prompted. NOTE: Because Sales Risk Avg is dynamic. enter your user credentials (user name admin and password hyperion).xls (in c:\CF\EssCalcs\Calcs). 1.

Lesson 8 Developing Analytic Calculations Exercises c.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .1. Refresh the SalesRiskAvg worksheet and compare your results to the following figure. or open AdvancedCalcs_Solutions.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the SalesRiskAvg worksheet: 18 Essbase 11.

If prompted. In Administration Services Console. open the Smart View panel and add the DynSales database to your list of private connections. you apply dynamic calculations wherever appropriate to members of dense dimensions. . 4. create a test application: b. Essbase 11. In this exercise. NOTE: ResetDynamic. b. reload. Copy the BigCalc application and name it DynCalc. Test the calculation: a.9 Exercises Multidimensional Dynamic Calculations Lesson 9 Exercise 9.1. Rename the DynCalc Sales database DynSales. c.bat to clear. 1. Select the Aggressive worksheet. Run ResetDynamic. Open Dynamic. and calculate data. From Excel. and save the outline.bat automatically calculates the CalcDyn calculation script after clearing and reloading data.1 Multidimensional Dynamic Calculations Optimizing with Dynamic Calculation You want to optimize your data block size by dynamically calculating dense calculations. enter your user credentials (user name admin and password hyperion). Modify the DynSales outline to include dynamic calculations wherever appropriate. This exercise has many possible solutions.xls (in c:\CF\EssCalcs\Dynamic).2 Calculate Block Storage Databases 19 Oracle Internal & Oracle Academy Use Only a. and then test your calculation results. 2. 3. and set localhost_DynCalc_DynSales as the active connection.

2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .1. or open Dynamic_Solutions.xls (in c:\CF\EssCalcs\Calcs\Dynamic) and compare your results to the Aggressive worksheet: 20 Essbase 11.Lesson 9 Multidimensional Dynamic Calculations Exercises d. Refresh the worksheet and compare your results to the following figure.

xls (in c:\CF\EssCalcs\Normalize) to load and calculate multilevel input data: a. e. Calculate ClearAll.csc. Essbase 11. and determine where calculated data is incorrect. Calculate ClearAll. .1. you use the BigCalc Sales database to test different methods of loading upper-level data and you modify CalcDyn.10 Normalizing Data Exercises Lesson 10 Normalizing Data Exercise 10.csc as CYMulti. Save CalcDyn. d. as necessary.1 Loading Data to Upper-Level Members The Bigcorp management team wants to load current year Other CGS measures to the total of all products and all customers. NOTE: If calculations are correct. b. Refresh the Multilevel Audit worksheet to view the calculation results. Submit the data on the Multilevel Input worksheet.xls (in c:\CF\EssCalcs\Normalize) to load and calculate level 0 input data: a. 2. rather than deriving and loading level 0 data.csc to clear the Sales database.csc. Examine the Comparison formulas section. Save the file as ClearAll.csc to clear the Sales database. Modify the calculation script: a. Create a calculation script that clears all data in the BigCalc Sales database. In this exercise.csc (you are testing an existing calculation against new input data to see if it returns correct results). Modify the script to correct the calculation issues and limit the calculation to only Current Year data. the following message is displayed in cell B3: No Calculation Errors. Repeat step 2 to test the changes. c. 4. 3.csc. b. Use UpperLevel. to return correct calculation results at all levels. c. Use UpperLevel. Run CalcDyn.2 Calculate Block Storage Databases 21 Oracle Internal & Oracle Academy Use Only 1.

c.csc (you are testing an existing calculation against new input data to see if it returns correct results). c. Examine the Comparison formulas section. NOTE: If calculations are correct. Exercise 10. b. You must create a complex script for budget data. 1. 1. Modify the calculation script: a. Based on the input sheets in Budget. the following message is displayed in cell B3: No Calculation Errors. and determine where calculated data is incorrect. Save CalcDyn.csc to accomplish the following tasks: • Calculate only Budget data.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .xls. 22 Essbase 11. e. Modify CalcDyn. Before creating your script. you plan the normalization process based on sample input data.3 Copying Rates and Drivers Based on the input data in Budget. Open Budget. Repeat step 2 to test the changes.xls and the normalization table that you developed in the preceding exercise. Create a normalization script for DynCalc DynSales: a. you create a script to normalize rates and drivers. Refresh the Level 0 Audit worksheet to view the calculation results. 5. Submit the data on the Level 0 Input worksheet. d.1. complete the normalization table.csc.xls (in c:\CF\EssCalcs\Normalize). Run CalcDyn. 2.2 Developing a Normalization Table Bigcorp budget analysts want to load budget data to upper-level members.Lesson 10 Normalizing Data Exercises b. Exercise 10. Modify the script to optimize calculation: aggregate missing values and calculate only Current Year data. 3. Select the Normalization Table worksheet.csc as CYLev0.

2 Calculate Block Storage Databases 23 Oracle Internal & Oracle Academy Use Only d. d. Run LoadBudgetAct. open the Smart View panel and double-click the DynSales database to connect.csc. Observe the calculation results: Why is no data returned for List Price? 3. c. b. If necessary. Essbase 11. select the AuditCalcs worksheet. Validate the script and save it as Budget.10 Normalizing Data Exercises • Copy List Price down to level 0 blocks. Calculate Budget. . select the AuditCalcs worksheet.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data.xls. b.1. Test the normalization script: a. b. Run LoadBudget.xls.csc to accomplish the following tasks: • Create level 0 Budget data blocks. In Budget. In Budget.csc. Complete the normalization script.bat (in c:\CF\EssCalcs\Scripts) to clear and reload input data. Modify Budget. 4. • Provide current year units data for budget calculations. open the Smart View panel and double-click the DynSales database to connect. c. If necessary. Test List Price normalization: a. and refresh the worksheet.csc. 2. Calculate Budget. e. and refresh the worksheet. • Normalize all rates and drivers.

2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .Lesson 10 Normalizing Data Exercises e. Compare your results to the following figure.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs worksheet: 24 Essbase 11.1. or open Budget_Solutions.

In Administration Services Console.csc. change Net Sales to a stored member. 1. Modify the outline: a.csc. Add a section to the normalization process that allocates other costs based on the criteria in the following table: Accounts Material Variances Labor Variances Overhead Variances Obsolete Charges Inventory Adjustments Allocation Basis % of Units % of Units % of Units % of Net Sales % of Net Sales 2.11 Performing Advanced Allocations Exercises Lesson 11 Performing Advanced Allocations Exercise 11. Run LoadBudgetAct.1 Allocating Other Costs In this exercise.bat to clear and reload actual and budget input data. Test the normalization script: Essbase 11. Save the outline. calculate Budget. Run a calculation test cycle and view the calculation log: a. Modify Budget. If they are. d. for example: Regular member [Inventory Adjustments] depends on dynamic-calc member [Net Sales]. 4. Observe the warning messages relating to Net Sales. b. consider changing the Dynamic Calc members to stored members. you complete the budget calculation by adding a section to allocate other costs. c. 3. Keep the following points in mind: • The allocation base must be aggregated before the ratios are calculated.1. b.2 Calculate Block Storage Databases 25 Oracle Internal & Oracle Academy Use Only • Calculations for stored members should not be dependent on Dynamic Calc members. In the DynSales outline. . Open the application log for DynCalc and scroll to the end of the log.

Run LoadBudgetAct. d. If necessary. Compare your results to the following figure.1.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data. open the Smart View panel and double-click the DynSales database to connect.Lesson 11 Performing Advanced Allocations Exercises a. or open Budget_Solutions. Calculate Budget.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs2 worksheet: 26 Essbase 11. b.csc. and refresh the worksheet. In Budget.xls.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . select the AuditCalcs worksheet. c. e.

and refresh the worksheet. Essbase 11.11 Performing Advanced Allocations Exercises Exercise 11.csc. assign values to the two variables. Each variable stands for an allocation ratio. 1.2 Calculate Block Storage Databases 27 Oracle Internal & Oracle Academy Use Only .1. replace the allocation ratios with script variables. In this exercise. In Budget. Test the modified script: a. Add variables and replace repetitive code in Budget. Calculate BudgetA. Validate the script and save it as BudgetA. you replace repetitive code with variables. select the AuditCalcs worksheet. TIP: Remember that script variables must be used inside a calculation member block. d.csc: a. If necessary. In the allocation section of the script.csc. similar to IF statements. c. 2. In the formulas for the Other CGS accounts. open the Smart View panel and double-click the DynSales database to connect. b. d. Run LoadBudgetAct. Declare script variables AllocUnits and AllocSales in the Housekeeping section of the script.xls. b. which increases the chances of user error when creating the script. c.2 Optional: Tuning the Budget Calculation The allocations in the budget calculation contain sections of repetitive code.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data.

you create a multilevel allocation for Labor Variances. 1.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .3 Optional: Creating a Multilevel Allocation Bigcorp budget analysts changed the business logic for the allocation of Labor Variances. 28 Essbase 11. In this exercise. Modify the allocation for Labor Variances to complete the following calculation steps: • Allocate data to the children of Family Total based on an even split between the children that have data. Add multilevel allocations to Budget.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs2 worksheet: Exercise 11.csc: a. Compare your results to the following figure.Lesson 11 Performing Advanced Allocations Exercises e. or open Budget_Solutions.1.

xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs3 worksheet: Essbase 11. b. Test the modified script: a. open the Smart View panel and double-click the DynSales database to connect.csc. In Budget. or open Budget_Solutions. Save Budget. c. and refresh the worksheet. Compare your results to the following figure.11 Performing Advanced Allocations Exercises • Allocate data from the children of Family Total down to level 0 members based on the percentage of total units in the respective product family.1. If necessary. 2.csc.2 Calculate Block Storage Databases 29 Oracle Internal & Oracle Academy Use Only .csc as BudgetB. e. d.xls. Calculate BudgetB. b. Run LoadBudgetAct.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data. select the AuditCalcs worksheet.

Test the calculation: a. Open Taxes.Lesson 11 Performing Advanced Allocations Exercises Exercise 11.4 Creating Multiple-Database Calculations Bigcorp tax analysts maintain a separate database. Run ResetDynamic. c. and calculate input data.bat to clear.csc and refresh the worksheet. d. create a location alias of Taxes for the BigTax Taxes database.csc that accomplishes the following tasks: • Calculates Projected Tax for all scenarios as gross margin times the current US tax rate stored in the TR0003 account in BigTax Taxes. 3. Calculate Taxes. 30 Essbase 11. 1. 2.1. Bigcorp forecast analysts want to calculate the projected tax based on the gross margin stored in DynSales and the U.S. reload. BigTax Taxes. to store tax rates and other tax-related information. tax rate stored in BigTax Taxes.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only • Turns intelligent calculation off. b. Set DynCalc as the active connection. In the DynCalc DynSales database.xls (in c:\CF\EssCalcs\Normalize) and select the ProjectedTax worksheet. . Create a cross-database calculation script called Taxes.

11 Performing Advanced Allocations Exercises e.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the Projected Tax worksheet: Essbase 11. or open Taxes_Solutions.1. Compare your results to the following figure.2 Calculate Block Storage Databases 31 Oracle Internal & Oracle Academy Use Only .

Lesson 11 Performing Advanced Allocations Exercises 32 Essbase 11.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .1.

 Oracle Internal & Oracle Academy Use Only This section contains step-by-step solutions to successfully complete all exercises. . Calculation Overview.Exercise Solutions Overview There are no solutions for Lesson 2. Solutions are grouped by lesson.

Perform one of the following actions: • If all services display a PASSED status. The following message is displayed: "Are you sure you want to START all Oracle/Hyperion Services?" 2. Select Start. Wait 3–5 minutes after the window closes before continuing to the next step. Verify that the following services have a status of "Started": . so that the services do not cause false failure messages. then Programs.Hyperion Foundation Services .Managed Server . You successfully completed the exercise.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .Web Application .Lesson 1 Essbase Overview Solutions Lesson 1 Solution 1.Hyperion Administration Services .Web Application . 5. and then EPM System Diagnostic. then epmsystem1.Hyperion Studio Service BPMS bpms1 34 Essbase 11.Hyperion Provider Services . Your environment is now ready for your class. From the Managing Services folder on the Windows Desktop. Enjoy!" 3. The Oracle EPM System diagnostic report is displayed in the first column. 7. then Foundation Services. When the process finishes. double-click Services. 1. then Oracle EPM System.1 Essbase Overview Starting Services In this exercise.1. The Services window is displayed. From the Managing Services folder on the Windows Desktop. and proceed to step 6. the following message is displayed: "All Oracle/Hyperion Services started. 4. A process window displays the services that are starting. and PASSED or FAILED is displayed for each service. • If any service displays a FAILED status. you start the necessary services for the class learning activities. double-click StartServices. Click Yes. close the report. Click OK to close the dialog box. close the report. 6.

then Essbase. then Programs.2 Calculate Block Storage Databases 35 Oracle Internal & Oracle Academy Use Only .Oracle Process Manager (EPM_epmsystem1) . 2. Select the Enterprise View tab (Ctrl+Shift+E).OracleOraDb11g_home1TNSListener . Select Start.2 Accessing Administration Services Console Opening Administration Ser vices Console 1. then Oracle EPM System. Essbase Overview Solution 1. Double-click the Outline node (Ctrl+Enter). A list of database objects is displayed. Close the Services window. Administration Services Console is displayed. Enter the following information: • Server: localhost • Username: admin • Password: hyperion 3.1 Solutions . 2. and then Start Administration Services Console. 8. The Basic outline is displayed in the object window. 3. then Essbase Administration Services.1. Exploring the Navigation Hierarchy 1. and then Basic.Oracle Process Manager (ohsInstance3193331783) . then Sample. then localhost. Essbase 11. Click OK. Expand Essbase Servers.OracleServiceORCL NOTE: If any services failed to start. then Applications. The Administration Services Console login prompt is displayed. alert your instructor.

Lesson 1 Essbase Overview Solutions Verifying a Database Outline 1. and then Close. Lesson 2 36 Essbase 11. Click OK. 3." 2. Click Verify. Select File. The following message is displayed: "The outline verified successfully.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .1.

2. 3. 2.1 Calculation Script Basics Troubleshooting Intelligent Calculation Reviewing the Calculation Script 1. Click Yes to lock the script while viewing. In Calculation Script Editor for IntCalc. 6. Double-click IntCalc. browse to c:\CF\EssCalcs\Scripts. In Administration Services Console. Review the calculation script and answer the following questions: • What calculations must each section of the script accomplish? • Housekeeping: Sets log messaging to a summary level • Main rollup: Calculates all dimensions • Back calculation: recalculates input rates across all data blocks • How many calculation passes are required for the script to fully calculate? 2 (one pass for the main rollup. The Execute Calculation Script dialog box is displayed. Open BasicCalcs. Essbase 11. press F5. 5.xls (located in c:\CF\EssCalcs\Calcs). 4. Expand the Calculation Scripts node. one pass for the back calculation) • Will the intelligent calculator affect how the script runs? Yes Testing the Calculations 1.3 Calculation Script Basics Solutions Lesson 3 Solution 3.csc is displayed in Calculation Script Editor.1. 4. 3.2 Calculate Block Storage Databases 37 Oracle Internal & Oracle Academy Use Only . 5.csc. enter admin. Expand the Sales database node. expand the BigCalc application node.bat to clear and reload data. In Windows Explorer. If prompted for user credentials. IntCalc. Click OK to execute the calculation script.csc. complete the following steps: • For User Name. Double-click ResetData.

Select the IntelligentCalc worksheet and. Right-click the BigCalc application node. "Overhead Rate" = Overhead / "Direct Labor". Examine the calculation messages in the log. The Log Viewer Options dialog box is displayed. and click OK. In Administration Services Console. "Labor/Unit" = "Direct Labor" / Units. Select View. "Gross Margin %". 38 Essbase 11.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . Scroll down in the application log until you see a block of messages starting with the text Received Command [Calculate] from user [admin@Native Directory] using [IntCalc.Lesson 3 Calculation Script Basics Solutions • For Password. /* Back Calculation */ /* Correct input rates */ ( "List Price" = "Gross Sales" / Units. click Refresh. SET UPDATECALC OFF. Close the Log Viewer window. Labor/Unit. Modifying the Calculation Script 1. and then Log. and Overhead Rate are all incorrectly aggregated across time. Notice the incorrect results in Qtr 1 for the input rate accounts: List Price. b. on the Essbase ribbon. e. d. 6. "Matl/Unit" = Material / Units.1. Discount %. examine the calculation messages in the application log: a.csc]. "Discount %" = "Discounts" / "Gross Sales". /* Main Rollup */ CALC ALL.csc to match the following script: /* Housekeeping */ SET MSG SUMMARY. c. Matl/Unit. 7. Select Starting date. Modify the body of IntCalc. • Click Connect. enter hyperion.

Repeat the steps under "Testing the Calculations" to test your calculation results. In the File menu.2 Calculate Block Storage Databases 39 Oracle Internal & Oracle Academy Use Only .1. select Save. Close Calculation Script Editor. Essbase 11. 2.3 Calculation Script Basics Solutions ) /* Mark calculated data blocks clean */ SET CLEARUPDATESTATUS ONLY. CALC ALL. 4. 3.

Expand the Calculation Scripts node. 5. Double-click the Sales outline node. In the "Search for" text box. and sets log messaging to a summary level • Main rollup: Calculates all dimensions except scenario • Back calculation: Recalculates input rates across all data blocks • How many calculation passes are required for the script to fully calculate? 2 (one pass for the main rollup. 2.1 Dynamic Calculation Overview Eliminating Back Calculation Reviewing the Calculation Script 1. c. and click OK.csc is displayed in Calculation Script Editor. Review the calculation script and answer the following questions: • What calculations must each section of the script accomplish? • Housekeeping: Disables intelligent calculation.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . 40 Essbase 11. one for the back calculation) 7. expand the BigCalc application node. Outline Editor is opened. The Find Results tab and match message are displayed.1. enables aggregation of missing values. 2. In Administration Services Console. In the Edit menu. Expand the Sales database node. select Find members. 6. CalcAll. Find List Price: a. Modifying the Sales Outline 1. enter List Price.csc. Click Yes to lock the script while viewing.Lesson 4 Dynamic Calculation Overview Solutions Lesson 4 Solution 4. Click OK to close the message. Close Calculation Script Editor. 4. Double-click CalcAll. b. 3.

b. c. double-click List Price. c. Move List Price to the Input branch: a. c. In the Consolidation drop-down list. Dynamic Calculation Overview The Outline tab is displayed. Repeat step 5 for the following members: • Discount % • Labor/Unit • Matl/Unit • Overhead Rate 7. Repeat steps 2 and 3 for the following members: • Discount % • Labor/Unit • Matl/Unit • Overhead Rate 5. Right-click Gross Sales. Change the consolidation property for List Price: a. In the Accounts dimension. select Paste child. Essbase 11. right-click List Price and select Edit member properties. select (^) Never. Press Esc to close the next text box. 3.4 Solutions d. 6. Click Yes. In the Edit menu. and select Add child. enter Avg List Price and press Enter. Add a shadow rate to the outline: a.1. select Cut. The Member Properties dialog box is displayed. In the text box. On the Find Results tab. b. b. Click OK.2 Calculate Block Storage Databases 41 Oracle Internal & Oracle Academy Use Only d. Under Input. In the Edit menu. . and List Price is selected. The following message is displayed: Are you sure you want to move the selected member? 4. select Input.

1. g. Member Formula "Discounts" / "Gross Sales". select (~) Ignore. Click Verify to check the formula syntax. Repeat step 7 to add the remaining shadow rates to the outline based on the following table: Member Avg Disc % Parent Discounts Member Properties Consolidation (~) Ignore Data Storage: Dynamic Calc Variance reporting expense: true Avg Labor/Unit Direct Labor (under Cost of Sales) Consolidation (~) Ignore Data Storage: Dynamic Calc Variance reporting expense: true Avg Matl/Unit Material Consolidation (~) Ignore Data Storage: Dynamic Calc Variance reporting expense: true Avg OH Rate Overhead Consolidation (~) Ignore Data Storage: Dynamic Calc Variance reporting expense: true "Overhead" / "Direct Labor".2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . h. Click OK to close the message. 42 Essbase 11. i. select Dynamic Calc. 8. "Direct Labor" / "Units". "Material" / "Units". No syntax errors detected. The following message is displayed: Formula verified successfully. In the Consolidation drop-down list. Select the Formula tab. f. and enter the following formula: "Gross Sales" / "Units". and then click OK to close the Member Properties dialog box.Lesson 4 Dynamic Calculation Overview Solutions d. In the Data Storage drop-down list. Open the Member Properties dialog box for Avg List Price. e.

10. Essbase 11.2 Calculate Block Storage Databases 43 Oracle Internal & Oracle Academy Use Only . under Discounts) • Units (shared. "Labor/Unit" * Units. under Material) • Direct Labor (shared.4 Solutions Dynamic Calculation Overview 9. Add formulas to outline members based on the following table: Member Gross Sales Discounts Direct Labor Material Overhead Parent Net Sales Net Sales Cost of Sales Cost of Sales Cost of Sales Member Formula Units * "List Price". Change the data storage property for Gross Margin % to Dynamic Calc. under Overhead) 11. "Matl/Unit" * Units. under Direct Labor) • Units (shared. Change the consolidation operator for the following members to Ignore (~): • Units (under Gross Sales) • Gross Sales (shared.1. "Direct Labor" * "Overhead Rate". "Gross Sales" * "Discount %".

Verify CalcDyn.csc.csc.1. Click Save. select Discard all data. Modifying CalcAll. Open CalcAll. 4. 2. 3.Lesson 4 Dynamic Calculation Overview Solutions 12. If prompted to restructure data. Save CalcAll. Remove the back-calculation section of the script.csc: 44 Essbase 11.csc as CalcDyn.csc 1.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . Compare your completed outline to the following figures: Gross Margin accounts: Input accounts: 13. 14.

click Calculate. Double-click ResetData. In the script list. enter your user credentials). Save CalcDyn.xls.1. Testing the Calculations 1. 4. select Check syntax. 6. and click Launch. On the Essbase ribbon.bat to clear and reload data. 5. Open BasicCalcs. and then Close to return to Smart View. . Dynamic Calculation Overview The following message is displayed: Syntax check was successful.csc. 5. 7. On the Essbase ribbon. select CalcDyn. In Windows Explorer. Click OK. and select the ShadowRates worksheet (if prompted. click Refresh. In the Syntax menu.2 Calculate Block Storage Databases 45 Oracle Internal & Oracle Academy Use Only 3. The Calculation Scripts dialog box is displayed. 2. The following message is displayed: CalcDyn was successful.4 Solutions a. browse to c:\CF\EssCalcs\Scripts. b. Essbase 11. Click OK.

1.Lesson 4 Dynamic Calculation Overview Solutions 8. or open BasicCalcs_Solutions. Compare your calculation results to the following figure. Close Excel.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the ShadowRates worksheet: 9. 46 Essbase 11.

3. 2. Double-click ResetData. Click Yes to lock the script while viewing. browse to c:\CF\EssCalcs\Scripts.1 Reviewing the Calculation Script 1. Expand the Calculation Scripts node. PriceFIX.csc is displayed in Calculation Script Editor. In Administration Services Console. expand the BigCalc application node.2 Calculate Block Storage Databases 47 Oracle Internal & Oracle Academy Use Only . Double-click PriceFIX. disables intelligent calculation.bat to clear and reload data. In Windows Explorer. 4. one for the main rollup) • Will the intelligent calculator affect how the script runs? Yes (which is why it is disabled in the Housekeeping section) Testing the Calculations 1. Essbase 11. Expand the Sales database node. 5.csc. Review the calculation script and answer the following questions: • What calculations must each section of the script accomplish? • Housekeeping: Sets log messaging to a summary level. aggregates missing values • Baseline Fix: Limits the calculation to the Forecast scenario • Normalization: Assigns prices to products by product line • Main rollup: Calculates all dimensions • Back calculation: Recalculates input rates across all data blocks • How many calculation passes are required for the script to fully calculate? 6 (five for normalization. 2. 6.1.5 Developing and Testing IF and FIX Calculation Scripts Solutions Lesson 5 Developing and Testing IF and FIX Calculation Scripts Optimizing Script Calculation Performance Solution 5.

/* Baseline Fix */ FIX(Forecast) /* Normalization */ /* Assign prices to products by product line */ "List Price" ( IF(@ISDESC("LIGHTBOLT")) "List Price" = "No Customer"->"No Product"->"LB Price". and click OK. Modify the body of PriceFIX. 4. Right-click the BigCalc application node. Scroll down the application log until you see a block of messages starting with the text Received Command [Calculate] from user [admin@Native Directory] using [PriceFix.xls (located in c:\CF\EssCalcs\Calcs).csc. Examine the calculation messages in the application log: a. SET AGGMISSG ON. Select View. and then Log. Select Starting date. Modifying the Calculation Script 1. on the Essbase ribbon. press F5. c. Verify that prices for each product line match the global list prices at the bottom of the report. 7. d.csc]. Click OK to execute the calculation script. If prompted. Open BasicCalcs. Examine the calculation messages in the log. b.Lesson 5 Developing and Testing IF and FIX Calculation Scripts Solutions 3. In Calculation Script Editor for PriceFix. Select the Prices worksheet and. click Refresh. Write down the total calculation time. enter today’s date. 5.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . ELSEIF(@ISDESC("THUNDERBALL")) 48 Essbase 11. The Execute Calculation Script dialog box is displayed. enter your user credentials (user name admin and password hyperion). e. 6.1. The Log Viewer Options dialog box is displayed.csc to match the following script: /* Housekeeping */ SET MSG SUMMARY. SET UPDATECALC OFF.

2 Creating Complex Conditionals Creating the Script 1. /* Main Rollup */ CALC DIM (Accounts. In the File menu. in the navigation hierarchy. /* Close out the Baseline Fix */ ENDFIX 2. Product"->"RR Price". Customer.2 Calculate Block Storage Databases 49 Oracle Internal & Oracle Academy Use Only . Repeat the steps under "Testing the Calculations" to test the performance of the modified script. and then Calculation Script Editor.5 Developing and Testing IF and FIX Calculation Scripts Solutions "List Price" = "No Customer"->"No ELSEIF(@ISDESC("ROADRANGER")) "List Price" = "No Customer"->"No ELSEIF(@ISDESC("MAVRIDER")) "List Price" = "No Customer"->"No ELSEIF(@ISDESC("FIREBRAND")) "List Price" = "No Customer"->"No ENDIF ) Product"->"TB Price". Create the following calculation script: /* Housekeeping */ SET UPDATECALC OFF. Essbase 11. 2.csc.1. /* Baseline Fix */ FIX ("Forecast") /* Assign values to Discount % */ "Discount %" ( IF (Units < 300) IF (@ISCHILD ("OEM")) "Discount %" = . select the Sales database node. In Administration Services Console. Calculation Script Editor is displayed. Save the script as PriceIF. Product"->"FB Price". 3. Product"->"MV Price". "Year Tot". Product). select Editors. Solution 5.06. 3.

If prompted.csc.bat to clear and reload data. ENDIF ELSEIF (Units >= 300 AND Units < 500) IF (@ISCHILD ("OEM")) "Discount %" = . Execute DiscFcst.15.045.07. ENDIF ENDIF ) /* Close out Baseline Fix */ ENDFIX 4. 2.csc.09.10. 3. Save the script as DiscFcst. ELSEIF (@ISCHILD ("Distributor")) "Discount %" = .055. Run ResetData.1. ELSEIF (@ISCHILD ("Distributor")) "Discount %" = . ELSEIF (@ISCHILD ("Retail")) "Discount %" = . ELSEIF (@ISCHILD ("Retail")) "Discount %" = .2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .13. ELSEIF (@ISCHILD ("Distributor")) "Discount %" = . 50 Essbase 11. ENDIF ELSE IF (@ISCHILD ("OEM")) "Discount %" = . Open BasicCalcs.xls (in c:\CF\EssCalcs\Calcs) and select the Discount% worksheet.Lesson 5 Developing and Testing IF and FIX Calculation Scripts Solutions ELSEIF (@ISCHILD ("Retail")) "Discount %" = . Testing the Calculations 1. enter your user credentials (user name admin and password hyperion).12.

or open BasicCalcs_Solutions. and compare your results to the following figure.5 Developing and Testing IF and FIX Calculation Scripts Solutions 4.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the Discount% worksheet: Essbase 11. Refresh the worksheet.2 Calculate Block Storage Databases 51 Oracle Internal & Oracle Academy Use Only .1.

3. Open AdvancedCalcs. Testing the Calculations 1. 52 Essbase 11. ENDFIX /* Close out the Baseline Fix */ ENDFIX 2.Lesson 6 Copying and Clearing Data Solutions Lesson 6 Solution 6.1.bat to clear and reload data. 2.1.csc. Save the script as BaseFcst. If prompted. Execute BaseFcst. /* Increase Forecast prices */ FIX ("List Price") Forecast = Forecast * 1.csc. Create the following calculation script: /* Housekeeping */ SET UPDATECALC OFF.1 Copying and Clearing Data Creating a Baseline Forecast Creating the Calculation Script 1. enter your user credentials (user name admin and password hyperion). Verify the syntax of the script.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .xls (in c:\CF\EssCalcs\Calcs) and select the Forecast worksheet. 3. /* Baseline Fix */ FIX (Sep:Dec) /* Copy Budget data to Forecast scenario */ DATACOPY "Prior Year" TO Forecast. Run ResetData.

1. ENDFIX /* Trend calculation for Sep-Dec Units */ FIX("Forecast") Essbase 11.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the Forecast worksheet: Extra Credit: Forecasting Units Based on Trends 1. /* Baseline Fix */ FIX ("Sep":"Dec") /* Copy Budget data to Forecast scenario */ DATACOPY "Prior Year" TO "Forecast".1.6 Copying and Clearing Data Solutions 4. ENDFIX /* Copy Jan-Apr Actual units to Forecast */ FIX("Jan":"Apr". Modify BaseFcst. Refresh the worksheet. and compare your results to the following figure. or open AdvancedCalcs_Solutions. "Units") DATACOPY "Current Year" TO "Forecast".2 Calculate Block Storage Databases 53 Oracle Internal & Oracle Academy Use Only .csc to match the following script: /* Housekeeping */ SET UPDATECALC OFF. /* Increase Forecast prices */ FIX ("List Price") "Forecast" = "Forecast" * 1.

Check your results against the following figure."Sep":"Dec".Lesson 6 Copying and Clearing Data Solutions "Units" = @TREND("Jan":"Aug". or open AdvancedCalcs_Solutions.1. Create the following calculation script: /* Housekeeping */ SET UPDATECALC OFF. /* Clear Roadranger 170 A data for O-Apple */ FIX ("Forecast". ENDFIX 54 Essbase 11.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the ForecastEX worksheet: Solution 6. "May":"Dec") CLEARDATA "O-Apple"->"ROADRANGER 170 A".2 Clearing Bad Data Creating the Calculation Script 1. Repeat the instructions under "Testing the Calculations" to test your calculation. Verify and save the changes to the script. LR). 3.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .... ENDFIX /* Close out the Baseline Fix */ ENDFIX 2. substituting the ForecastEX worksheet for Forecast..

bat to clear and reload data.1. Essbase 11.2 Calculate Block Storage Databases 55 Oracle Internal & Oracle Academy Use Only . 3. Open AdvancedCalcs.csc. Run ResetData. If prompted. Execute ClearDat. Testing the Calculations 1. Verify the syntax of the script. 3. enter your user credentials (user name admin and password hyperion).csc. 2.6 Copying and Clearing Data Solutions NOTE: This exercise has many possible solutions. Save the script as ClearDat.xls (in c:\CF\EssCalcs\Calcs) and select the ClearData worksheet. 2.

or open AdvancedCalcs_Solutions. and compare your results to the following figure.Lesson 6 Copying and Clearing Data Solutions 4.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the ClearData worksheet: NOTE: In a production environment. Refresh the worksheet. 56 Essbase 11.1. as a follow-up to clearing data.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . you would also modify input files or create rejection rules in your rules files to prevent bad data from being reloaded.

7 Solutions

Developing Advanced Calculations

Lesson 7
Solution 7.1

Developing Advanced Calculations
Creating a Working Scenario

Creating Substitution Variables 1. In Administration Services Console, in the navigation hierarchy, right-click the localhost Essbase Server node. 2. Select Edit, and then Variables. The Substitution Variables dialog box is displayed. 3. In the first row, complete the following tasks: • In the Application drop-down list, select BigCalc. • In the Database drop-down list, select Sales. • In the Variable text box, enter CurrentMonth. • In the Value text box, enter May. 4. Click Set. 5. Repeat steps 3 and 4 to create the variable PriorMonth with a value of Apr. 6. Click Close. Copying Data into the Working Scenario 1. Create the following calculation script: /* Information Before this calculation is executed, the baseline forecast must be created by running BaseFcst.csc. */ /* Housekeeping */ SET UPDATECALC OFF; /* Copy actual data into the Working scenario */ FIX (Jan:&PriorMonth) DATACOPY "Current Year" TO "Working"; ENDFIX

Essbase 11.1.2 Calculate Block Storage Databases

57

Oracle Internal & Oracle Academy Use Only

Lesson 7

Developing Advanced Calculations Solutions

/* Copy forecast data into the Working scenario */ FIX (&CurrentMonth:Dec) DATACOPY "Forecast" TO "Working"; ENDFIX 2. Verify the script and save it as Working.csc. Testing the Calculations 1. Run ResetData.bat to clear and reload data. 2. Execute BaseFcst.csc and then Working.csc. NOTE: Running the reset script clears the forecast data calculated by the BaseFcst script. Thus, you must recalculate the forecast before copying it to the Working scenario. 3. Open AdvancedCalcs.xls (in c:\CF\EssCalcs\Calcs) and select the Working worksheet. If prompted, enter your user credentials (user name admin and password hyperion). 4. Refresh the worksheet, and compare your results to the following figure, or open AdvancedCalcs_Solutions.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the Working worksheet:

58

Essbase 11.1.2 Calculate Block Storage Databases

Oracle Internal & Oracle Academy Use Only

7 Solutions

Developing Advanced Calculations

Solution 7.2

Calculating a Rolling Average

Creating a Rolling Average Calculation 1. Create the following calculation script: /* Housekeeping */ SET UPDATECALC OFF; "Rolling 6 Avg Units" = @MOVAVG ( Units, 6, @XRANGE ("Prior Year"->Jan, "Current Year"->Dec) ); NOTE: This exercise has many possible solutions. 2. Verify the script and save it as RollAvg.csc. Modifying the Outline 1. Open the BigCalc Sales outline. 2. Expand the Scenario dimension. 3. Right-click Prior Year and select Cut. 4. Right-click Scenario and select Paste child. The following message is displayed: Are you sure you want to move the selected member? 5. Click Yes. Prior Year and Current Year are displayed as the first and second children of Scenario, respectively. 6. Click Save. The Restructure Database Options dialog box is displayed. 7. Select Discard all data and click OK.

Essbase 11.1.2 Calculate Block Storage Databases

59

Oracle Internal & Oracle Academy Use Only

1. or open AdvancedCalcs_Solutions. 4. and compare your results to the following figure.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the RollingAvg worksheet: Copying the Formula to the Outline 1. "Current Year"->Dec)). If prompted.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . 2. 3. 2.Lesson 7 Developing Advanced Calculations Solutions Testing the Calculations 1. enter your user credentials (user name admin and password hyperion).bat to clear and reload data. 6.csc.xls (in c:\CF\EssCalcs\Calcs) and select the RollingAvg worksheet. Right-click the selected text.csc. Execute RollAvg. 60 Essbase 11. select the formula for Rolling 6 Avg Units (select only the script to the right of the equal sign): @MOVAVG (Units. Run ResetData. Refresh the worksheet. @XRANGE ("Prior Year"->Jan. In RollAvg. and select Copy. Open AdvancedCalcs.

Essbase 11. Click Verify. 9. The Member Properties dialog box is displayed. discard all data. 4. right-click and select Paste.1. Click OK to close the Member Properties dialog box. Select the Formula tab. If prompted. No syntax errors detected. 7. Select Edit member properties.2 Calculate Block Storage Databases 61 Oracle Internal & Oracle Academy Use Only . In the BigCalc Sales outline. 8. Save the Sales outline. 5. Click OK. In the formula text box. 6.7 Solutions Developing Advanced Calculations 3. The following message is displayed: Formula verified successfully. right-click Rolling 6 Avg Units (in the Accounts dimension under Analysis). 10.

c. b. "Sales Risk". NOTE: Because Sales Risk Avg is dynamic. and expand the Accounts dimension.1. @CHILDREN(@CURRMBR("Customer")) ) ). Select the Formula tab. Testing the Calculations 1. f. a calculation script is not required to view the calculation results.Lesson 8 Developing Analytic Calculations Solutions Lesson 8 Solution 8. ELSE "Sales Risk". select Sales Risk Levels. ENDIF e.bat to clear and reload data. select text. enter the following formula: IF( @ISLEV ("Customer". Open the BigCalc Sales outline. In the Script section. d. Select the Information tab. 1) ) @ROUND( @AVGRANGE( SKIPNONE. 2.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . Run ResetData. restructuring all data if prompted. Modify member properties for Sales Risk Avg: a. In the Select Text List drop-down list. Save the outline. 3. 62 Essbase 11. and change the storage type to Dynamic Calc. In the Type drop-down list.1 Developing Analytic Calculations Averaging Sales Risks Setting up a Calculated Text Measure 1. Click OK.

8 Developing Analytic Calculations Solutions 2. or open AdvancedCalcs_Solutions. Close Excel. Refresh the worksheet. enter your user credentials (user name admin and password hyperion). Open AdvancedCalcs. If prompted.2 Calculate Block Storage Databases 63 Oracle Internal & Oracle Academy Use Only . and compare your results to the following figure.xls (in c:\CF\EssCalcs\Calcs) and select the SalesRiskAvg worksheet.1. 3. Essbase 11.xls (in c:\CF\EssCalcs\Calcs\Complete) and compare your results to the SalesRiskAvg worksheet: 4.

The DynCalc application node is added to the navigation panel. Select Copy. 8. 2. Modifying the DynSales Outline 1. In Administration Services Console.Lesson 9 Multidimensional Dynamic Calculations Solutions Lesson 9 Solution 9. 5. make the following members of the Year Tot dimension Dynamic Calc: • Year Tot • Qtr 1 • Qtr 2 • Qtr 3 • Qtr 4 2. Under DynCalc. In the Application Name text box. Select Rename. In the DynSales outline. 7. right-click the Sales database node. 6. Click OK. In the "Rename to" text box. Make the following accounts Dynamic Calc: • Gross Margin 64 Essbase 11. The Copy Application dialog box is displayed. enter DynCalc. right-click the BigCalc application node.1. Expand the DynCalc application node. enter DynSales. 3.1 Multidimensional Dynamic Calculations Optimizing with Dynamic Calculation Creating a Test Application 1. 4. Click OK.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . 9. in the navigation hierarchy. The Rename Database dialog box is displayed.

6. On the Smart View ribbon. Make the following scenarios Dynamic Calc and flagged for two-pass calculation: • Act Vs Bud • Act Vs Fcst • Bud Vs Fcst 5. for Scenario. Adding DynCalc to Private Connections in Smart View 1. Select the Outline Properties tab. Essbase 11. 2. Open Excel. If prompted to restructure data. If prompted. Make the following accounts Dynamic Calc and flagged for two-pass calculation: • Avg List Price • Avg Disc % • Avg Labor/Unit • Avg Matl/Unit • Avg OH Rate • Gross Margin % • Unit Mix by Cust • Unit Mix • Sales $ Mix • Rolling 6 Avg Units 4.2 Calculate Block Storage Databases 65 Oracle Internal & Oracle Academy Use Only . 3. click Open to open the Smart View panel. Save the DynSales outline. Click Shared Connections.1. 7.9 Solutions • Net Sales • Cost of Sales • Other CGS Multidimensional Dynamic Calculations 3. 8. select Discard all data. select Dense. enter your user credentials (user name admin and password hyperion). Under Data Storage.

In the "Select Server to proceed" drop-down list.xls (in c:\CF\EssCalcs\Dynamic) and select the Aggressive worksheet. select Essbase . and right-click DynSales. Expand DynCalc.bat to clear. DynSales is displayed in the Private Connections list. 8. Click OK to accept the defaults. Open Dynamic. and calculate data. The application list is displayed. click Open.Lesson 9 Multidimensional Dynamic Calculations Solutions 4. and then localhost_DynCalc_DynSales. 7. Select Add to Private connections.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . 66 Essbase 11. enter your user credentials (user name admin and password hyperion). NOTE: ResetDynamic. The Save as Private Connection dialog box is displayed. Run ResetDynamic. 6.localhost. 5. If prompted. select Active Connections. 3. 2. Double-click DynSales to activate the connection.1.bat automatically calculates the CalcDyn calculation script after clearing and reloading data. On the Smart View ribbon. reload. Testing the Calculations 1.

Refresh the worksheet.xls (in c:\CF\EssCalcs\Dynamic\Complete) and compare your results to the Aggressive worksheet: Essbase 11. and compare your results to the following figure. or open Dynamic_Solutions.2 Calculate Block Storage Databases 67 Oracle Internal & Oracle Academy Use Only .9 Solutions Multidimensional Dynamic Calculations 4.1.

Select Syntax. click Submit Data.csc." 5. and click Launch. select the Sales database node. Select ClearAll. Open UpperLevel. Click OK. c. 3. a. 2.csc. 4. In Administration Services Console. and then Calculation Script Editor. in the Private Connections list under BigCalc. and then Check syntax. On the Smart View ribbon. Select File. Save the calculation script as ClearAll.1. 2. 68 Essbase 11.1 Loading Data to Upper-Level Members Creating a Clear Script 1. In the Smart View panel. Click OK. If prompted. Right-click Sales.Lesson 10 Normalizing Data Solutions Lesson 10 Normalizing Data Solution 10. Create the following script: CLEARBLOCK ALL.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . d. Select the Multilevel AuditSheet worksheet. select the Sales database node. 3. in the navigation hierarchy under BigCalc. 4. Calculate ClearAll. 5. Select the Multilevel Input worksheet. The following message is displayed: "Syntax check was successful. enter your login credentials. 6. and select Calculate to display the Calculation Scripts dialog box. then Editors. b.xls (in c:\CF\EssCalcs\Normalize). Loading and Calculating Multilevel Inputs 1. Input data is sent to the Sales database. and then Close to return to the worksheet.

Modifying the Calculation Script 1. 2. In the File menu. 6. c. b.2 Calculate Block Storage Databases 69 Oracle Internal & Oracle Academy Use Only . Under Essbase Servers. and verify upper-level loads. Launch CalcDyn.csc. Applications. • Calculate only Current Year data. Double-click CalcDyn.10 Normalizing Data Solutions 6. cell B3 displays the following message: No Calculation Errors. Refresh the worksheet to see the loaded data. Gross Margin for the intersection of Channel Total and Family Total is incorrect. The following message is displayed in cell B4: Contains Calculation Errors. b. 4. View calculated data: a. 5. Modify the script to perform the following tasks: • Set aggregate missing values to OFF. Scroll down to the Channel Total section.csc. If calculations are correct. localhost. Essbase 11. Refresh the worksheet. By default and if calculations are incorrect. Examine the Comparison formulas section. cell B4 displays the following message: Contains Calculation Errors. View input data: a. c. and determine where calculated data is incorrect. Qtr 1 is also incorrect.1. select the Enterprise View tab. expand the Sales database node. and then the Calculation Scripts node. select Save as. The Calculation Script Editor window is displayed. and BigCalc. NOTE: Calculation status messages are displayed in the top left-hand corner of the worksheet. In Administration Services Console. Save the script as CYMulti. Set localhost_BigCalc_Sales as the active connection. 3. 7.

The following message is displayed in cell B3: No Calculation Errors. 4. /* The Back Calculation */ ( "Gross Margin".2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . 3.xls. Loading and Calculating Level 0 Inputs 1. On the Smart View ribbon. ) /* Close out the Baseline Fix */ ENDFIX 7. SET AGGMISSG OFF. Customer. Here is the completed script: /* Information Created by: YourName Created On: Date Purpose: This script consolidates the Bigcorp Sales database in Current Year and then recalculates Gross Margin to offset upper-level data loads. Product). 5. Input data is sent to Bigcorp Sales. select the Level 0 Input worksheet.csc for the BigCalc Sales database. */ /* Housekeeping */ SET UPDATECALC OFF.1. /* The Baseline Fix */ FIX ("Current Year") /* The Main Rollup */ CALC DIM (Accounts. View input data: 70 Essbase 11.Lesson 10 Normalizing Data Solutions • Recalculate Gross Margin after all dimensions are consolidated. In UpperLevel. 2. Repeat the steps described in the “Loading and Calculating Multilevel Inputs” section of this exercise to test your calculation script. click Submit Data. Select the Level 0 AuditSheet worksheet. "Year Tot". Run ClearAll.

Refresh the worksheet to see the loaded data. NOTE: Calculation status messages are displayed in the top left-hand corner of the worksheet. In the File menu. View calculated data: a. Here is the completed script: /* Information Created by: YourName Created On: 9/22/2005 Purpose: This script consolidates the Bigcorp Sales database in Current Year.csc. The following message is displayed in cell B3: No Calculation Errors. b. In Administration Services Console.2 Calculate Block Storage Databases 71 Oracle Internal & Oracle Academy Use Only . cell B4 displays the following message: Contains Calculation Errors. 6. By default and if calculations are incorrect. Modify the script to perform the following tasks: • Set aggregate missing values to ON. • Calculate only Current Year data for all time periods. Modifying the Calculation Script for Leaf-Node Loads 1. open CalcDyn. Essbase 11. under BigCalc Sales. Set localhost_BigCalc_Sales as the active connection.csc. select Save as.10 Normalizing Data Solutions a. Scroll down to the No Customer section. Refresh the worksheet. c.csc. If calculations are correct. b. 4. Launch CalcDyn. 3. SET AGGMISSG OFF. */ /* Housekeeping */ SET UPDATECALC OFF. cell B3 displays the following message: No Calculation Errors. and verify leaf-level loads.1. 2. Save the script as CYLev0.

"Year Tot". Based on the input sheets in Budget. 3.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . Select the Normalization Table worksheet. The following message is displayed in cell B3: No Calculation Errors. Product). Open Budget. 4.xls.xls (in c:\CF\EssCalcs\Normalize).1.2 Developing a Normalization Table 1. Compare your results to the finished normalization table in the following figure or compare your table to the completed table on the NormZ tab: 72 Essbase 11. Customer. Solution 10. 2. complete the normalization table. Repeat the steps in the “Loading and Calculating Level 0 Inputs” section of this exercise to test your calculation script.Lesson 10 Normalizing Data Solutions /* The Baseline Fix */ FIX ("Current Year") /* The Main Rollup */ CALC DIM (Accounts. /* Close out the Baseline Fix */ ENDFIX 5.

3 Copying Rates and Drivers In this exercise.csc to match the following script: /* Information Created by: YourName Created On: 9/22/2005 Purpose: This script normalizes budget data in the DynCalc DynSales database. Run LoadBudget. SET AGGMISSG ON.bat (in c:\CF\EssCalcs\Scripts) to clear and reload input data. Validate and save Budget. In Administration Services Console. "Year Tot".csc as Budget. */ /* Housekeeping */ SET UPDATECALC OFF. Modify Budget.1. /* Main Rollup */ CALC DIM (Accounts. 2.10 Normalizing Data Solutions Solution 10. 2. Testing List Price Normalization 1.2 Calculate Block Storage Databases 73 Oracle Internal & Oracle Academy Use Only . /* Baseline Fix */ FIX ("Budget") /* Normalization */ /* Normalize rates loaded to upper levels */ "List Price" = @PARENTVAL("Customer". Product). select the AuditCalcs worksheet. you create a script to normalize rates and drivers. Save CalcDyn. Essbase 11. In Budget. Customer. 3. SET MSG SUMMARY.csc. /* Close out the Baseline Fix */ ENDFIX 4. "List Price"). under DynCalc DynSales. Creating a Normalization Script: List Price 1.csc. open CalcDyn.csc.xls.

*/ /* Housekeeping */ SET UPDATECALC OFF. level 0 data blocks do not exist. and refresh the worksheet. No data is displayed for the level 0 block.csc to match the following script: /* Information Created by: YourName Created On: 9/22/2005 Purpose: This script normalizes budget data in the DynCalc DynSales database.Calculating List Price in these blocks overwrites the input data with the List Price stored in the Channel Total blocks. List Price data is displayed under Input Accounts in cells C34:E34. Modify Budget. the lowest-level blocks possible to calculate are the blocks where List Price was loaded (Channellevel blocks). If necessary. Change OEM to O-IBM. When the @PARENTVAL formula for List Price is calculated. View input data: a.csc. Click Refresh. /* Copy Current Year units to Budget */ 74 Essbase 11. which is #MISSING.1. Completing the Normalization Script 1. Change the POV back to the level 0 block to verify list price data at level 0: .Lesson 10 Normalizing Data Solutions 3. although the formula is correct. Therefore. Why is no data returned for List Price? No data is displayed for List Price because no budget data is loaded to level 0 data blocks Thus. Calculate Budget. SET AGGMISSG ON. a. b. Click Refresh. your calculation results are incorrect because target blocks do not exist. 4. Change O-IBM to OEM. 5. open the Smart View panel and double-click the DynSales database to connect. SET MSG SUMMARY. b. No data is displayed for List Price.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only 6.

Run LoadBudgetAct. "Customer". Testing Normalization 1. Product). 5). Calculate Budget. 2. "List Price"). Verify and save the script. NOTE: This is a different batch file than the one used at the beginning of the exercise.xls. 3. and refresh the worksheet.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data. "Discount %" = "Discount %"->"Family Total".csc. Essbase 11. 2). Customer.1. 4. "Product". "Labor/Unit" = "Labor/Unit"->"Channel Total". 0). ENDFIX /* Baseline Fix */ FIX ("Budget") /* Normalization */ /* Normalize rates loaded to upper levels */ "List Price" = @PARENTVAL("Customer". open the Smart View panel and double-click the DynSales database to connect. "Year Tot". @LEVMBRS(Customer. /* Main Rollup */ CALC DIM (Accounts. 3. "Matl/Unit" = "Matl/Unit"->"Channel Total".2 Calculate Block Storage Databases 75 Oracle Internal & Oracle Academy Use Only . /* Close out the Baseline Fix */ ENDFIX 2.10 Normalizing Data Solutions FIX(@GENMBRS(Product. "Overhead Rate" = @MDANCESTVAL(2. If necessary. select the AuditCalcs worksheet. In Budget. Units) DATACOPY "Current Year" TO "Budget".

2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . or open Budget_Solutions.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs worksheet: 76 Essbase 11.Lesson 10 Normalizing Data Solutions 5. Compare your results to the following figure.1.

ENDFIX /* The Baseline Fix */ FIX("Budget") /* Normalization */ /* Normalize rates loaded to upper levels */ "List Price" = @PARENTVAL("Customer". /* Copy Current Year units to Budget */ FIX(@GENMBRS(Product. "Discount %" = "Discount %"->"Family Total". "List Price"). 2.csc to look like the following script: Created by: YourName Created On:9/22/2005 Purpose:This script calculates the DynCalc DynSales database.1. 3. open Budget.2 Calculate Block Storage Databases 77 Oracle Internal & Oracle Academy Use Only /* Information . "Product".1 Allocating Other Costs Modifying the Budget Calculation 1. "Overhead Rate" = @MDANCESTVAL(2. "Labor/Unit" = "Labor/Unit"->"Channel Total". 2). 0). then sum Units and Net Sales across Product and Customer dimensions for members used as the allocation base. */ /* Housekeeping */ SET UPDATECALC OFF. @LEVMBRS(Customer. In Administration Services Console.11 Performing Advanced Allocations Solutions Lesson 11 Performing Advanced Allocations Solution 11. /*Focused rollup for allocation of Other Expenses: calculate Net Sales. "Matl/Unit" = "Matl/Unit"->"Channel Total".csc. "Customer". SET AGGMISSG ON. SET MSG SUMMARY.*/ Essbase 11. Modify Budget. 5). under DynCalc DynSales. Units) DATACOPY "Current Year" TO "Budget".

Product). "Overhead Variances" = "Overhead Variances"->"Family Total"->"Channel Total" * "Units" / "Units"->"Family Total"->"Channel Total". 3. "Inventory Adjustments" = "Inventory Adjustments"->"Family Total"->"Channel Total" * "Net Sales" / "Net Sales"->"Family Total"->"Channel Total". /* Main Rollup */ CALC DIM (Accounts. "Year Tot".1. FIX ("Net Sales". calculate Budget. Validate and save Budget. 2. Run LoadBudgetAct. @IDESCENDANTS ("Channel Total").csc.csc.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .bat to clear and reload actual and budget input data. Open the application log for DynCalc and scroll to the end of the log.Lesson 11 Performing Advanced Allocations Solutions @IDESCENDANTS ("Net Sales"). 78 Essbase 11. "Labor Variances" = "Labor Variances"->"Family Total"->"Channel Total" * "Units" / "Units"->"Family Total"->"Channel Total". /* Close out the Baseline Fix */ ENDFIX 3. In Administration Services Console. Customer. Observe the warning messages relating to Net Sales. Running a Calculation Test Cycle and Viewing the Calculation Log 1. Units) @IDESCENDANTS ("Family Total"). 4. for example: Regular member [Inventory Adjustments] depends on dynamic-calc member [Net Sales]. "Obsolete Charges" = "Obsolete Charges"->"Family Total"->"Channel Total" * "Net Sales" / "Net Sales"->"Family Total"->"Channel Total". ENDFIX /* Allocate Other CGS */ "Material Variances" = "Material Variances"->"Family Total"->"Channel Total" * "Units" / "Units"->"Family Total"->"Channel Total".

2. Click OK.xls. If necessary. 2.1. 5. In the Data Storage drop-down list. select the AuditCalcs worksheet. 3. Run LoadBudgetAct. .csc. and refresh the worksheet. consider changing the Dynamic Calc members to stored members.11 Performing Advanced Allocations Solutions TIP: Calculations for stored members should not be dependent on Dynamic Calc members. 4. The Restructure Database Options dialog box is displayed. Testing the Normalization Calculations 1. Select Edit member properties. In Budget. Modifying the Outline 1. 6. In the DynSales outline.2 Calculate Block Storage Databases 79 Oracle Internal & Oracle Academy Use Only The Member Properties dialog box is displayed. 7. 3. open the Smart View panel and double-click the DynSales database to connect. right-click Net Sales. 4. Essbase 11. Calculate Budget.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data. Click OK. If they are. Select All data. Click Save. select Store Data.

Lesson 11 Performing Advanced Allocations Solutions 5. Compare your results to the following figure, or open Budget_Solutions.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs2 worksheet:

Solution 11.2

Optional: Tuning the Budget Calculation

Adding Variables and Replacing Repetitive Code 1. In Administration Services Console, under DynCalc DynSales, open Budget.csc. 2. Save Budget.csc as BudgetA.csc. 3. Modify the allocation section to look like the following script: /* Information Created by: YourName Created On:9/22/2005 Purpose:This script calculates the DynCalc DynSales database. 80 Essbase 11.1.2 Calculate Block Storage Databases

Oracle Internal & Oracle Academy Use Only

11 Performing Advanced Allocations Solutions */ /* Housekeeping */ SET UPDATECALC OFF; SET AGGMISSG ON; SET MSG SUMMARY; VAR AllocUnits; VAR AllocSales;

/* The Baseline Fix */ FIX("Budget") /* Normalization */ /* Normalize rates loaded to upper levels */ "List Price" = @PARENTVAL("Customer", "List Price"); "Discount %" = "Discount %"->"Family Total"; "Labor/Unit" = "Labor/Unit"->"Channel Total"; "Matl/Unit" = "Matl/Unit"->"Channel Total"; "Overhead Rate" = @MDANCESTVAL(2, "Product", 3, "Customer", 2); /*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 CGS */ "Units" ( AllocUnits = "Units"/"Units"->"Family Total"->"Channel Total"; AllocSales = "Net Sales"/"Net Sales"->"Family Total"->"Channel Total";

Essbase 11.1.2 Calculate Block Storage Databases

81

Oracle Internal & Oracle Academy Use Only

/* Copy Current Year units to Budget */ FIX(@GENMBRS(Product, 5), @LEVMBRS(Customer, 0), Units) DATACOPY "Current Year" TO "Budget"; ENDFIX

Lesson 11 Performing Advanced Allocations Solutions "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;

/* Main Rollup */ CALC DIM (Accounts, "Year Tot", Customer, Product); /* Close out the Baseline Fix */ ENDFIX 4. Validate the script and save it as BudgetA.csc. Testing the Calculations 1. Run LoadBudgetAct.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data. 2. In Budget.xls, select the AuditCalcs worksheet. 3. If necessary, open the Smart View panel and double-click the DynSales database to connect. 4. Calculate BudgetA.csc, and refresh the worksheet.

82

Essbase 11.1.2 Calculate Block Storage Databases

Oracle Internal & Oracle Academy Use Only

"Inventory Adjustments" = "Inventory Adjustments"->"Family Total"->"Channel Total" * AllocSales; )

or open Budget_Solutions. 2. Modify the allocation for Labor Variances to look like the following script: /* Information Created by: YourName Essbase 11.csc.1.3 Optional: Creating a Multilevel Allocation Adding Multilevel Allocations 1. open Budget. 3. Save Budget.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs2 worksheet: Solution 11. In Administration Services Console. Compare your results to the following figure.csc. under DynCalc DynSales.2 Calculate Block Storage Databases 83 Oracle Internal & Oracle Academy Use Only .11 Performing Advanced Allocations Solutions 5.csc as BudgetB.

3. then sum Units and Net Sales across Product and Customer dimensions for members used as the allocation base.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . 2). SET AGGMISSG ON. "Product". ENDFIX /* The Baseline Fix */ FIX ("Budget") /* Normalization */ /* Normalize rates loaded to upper levels */ "List Price" = @PARENTVAL("Customer". "List Price"). "Matl/Unit" = "Matl/Unit"->"Channel Total".*/ @IDESCENDANTS ("Net Sales"). FIX ("Net Sales". 5). 84 Essbase 11. "Overhead Rate" = @MDANCESTVAL(2. @LEVMBRS(Customer. Units) @IDESCENDANTS ("Family Total"). 0). /* Copy Current Year units to Budget */ FIX(@GENMBRS(Product. ENDFIX /* Allocate Other CGS */ "Material Variances" = "Material Variances"->"Family Total"->"Channel Total" * "Units" / "Units"->"Family Total"->"Channel Total". "Overhead Variances" = "Overhead Variances"->"Family Total"->"Channel Total" * "Units" / "Units"->"Family Total"->"Channel Total". "Labor/Unit" = "Labor/Unit"->"Channel Total". */ /* Housekeeping */ SET UPDATECALC OFF. "Customer". @IDESCENDANTS ("Channel Total"). SET MSG SUMMARY. /*Focused rollup for allocation of Other Expenses: calculate Net Sales.Lesson 11 Performing Advanced Allocations Solutions Created On:9/22/2005 Purpose:This script calculates the DynCalc DynSales database.1. "Discount %" = "Discount %"->"Family Total". Units) DATACOPY "Current Year" TO "Budget".

Essbase 11.csc. ENDFIX /* Step 2: Allocate Labor Variances to Gen5 (level 0) products based on percent of product family units */ FIX( @GENMBRS( "Product". 3. 3. "Labor Variances") * ("Units" / @MDANCESTVAL( 2. "Units")).1. Product). 2. Save BudgetB. @RANGE( Units. "Customer".2 Calculate Block Storage Databases 85 Oracle Internal & Oracle Academy Use Only . Customer.11 Performing Advanced Allocations Solutions /* Multilevel allocation for Labor Variances */ /* Step 1: Allocate Labor Variances to the children of Family Total based on an even split between the children with data */ FIX( @CHILDREN( "Family Total")) "Labor Variances" = "Labor Variances"->"Family Total"->"Channel Total" / @COUNT( SKIPMISSING. "Customer". "Product". "Year Tot". @ISIBLINGS( @CURRMBR(Product) ) ) ). ENDFIX /* Allocate Obsolete Charges and Inventory Adjustments based on percent of Net Sales */ "Obsolete Charges" = "Obsolete Charges"->"Family Total"->"Channel Total" * "Net Sales" / "Net Sales"->"Family Total"->"Channel Total". 2. 5)) "Labor Variances" = @MDANCESTVAL( 2. /* Close out the Baseline Fix */ ENDFIX 4. "Product". "Inventory Adjustments" = "Inventory Adjustments"->"Family Total"->"Channel Total" * "Net Sales" / "Net Sales"->"Family Total"->"Channel Total". /* Main Rollup */ CALC DIM (Accounts.

select the AuditCalcs worksheet. 2.csc. Run LoadBudgetAct.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only .1. and refresh the worksheet. 3.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the AuditCalcs3 worksheet: 86 Essbase 11.xls. Compare your results to the following figure.bat (in c:\CF\EssCalcs\Scripts) to clear and reload budget and actual input data. 5.Lesson 11 Performing Advanced Allocations Solutions Testing the Calculations 1. 4. or open Budget_Solutions. If necessary. open the Smart View panel and double-click the DynSales database to connect. In Budget. Calculate BudgetB.

In Administration Services Console. In the first row of the table. A check mark is displayed in the Verified column. /* Calculate Projected Tax */ "Projected Taxes" = "Gross Margin" * @XREF(Taxes. and then Close. 5.11 Performing Advanced Allocations Solutions Solution 11. US.2 Calculate Block Storage Databases 87 Oracle Internal & Oracle Academy Use Only Parameter Value . Select Edit. The Location Aliases dialog box is displayed.csc. Essbase 11.1. Click Set. 3.4 Creating Multiple-Database Calculations Creating a Location Alias 1. Click Test. Create a calculation script for DynSales based on the following script: /* Housekeeping */ SET UPDATECALC OFF. Save the script as Taxes. and then Location aliases. in the navigation hierarchy. 2. right-click the DynSales database node. 2. create a location alias based on the following table: Alias Essbase Server Application Database User Name Password Taxes localhost BigTax Taxes admin@Native Directory hyperion 4. TR0003). Calculating Across Databases 1.

or open Taxes_Solutions. 2.Lesson 11 Performing Advanced Allocations Solutions Testing the Calculations 1. Run ResetDynamic. reload. Set DynCalc as the active connection. 5. 3.xls (in c:\CF\EssCalcs\Normalize) and select the ProjectedTax worksheet.2 Calculate Block Storage Databases Oracle Internal & Oracle Academy Use Only . Compare your results to the following figure. Calculate Taxes. Open Taxes.csc and refresh the worksheet. enter your user credentials. and calculate input data.1.xls (in c:\CF\EssCalcs\Normalization\Complete) and compare your results to the Projected Tax worksheet: 88 Essbase 11.bat (in c:\CF\EssCalcs\Scripts) to clear. 4. If prompted.