Sei sulla pagina 1di 120

Oracle Essbase 11.1.

1: Bootcamp
Volume II Student Guide

D70048GC10 Edition 1.0 September 2008 D56250

Oracle Internal & Oracle Academy Use Only

Authors
Lisa Alexander Jumal Qazi

Copyright 2008, Oracle. 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 Contributors and Reviewers


Shubho Bhattacharya Art Hetherington Saju Philips Sergiy Percherskyy Aneel Shenker Yulia Stolerman

Susan Moxley Jennifer Stout

Graphic Editors
Asha Thampy Satish Bettegowda

U.S. GOVERNMENT RIGHTS The U.S. Governments 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 is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Internal & Oracle Academy Use Only

Editors

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

Preface
Course Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Course Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Course Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Student Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Activity Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Future Courses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Module 1: Creating Databases Lesson 1: Essbase Overview


Multidimensional Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Spreadsheet-Based Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Multidimensional View of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Data Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Dimension Hierarchies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Operations in Multidimensional Data Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Sparse and Dense Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11 Oracles Enterprise Performance Management System . . . . . . . . . . . . . . . . . . . . . . 1-12 Oracle BI Suite Enterprise Edition Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 Essbase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Essbase Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Essbase Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20 Administration Services Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 Production Environment Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25 Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26 Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27 Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-29 Smart View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31 Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32 Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 Essbase Studio and Data Warehousing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34

Oracle Internal & Oracle Academy Use Only

Table of Contents

Lesson 2: Designing Applications and Databases


Block Storage Implementation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Analyzing and Planning Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Identifying Business Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Examining Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Analyzing Sample Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 Designing Block Storage Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Creating Applications and Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 Creating Block Storage Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 Creating Block Storage Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 Server File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 Design Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 Creating Outline Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 Creating Dimensions and Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 Moving Dimensions and Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 Modifying Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26

Lesson 3: Designing Data Descriptor Dimensions


Data Descriptor Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Designing Time Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Generic Time Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Fiscal Year Crossover Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Designing Scenario Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Tracking Data Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Tracking Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11 Outline Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Consolidation Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 Shared Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Designing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 Consolidation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 Design Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Creating Accounts Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 Testing Outline Calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 Intelligent Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 Setting the Default Database Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28

Lesson 4: Optimizing Data Descriptor Dimensions


Creating Member Aliases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 iv Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Table of Contents

Module 2: Building Rules Files Lesson 5: Planning Dimension Designs


Business View Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Combining Business Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Planning Dimensions with Label Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Designing Primary Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Designing Secondary Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-11

Lesson 6: Creating Basic Dimension Build Rules Files


Rules Files Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Dimension Build Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Creating Dimension Build Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 Prepping Data Prep Editor (Steps 16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Creating Dimensions (Step 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 Selecting Dimension Build Method (Step 8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 Defining Field Properties (Step 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 Validating Dimension Build Rules Files (Step 10) . . . . . . . . . . . . . . . . . . . . . . . . 6-20 Completing Dimension Build Rules Files (Steps 11 and 12) . . . . . . . . . . . . . . . . 6-22 Configuring Dimension Maintenance Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 Moving Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25 Modifying Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 Sorting Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29 Updating Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Dimension Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Creating Period-to-Date Totals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Creating Period-to-Date Calculated Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Implementing Dynamic Time Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 Dynamic Calc Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-11 Enhancing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Time Balance Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Expense Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Optimizing Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Label Only Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19 Implied Shares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21

Table of Contents

Lesson 7: Creating Advanced Dimension Build Rules Files


Advanced Dimension Build Rules Files Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 Creating Shared Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Parent-Child Build Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Other Methods for Creating Shared Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Manipulating Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Arranging Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Altering and Ignoring Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 Creating User-Defined Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14

Lesson 8: Loading Data


Data Load Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Free-form Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Data Sources That Require Rules Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Creating Data Load Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Prepping Data Prep Editor (Steps 16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 Defining Field Properties (Step 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-11 Referencing Missing Dimensions (Step 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Setting Data Load Values Options (Step 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 Validating Data Load Rules Files (Step 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Completing Data Load Rules Files (Steps 11 and 12) . . . . . . . . . . . . . . . . . . . . . 8-20 Selecting and Rejecting Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Capturing New Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24

Module 3: Reporting with Smart View Lesson 9: Getting Started with Smart View
Smart View Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Smart View and Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 Smart View Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 Smart View Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 Configuring Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 Configuring Provider Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 Connecting to Essbase Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-11 Creating Ad Hoc Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15 Display of Multidimensional Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17

vi

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Table of Contents

Label Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Point of View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Filtering Dimension Member Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9-19 9-21 9-22 9-24

Lesson 10: Creating Reports with Smart View


Manipulating Multidimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 Navigating Through Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 Retaining and Removing Data Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Pivoting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 Updating Essbase Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9 Adjusting Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 Submitting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 Calculating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13 Integrating Essbase Data with Microsoft Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15 Copying Dynamic Data Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 Creating Linked Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19 Customizing the User Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21 Smart Slices Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22 Creating Smart Slices (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24 Creating Smart Slices (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26 Adding Queries and Subqueries to Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27 Interactive Report Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-29 Creating Reports with Report Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30

Module 4: Creating Basic Calculations Lesson 11: Data Storage and Calculation
Calculation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-2 Outline-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-4 Script-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-5 Calculation Script Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-8 Database Calculation Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-9 Data Block Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-11 Data Blocks and the Index System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-12 Data Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-14 Dense Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-16 Sparse Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-18 Database Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-20 Essbase 11.1.1: Bootcamp vii

Oracle Internal & Oracle Academy Use Only

Table of Contents

Lesson 12: Creating Calculation Scripts


Calculation Script Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2 Information Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-6 Housekeeping Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8 Baseline Fix Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10 Normalization Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12 Main Rollup Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14 Back Calculation Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15 Returning Correct Calculation Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16 Expected Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17 Correcting Calculated Percentages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-19 Design Considerations for Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-22 Preventing Consolidation of Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24 Correcting Derived Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25 Correcting Input Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-26 Troubleshooting CALC DIM Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28 Viewing Calculation Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29 Single-Pass Calculation with Incorrect Results . . . . . . . . . . . . . . . . . . . . . . . . . 12-31 Multiple-Pass Calculation with Correct Results . . . . . . . . . . . . . . . . . . . . . . . . . 12-33

Lesson 13: Controlling the Calculation Process


Top-Down Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 Focusing Calculations with FIX Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4 Calculating Conditionally with IF Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-7

viii

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Dimension Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-21 Block Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-22 Data Block Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-24 Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-25 DATACOPY Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-26 Sparse Dimension Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-27 Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-28 Database Calculation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-29 Input Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-30 Dense Dimension Calculation Process: Accounts . . . . . . . . . . . . . . . . . . . . . . . .11-31 Dense Dimension Calculation Process: Time . . . . . . . . . . . . . . . . . . . . . . . . . . .11-32 Sparse Dimension Calculation Process: Customer . . . . . . . . . . . . . . . . . . . . . . .11-33 Sparse Dimension Calculation Process: Product. . . . . . . . . . . . . . . . . . . . . . . . .11-35

Table of Contents

Boolean Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9 Syntax Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-11 Comparing FIX and IF Calculation Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-13 Number of Data Blocks Processed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 Number of Calculation Passes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16

Lesson 14: Referencing Members in Calculations


Referencing Members Explicitly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 Referencing Members Dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4 Referencing Sets of Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5 Referencing Related Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7 Creating Calculation Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9 Creating Temporary Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10 Creating Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13

Module 5: Extending Analysis Capabilities Lesson 15: Creating Attribute Dimensions


Attribute Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2 Attribute Dimension Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3 Attribute Calculations Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5 Adding Attribute Dimensions to Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-7 Associating Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8 Assigning Attributes in Outline Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10 Design Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-12 Design Considerations: Database Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-14 Design Considerations: Batch Calculation Performance . . . . . . . . . . . . . . . . . . 15-15 Design Considerations: Report Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-16 Design Considerations: Report Performance . . . . . . . . . . . . . . . . . . . . . . . . . . 15-19 Creating Attribute Dimensions with Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-20 Adding Attribute Dimensions with Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . 15-22 Assigning Attributes in Rules Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-23

Lesson 16: Analyzing Varying Attributes


Varying Attributes: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2 Creating Varying Attributes: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3 Enabling Outlines for Varying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4

Essbase 11.1.1: Bootcamp

ix

Oracle Internal & Oracle Academy Use Only

Table of Contents

Defining Ranges of Variances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-7 Viewing Varying Attribute Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-9

Lesson 17: Analyzing Text and Dates


Typed Measures: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2 Enabling Typed Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4 Creating Text Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5 Creating Text Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6 Populating Text Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7 Associating Text Lists to Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-9 Creating Date Measures (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10 Creating Date Measures (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-11 Viewing Typed Measures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12 Calculations Based on Typed Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13

Module 6: Appendices Appendix A: Creating Advanced Calculations


Script Development Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 Calculation Test Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4 Prototype Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6 Pilot Phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9 Upper-Level Data Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13 Aggregating Missing Values (1/1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14 Aggregating Missing Values (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15 Loading to Leaf Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-20 Intelligent Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23 Data Block Marking: Clean Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25 Data Block Marking: Dirty Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28 Usage Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-30 Allocating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-32 Calculating Fixed Rate Allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-34 Calculating Dynamic Ratio Allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-36 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-38 Partitioning Calculations by Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-40 Developing Normalization Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-42 Developing Block Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45 Normalizing Rates and Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-47

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Table of Contents

Copying and Clearing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clearing Data with CLEARDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clearing Data with CLEARBLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A-49 A-50 A-52 A-54

Appendix B: Creating Reports with Essbase Spreadsheet Add-in


Essbase Spreadsheet Add-in Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2 Installing the Essbase Menu and Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 Managing Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5 Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 Representing Multidimensional Data in Two-Dimensional Reports . . . . . . . . . . . . B-9 Label Scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11 Manipulating Multidimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13 Navigating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15 Retaining and Removing Data Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17 Pivoting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19 Managing Worksheet Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20 Global Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21 Zoom Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-23 Style Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-25 Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-27 Preserving Excel Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29 Replicating Reports with Cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-31 Creating Cascade Reports (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-32 Creating Cascade Reports (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-34 Selecting Members from the Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-35 Defining Selection Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-37 Applying Additional Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39 Creating Savable Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-41 Query Designer Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-42 Creating Basic Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-43 Creating Advanced Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-44 Filtering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-45 Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-47 Retrieving with Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-48

Essbase 11.1.1: Bootcamp

xi

Oracle Internal & Oracle Academy Use Only

Table of Contents

xii

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

M O D U L E

6
17

Appendices

Overview

Appendices include: Creating Advanced Calculations Creating Reports with Essbase Spreadsheet Add-in

Oracle Internal & Oracle Academy Use Only

This module contains appendices to provide information about additional features of Essbase not covered in this course.

Oracle Internal & Oracle Academy Use Only

A P P E N D I X

A
A

Creating Advanced Calculations

Objectives
Describe the script development process Implement methods for working with upper-level data loads Describe intelligent calculation behavior Allocate date with calculation scripts Describe and plan data normalization Normalize rates and drivers Copy and clear data

Oracle Internal & Oracle Academy Use Only

At the end of this appendix, you should be able to:

Module 6 Appendices Appendix A Creating Advanced Calculations

Script Development Process

C opyrigh t 2 008, Oracle . All rig hts reserved.

Script Development Process


When you draft calculation scripts, avoid developing and testing them on your full database. Because calculating in a multidimensional environment is a complex process, develop and test calculation scripts incrementally, writing line-by-line and implementing frequent test cycles. Developing and testing calculation scripts on full, real-world databases presents two fundamental problems: Calculation test-cycle times are substantially increased when full databases are tested. Long calculation times inhibit incremental development and testing, which are necessary in the Essbase data structure, where calculation dependencies are complex and multidimensional impacts may not be immediately obvious.

A-2

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Real-world data is often more difficult to audit than test data. As you develop scripts, you should focus on the technical accuracy of your calculation formulas and not attempt to tie results to prescribed control totals. It is typically easier to trace calculations and dependencies with contrived test data than with real-world data. The calculation script development process has two phases: 1. Prototype Phase: You develop scripts and test them for baseline accuracy. 2. Pilot Phase: You test scripts for performance and capture of exception conditions.
TIP

Essbase 11.1.1: Bootcamp

A-3

Oracle Internal & Oracle Academy Use Only

After you finish building your outline, you should separate the calculation script development process from the rules file development process to avoid cross-contamination of the data sets required for the processes.

Module 6 Appendices Appendix A Creating Advanced Calculations

Calculation Test Cycle


1

CLEARBLOCK ALL;
2
Changed calculation script

C opyrigh t 2 008, Oracle . All rig hts reserved.

Calculation Test Cycle


When you test calculation scripts for accuracy, you want to be sure that there is nothing happening behind the scenes that can affect your test results. For example, data calculated twice with the same script can return two different results, returning a false negative or a false positive for one of your test calculations. Disabling Intelligent Calculation To help ensure that Essbase calculates every possible result for your calculation script, you can turn off intelligent calculation. If Essbase has marked a particular data block as calculated, intelligent calculation interferes with subsequent calculations. It is common practice to disable intelligent calculation with the SET UPDATECALC OFF command in the housekeeping section of a script. The full impact of intelligent calculation is discussed in more detail later in this lesson.

A-4

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Test cycle

Module 6 Appendices Appendix A Creating Advanced Calculations Implementing Test Cycles Every time you change your script and need to test calculation results, follow these steps: 1. Clear all data from the database. 2. Load calculation test data. 3. Execute your calculation script. 4. Audit your calculation results.

Results that are based on your input data and the subsequent calculation, not on other factors Fastest performance possible, given that results must be based on input data and subsequent calculation

Essbase 11.1.1: Bootcamp

A-5

Oracle Internal & Oracle Academy Use Only

If you follow this formalized test cycle every time you test a calculation script, you ensure the following outcomes:

Module 6 Appendices Appendix A Creating Advanced Calculations

Prototype Phase

Input sheet

Audit sheet

C opyrigh t 2 008, Oracle . All rig hts reserved.

Prototype Phase
The prototype phase of calculation script development is for developing a basic script that correctly calculates dependencies and values for baseline calculations. You want the prototype phase to be as fast and efficient as possible, with low calculation test cycle times. To meet this objective, the following process for creating a prototype calculation script is recommended: 1. Create test input data. 2. Create audit spreadsheets. 3. Implement a draft and test cycle.
TIP

Be sure to check your block statistics before and after running your calculation.

A-6

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Creating Test Input Data To quickly check your results, you should create test data that is simple, easy to load, and easy to audit. It is not efficient to create prototype calculation scripts when using full or even partial sets of actual data, because the results require too much time to calculate and audit. To create a simple data set for prototyping: 1. In Excel, create a spreadsheet workbook, with one or more input worksheets, that represents a focused set of accounts to be tested against a representative crosssection of sparse dimension members.
TIP

In your input worksheets, use only members to which you load data. For example, if Qtr 1 is a calculated member, do not reference Qtr 1 in your input sheet. If your input levels vary, you can create multiple input spreadsheets in one workbook.

2. Enter your test data into the blank input sheets.


TIP

For easier auditing, use multiples of 100 or 1000 or similar simple numbers for which it is easy to trace a series of calculation dependencies.

Creating Audit Sheets When drafting and testing calculation scripts, you must be able to audit results easily. To accomplish this objective, set up clearly identified audit and comparison sheets, separate from input sheets, in your testing workbook. Audit sheets are designed to test whether specific calculations are working. Your audit sheets, when retrieved, must reflect member combinations that show both input data and calculation results. Do not try to audit too many types of calculations on one sheet; you can have several audit sheets, each of which tests a different calculation sequence, such as allocations versus back calculations. As a best practice, create three audit sections: Essbase calculation results: data you retrieve from Essbase

Essbase 11.1.1: Bootcamp

A-7

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Expected calculation results: static data copied from a data source or calculated using Excel formulas (To protect Excel formulas during retrieval, enable formula preservation options. To protect numeric data during retrieval, place an equals sign (=) before the number. Addition of the equals sign converts the number to an Excel formula.) Comparison of Essbase calculation results and expected calculation results: Excel formulas calculating the difference between Essbase results and static data (This section enables you to see quickly and easily where Essbase results vary from expected results.)

Implementing Draft and Test Cycles After setting up input and audit worksheets, you draft and test your prototype script by using a cyclical test procedure. Rather than writing and testing a calculation script in its entirety, test small sections at a time: Write one line of script and then complete the calculation testing cycle; then write another line and test again. In this way, you can identify problematic or incorrect script lines as you write them. The following tips can help speed the calculation test cycle: To clear your database, create a separate calculation script with only the command CLEARBLOCK ALL. This way, you can complete the entire calculation test cycle from Excel, using the capabilities of Smart View Spreadsheet Add-in, rather than switching back to Administration Services Console.
NOTE

Do not use this method with larger data sets, as performance is better when data is cleared using Administration Services Console.

Use Smart View to submit data from your input sheets, or use Spreadsheet Add-in to lock and send the data. Before you execute your prototype calculation script, retrieve from the sheets that audit the results of your Essbase calculation. With this retrieval, you verify the input data that you loaded. After calculation, use the Undo feature in Smart View or the Flashback feature in Spreadsheet Add-in to revert to the input data in your spreadsheet.

A-8

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

You can implement these three sections on one audit worksheet or create an audit worksheet for each section.

Module 6 Appendices Appendix A Creating Advanced Calculations

Pilot Phase

C opyrigh t 2 008, Oracle . All rig hts reserved.

Pilot Phase
When you develop a prototype script, you confirm that calculations and dependencies work correctly on test data. During the pilot phase of testing, you test the prototype script against real-world data and make necessary changes. You typically make two types of adjustments to the prototype script during pilot testing: Performance optimization Exception trapping Performance Optimization During prototype testing, the database is typically too small for you to accurately assess performance impacts. During the pilot phase, you refine your prototype script to address performance issues.

Essbase 11.1.1: Bootcamp

A-9

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations The following tips can help you optimize the performance of your calculation scripts: Minimize the number of calculation passes in your script. Two calculation passes on a given set of data blocks require twice as much time as one pass, so use the pilot phase to ensure that all calculations that can be grouped are performed in a single pass. For each calculation pass, minimize the number of blocks that Essbase calculates. If Essbase does not need to calculate every existing data block, use FIX statements to focus calculation on the necessary blocks.

Revise dynamic calculation (versus batch calculation) approaches to reflect your final calculation requirements. Determine whether your calculation returns correct results with intelligent calculation turned on, thus minimizing the number of data blocks required for calculation. The full ramifications of intelligent calculation are discussed later in this appendix. Exception Trapping The prototype calculation script typically addresses known mainstream or baseline calculation requirements. Testing your prototype against real data can result in errors that represent exceptions to the baseline and that require further refinement of the script. The following are examples of exception trapping: Adjusting allocation formulas because actual data is input at levels other than the levels that were assumed during the prototype phase Adding conditional logic to address the handling of zero values in calculations Adding DATACOPY commands to create data blocks necessary for calculation Pilot Phase Testing Testing in the pilot phase follows the calculation, testing-cycle steps of the prototype phase but uses real data instead of test data. Using real data modifies the calculation, test-cycle methodology, as it was described for the prototype phase. Unlike test data, real data tends to reside in exterior data sources that are typically loaded with rules files. Also, the volume of real data tends to be significantly higher than the volume of test data, a difference that increases calculation times.

A-10

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Revise sparse and dense storage settings to reflect your final calculation requirements.

Module 6 Appendices Appendix A Creating Advanced Calculations Additionally, because one of the primary objectives of this phase is to improve calculation performance, you need to mimic your production environment as much as possible and follow the sequence of production operations that you ordinarily follow. For example, upload data from the G/L, make outline modifications, and then run your calculation. Although Excel should still be used in this phase to audit calculation results, you can automate the rest of your calculation test cycle by using a MaxL script. The following example clears the database, loads data files, and then runs a calculation script. The entire process is spooled to a log file, which shows database statistics before and after calculation. */ */ */ */ */

/* ****************************************/ /* CREATE PROCESS LOG AND LOGIN TO SERVER */ /* ****************************************/ spool on to 'c:\temp\output.txt'; login $1 $2 on 'localhost'; /* ***********************************************************/ /* Activate and then clear data from Bigcorp Sales database */ /* ***********************************************************/ alter system load application 'Bigcorp'; alter application 'Bigcorp' load database 'Sales'; alter database 'Bigcorp'.'Sales' reset; /* ***************************************/ /* Load data files */ /* ***************************************/ import database 'Bigcorp'.'Sales' data from server text data_file 'Actual' using server rules_file 'Loadcorp' on error write to 'c:\temp\acterr.txt'; import database 'Bigcorp'.'Sales' data

Essbase 11.1.1: Bootcamp

A-11

Oracle Internal & Oracle Academy Use Only

/****************************************************************/ /* This MaxL script clears and then loads data to the /* Bigcorp Sales database for testing calculation scripts. /* Variables: /* $1 = user name /* $2 = password /****************************************************************/

Module 6 Appendices Appendix A Creating Advanced Calculations from server text data_file 'Forecast' using server rules_file 'Loadcorp' on error write to 'c:\temp\forerr.txt'; /**********************************************/ /* Get pre-calculation database statistics*/ /**********************************************/ query database 'Bigcorp'.'Sales' get dbstats data_block; /*****************************/ /* Run calculation scripts*/ /*****************************/ execute calculation 'Bigcorp'.'Sales'.'CalcAll'; /***********************************************/ /* Get post-calculation database statistics*/ /***********************************************/ query database 'Bigcorp'.'Sales' get dbstats data_block; /* ********************************/ /* Close out process log and exit */ /* ********************************/ spool off; exit;

A-12

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Upper-Level Data Loads


Three methods: Do not aggregate missing values Load to leaf nodes Allocate data before consolidation

C opyrigh t 2 008, Oracle . All rig hts reserved.

Upper-Level Data Loads


Block storage databases enable you to load data to any level, not only level 0. However, if you load data to upper levels, you must implement certain calculation or design schemes. Such schemes protect the data when you consolidate. Essbase provides three methods of handling upper-level input data (listed from least preferred to most preferred): Protecting upper-level inputs by not aggregating missing values Loading to special leaf nodes Allocating upper-level input data to level 0 before consolidating (For a comprehensive discussion of allocating data, see Allocating Data.)

Essbase 11.1.1: Bootcamp

A-13

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Aggregating Missing Values (1/2)


Aggregate missing values ON: Overwrites upper-level data loads Improves calculation performance Is the recommended default setting
Before calculation After calculation

C opyrigh t 2 008, Oracle . All rig hts reserved.

Aggregating Missing Values (1/1)


The fundamental problem with loading data to upper-level members is that the normal consolidation process can overwrite the data. For example, in the Bigcorp Sales database, you load a value of 100 to Qtr 1 and no data to Jan, Feb, or Mar. However, when you calculate the Year Tot dimension, Essbase receives an instruction to calculate Qtr 1 as Jan+Feb+Mar, and the calculated sum overwrites your input value. Whether the calculation is performed depends on your settings.

A-14

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Aggregating Missing Values (2/2)


Aggregate missing values OFF: Protects upper-level data loads Slows calculation performance Is the default setting for new databases
Before calculation After calculation

C opyrigh t 2 008, Oracle . All rig hts reserved.

Aggregating Missing Values (2/2)


One of the ways to handle upper-level data loads during the calculation process is to instruct Essbase not to aggregate missing values during hierarchy calculations. This instruction protects upper-level data that, in the hierarchy, has no data below it.

Essbase 11.1.1: Bootcamp

A-15

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Controlling Aggregate Missing Values Behavior There are two ways to control aggregate missing values behavior: Default database setting: New databases by default do not aggregate missing values. You can change the default setting on the General tab of the Database Properties dialog box. Calculation script: You can use the command SET AGGMISSG ON|OFF to control the aggregation of missing values on a script-by-script basis. This command overrides the default database setting and is typically included in the housekeeping section of the script.
TIP

As a best practice, you should set aggregate missing values on as a database default and turn it off selectively in your calculation scripts.

Performance Implications When you aggregate missing values during hierarchy consolidations (SET AGGMISSG ON), calculation performance is significantly enhanced for the following reasons: Dense calculations within a data block: Cell aggregations that can be performed multiple ways are summed only once. In the following example, Essbase can achieve the same result in the intersection of Cost of Sales and Qtr 1 by using the account formula (Labor+Material+Overhead) or the time period formula (Jan+Feb+Mar). Rather than calculating "Cost of Sales"->"Qtr 1" during the Accounts dimension calculation and then again during the Year Tot dimension calculation, Essbase calculates the cell only once, using the consolidation path of the dimension that it calculates last.
Jan Labor Material Overhead Cost of Sales 100 50 75 225 Feb 100 50 75 225 Mar 100 50 75 225 Qtr 1 300 150 225 675

A-16

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Sparse calculations between data blocks: Blocks that can be aggregated multiple ways are calculated only once, using an algorithm that attempts to calculate using the fewest possible blocks. In the following example, data block 12 (the intersection of Thunderball and OEM) can be calculated as the sum of blocks 4+8 or the sum of blocks 9+10+11. Rather than using both formulas and thus calculating block 12 twice, Essbase uses only the 4+8 formula because it requires fewer blocks.
O-Dell Thunderball 270 A Thunderball 540 A Thunderball 1 5 9 O-HP 2 6 10 O-IBM 3 7 11 OEM 4 8 12

Although not aggregating missing values (SET AGGMISSG OFF) is required to protect upper-level data, not aggregating missing values during hierarchy consolidations can have a serious impact on calculation performance, especially in the following two situations: When you have a low ratio of calculated data blocks to input data blocks When you load many data values at parent levels on sparse dimensions; for example, in the Bigcorp Sales database, if you load many data values into Retail in a sparse Customer dimension In these situations, the performance overhead required for not aggregating missing values is between 10% and 30%. If calculation performance is critical, reconsider how you configure the database or how you load data, to avoid the need to protect upperlevel input data. Expected Versus Correct Considerations When you load data to upper levels in your hierarchy, additional issues of expected versus correct calculation behavior must be considered. These issues are difficult to understand without stepping through the calculations. The following example illustrates the problem.

Essbase 11.1.1: Bootcamp

A-17

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations The Other CGS account data for Bigcorp Sales is collected in transactional systems without regard for customer or product. Thus, the data is available for input only at the level that represents the total for all products (Family Total) and all customers (Channel Total). The following input sheet loads Other CGS data to the "Current Year"->"Family Total"->"Channel Total" data block.

However, all other account drivers are input to level 0 blocks. The following input sheet loads other account data (units, list price, and so on) to the "Current Year"->"Lightbolt 365 A"->"O-IBM" and "Current Year"->"Thunderball 540 S"->"O-IBM" data blocks.

You calculate the following script, making sure to include instructions to protect the data loaded in the upper-level block. /* Housekeeping */ SET UPDATECALC OFF; SET AGGMISSG OFF; /* The Main Rollup */ CALC DIM (Accounts, "Year Tot", Customer, Product);

A-18

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

/* The Back Calculation */ ( "List Price" = "Gross Sales" / Units; "Discount %" = Discounts / "Gross Sales"; "Labor/Unit" = "Direct Labor" / Units; "Matl/Unit" = Material / Units; "Overhead Rate" = Overhead / "Direct Labor"; ) However, when you audit your results, you notice that, although totals for Net Sales, Cost of Sales and Other CGS are correct, totals for Gross Margin are not correct.

The incorrect totals for Gross Margin are due to calculation order: The Accounts dimension calculates first, creating Gross Margin totals in both level 0 bocks. When Customer and Product are calculated, Essbase aggregates the data that exists in the level 0 blocks. This aggregation creates incorrect totals for Gross Margin in the "Current Year"->"Family Total"->"Channel Total" block. The Other CGS data is protected during the aggregation by the SET AGGMISSG OFF command. To correct the incorrect totals, you must calculate Gross Margin in the "Current Year"->"Family Total"->"Channel Total" block in a separate, additional calculation pass, such as a back calculation, that takes place after the main rollup. This problem can occur frequently when you work with multi-level inputs. If you have a large number of multilevel inputs that force you to recalculate data at upper levels, consider a method other than protecting upper-level loads by not aggregating missing values for handling upperlevel input data.

Essbase 11.1.1: Bootcamp

A-19

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Loading to Leaf Nodes


Avoids upper-level input issues Requires additional members in the outline

L evel 0 placeholder for Fami ly Total input data

L evel 0 placeholder for Channe l Total inp ut data

C opyrigh t 2 008, Oracle . All rig hts reserved.

Loading to Leaf Nodes


Another method of handling upper-level input values is to avoid loading data to upper levels. The leaf-node loading method involves the following steps: 1. Create a level 0 member (leaf node) as a child of the upper-level member to which you want to load data. For example, if you want to load Other CGS accounts to Family Total and Channel Total, create children for Family Total and Channel Total, as shown in the example on the slide. 2. Load upper-level inputs to the leaf nodes instead of to the upper-level members. 3. Consolidate as usual. When you use this method, you are not required to protect upper-level data. Thus, you can aggregate missing values, which improves performance. Also, because all input is level 0, you are not required to correct totals at upper levels, as you are with multi-level inputs.

A-20

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations For example, instead of loading Other CGS data to the "Current Year"->"Family Total"->"Channel Total" block, as in the preceding example, you load to the "Current Year"->"No Product"->"No Customer" block, using the following input sheet.

You also load other input account data to specific customer and product blocks, as in the preceding example. The following input sheet loads to the "Current Year"->"Lightbolt 365 A"->"O-IBM" and "Current Year"->"Thunderball 540 S"->"O-IBM" data blocks.

You run the following calculation script. Because you no longer need to protect upperlevel input data, you turn the aggregate missing values setting on for better performance. /* Housekeeping */ SET UPDATECALC OFF; SET AGGMISSG ON; /* The Main Rollup */ CALC DIM (Accounts, "Year Tot", Customer, Product); /* The Back Calculation */

Essbase 11.1.1: Bootcamp

A-21

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations ( "List Price" = "Gross Sales" / Units; "Discount %" = Discounts / "Gross Sales"; "Labor/Unit" = "Direct Labor" / Units; "Matl/Unit" = Material / Units; "Overhead Rate" = Overhead / "Direct Labor"; ) Your audit sheet shows the following correct results:

In this example, all data in the "Current Year"->"Family Total"->"Channel Total" data block is aggregated from the three dependent blocks, so no recalculation is required after consolidation.

A-22

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Intelligent Calculation
Only marked data blocks are recalculated:

C opyrigh t 2 008, Oracle . All rig hts reserved.

Intelligent Calculation
A primary goal in calculation script development is optimization (elimination of extra passes through the database index). To optimize calculation, you can use FIX and IF statements, to focus calculations, or you can use an option called intelligent calculation. When you perform a full database calculation, Essbase marks which blocks have been calculated. If you then load a subset of data, you can calculate only the changed data blocks and their ancestors. This selective calculation process is intelligent calculation. By default, intelligent calculation is turned on. You can change the default setting in the essbase.cfg file or on a script-by-script basis with the SET UPDATECALC OFF command. For information about the essbase.cfg file, see the online Technical Reference, Essbase.CFG Configuration Settings.

Essbase 11.1.1: Bootcamp

A-23

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Intelligent calculation is based on data-block marking. When intelligent calculation is active, during normal processes, within the index file, blocks are marked clean or dirty. Clean blocks: Blocks that do not require calculation Dirty blocks: Blocks that require calculation When intelligent calculation is active, during calculation, Essbase looks for only dirty data blocks.
NOTE

A-24

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Intelligent calculation marks data blocks, not data cells, clean or dirty. For example, assume that, in a database that includes a dense time dimension, data is loaded once per month. When you load data to a month, intelligent calculation marks the affected blocks as dirty. Therefore, all time periods within the affected blocks are recalculated.

Module 6 Appendices Appendix A Creating Advanced Calculations

Data Block Marking: Clean Blocks


Automatic intelligent calculation Forced intelligent calculation Forced data block marking
9

C opyrigh t 2 008, Oracle . All rig hts reserved.

Data Block Marking: Clean Blocks


The basis for understanding intelligent calculation is understanding under what conditions blocks are marked clean and dirty. If any of the following conditions is true, intelligent calculation marks blocks as clean: The script includes CALC ALL or CALC DIM on all dimensions. The script includes SET CLEARUPDATESTATUS AFTER, a command that applies intelligent calculation to the calculation process. The script includes CLEARUPDATESTATUS ONLY, a command that directs intelligent calculation to mark blocks without performing a database calculation.

Essbase 11.1.1: Bootcamp

A-25

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Automatic Intelligent Calculation When you execute a calculation script with a CALC ALL statement or with a CALC DIM statement that includes all dimensions, the intelligent calculation process performs the following actions: All previously existing input data blocks are calculated and marked clean. All data blocks created by the consolidation process are calculated and marked clean. All previously existing dirty blocks are calculated and marked clean.

CALC ALL; CALC DIM (Accounts, "Year Tot", Scenario, Product, Customer); Even when intelligent calculation is enabled, for CALC DIM statements that do not include all dimensions, Essbase does not use an intelligent calculation process. Rather, Essbase calculates all relevant data blocks, regardless of clean or dirty status, and all data blocks retain their status, dirty or clean. The following script examples do not enable intelligent calculation: CALC DIM (Accounts, "Year Tot", Scenario, Product); CALC DIM (Accounts, "Year Tot"); AGG (Scenario, Product, Customer) Forced Intelligent Calculation SET CLEARUPDATESTATUS AFTER is a calculation command that engages intelligent calculation for any calculation script, regardless of construction. Typically, you use this command where you cannot meet the conditions for a CALC DIM on all dimensions. When you execute a calculation script that includes the SET CLEARUPDATESTATUS AFTER command, data blocks that are marked clean are not calculated, and data blocks that are marked dirty are calculated and marked clean.

A-26

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

The following script examples automatically enable intelligent calculation:

Module 6 Appendices Appendix A Creating Advanced Calculations The following example demonstrates the use of the SET CLEARUPDATESTATUS AFTER command: SET CLEARUPDATESTATUS AFTER FIX (@IDESCENDANTS("Qtr 1")) CALC DIM (Accounts); ENDFIX Forced Block Marking Without Calculating SET CLEARUPDATESTATUS ONLY is a calculation script command that instructs Essbase to perform data-block marking but not to perform script calculations. Typically, you use this command immediately after a script segment in which intelligent calculation is disabled. The following example shows a two-part script: The first segment, in which intelligent calculation is disabled, calculates data blocks correctly but does not mark dirty blocks as clean. In the second segment, in which data-block marking is enabled, the SET CLEARUPDATESTATUS ONLY command instructs Essbase to mark as clean all blocks that were previously marked dirty. /* Turn off intelligent calculation */ SET UPDATECALC OFF; /* Back Calculation */ "Gross Margin %" = "Gross Margin" / "Net Sales"; "List Price" = "Gross Sales" / Units; /* Enable data block marking */ SET CLEARUPDATESTATUS ONLY; "Gross Margin %" = "Gross Margin" / "Net Sales"; "List Price" = "Gross Sales" / Units; SET CLEARUPDATESTATUS ONLY affects only the database index and does not require the referenced data blocks to be moved into memory. Under most circumstances, therefore, elements of a calculation script following SET CLEARUPDATESTATUS ONLY execute very quickly.

Essbase 11.1.1: Bootcamp

A-27

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Data Block Marking: Dirty Blocks


Block creation during data input Data modification Creation or modification of descendant blocks Database restructure
8

C opyrigh t 2 008, Oracle . All rig hts reserved.

Data Block Marking: Dirty Blocks


If any of the following conditions is true, intelligent calculation marks blocks as dirty, thereby making the blocks eligible for calculation the next time intelligent calculation is engaged: Block creation during data input Data modification Creation or modification of descendant blocks Database restructure

A-28

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Block Creation During Data Input Blocks created from a data input process are marked dirty as they are created. Blocks can be created during batch data load processes, by submitting data from Smart View for Office, by locking and sending data from Spreadsheet Add-in, or by using other direct input options. Data Modification Blocks that include modified data cells are marked dirty. For example, if, within a block, a line manager updates units, the block should be marked dirty because revenues, costs, and margin are now incorrect and need recalculating. Creation or Modification of Descendant Blocks Intelligent calculation is efficient because it calculates only affected blocks. The ancestors of a dirty block need to be calculated because they are dependent on values of the modified descendant. Therefore, all ancestors of input and modified blocks are marked dirty. Database Restructure Outline changes prompt Essbase to mark blocks dirty. Which blocks are marked dirty is determined by whether the outline changes involve dense or sparse dimensions: Moving, adding, or deleting members of dense dimensions causes all blocks to be marked dirty. Moving, adding, or deleting members of sparse dimensions causes only the affected blocks and their ancestors to be marked dirty.

Essbase 11.1.1: Bootcamp

A-29

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Usage Considerations
Maintain clean and dirty status of blocks: False negatives affect calculation efficiency False positives affect data integrity
9
False positive

C opyrigh t 2 008, Oracle . All rig hts reserved.

Usage Considerations
Occasionally, clean data blocks are marked dirty. In such cases, calculation efficiency suffers. A more serious problem, however, is a false positive condition, in which dirty blocks are marked clean. In the case of such false positives, data integrity can suffer. False Positives False positive conditions can arise in various ways: Calculating only a subset of a block. Essbase marks at the block level, not the cell level, so a calculation that is executed on a subset of cells can cause a false positive condition. Only a few cells are calculated, but the block is marked clean, although uncalculated cells remain.

A-30

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Calculating a back calculation after calculating all dimensions. A false positive can prevent the required second calculation pass, which corrects upper-level rates and percentages. The false positive condition occurs if the CALC DIM portion of a script engages intelligent calculation, which marks all blocks clean during the CALC DIM process. When Essbase processes the back calculation portion of the script, no data blocks are calculated because all blocks are marked clean. Using a FIX statement. Ancestors of a dirty block are not marked dirty until the descendant dirty block is calculated. A false positive can result if the descendant dirty block is calculated within a FIX statement that does not include the dirty ancestor block. After calculation, Essbase marks the descendant block clean, and the ancestor block remains marked clean, although it should be marked dirty. Following SET CLEARUPDATESTATUS ONLY with unrelated calculations. You should follow SET CLEARUPDATESTATUS ONLY with a repetition of the section of the script for which you want to force data-block marking. A false positive can occur if SET CLEARUPDATESTATUS ONLY touches blocks that are otherwise dirty and that are not correctly calculated. Usage Guidelines Intelligent calculation can provide significant performance benefits in certain situations but requires vigilant maintenance of the clean and dirty status of data blocks to avoid skipping the wrong blocks on calculation. Be very careful when using intelligent calculation, and be sure to review the detailed discussion of intelligent calculation in the Database Administrators Guide. The intelligent calculation function is most productively used in interactive or iterative situations in which small, incremental changes are made to a database and in which it is not necessary to recalculate the entire database. For example, you can use intelligent calculation in the following situations. During the month-end close periods, allocation rates and adjusting entries may be updated multiple times. You use intelligent calculation to view update results without recalculating the entire database. In budget or forecasting applications, typically, many users update units and drivers on a regular basis. In such applications, for users to analyze the impact of their updates, a short calculation time is imperative.

Essbase 11.1.1: Bootcamp

A-31

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Allocating Data
Upper-level input allocation:
1

100%

2
3

15 %

45 %

40 %

15%

45%

40%

C opyrigh t 2 008, Oracle . All rig hts reserved.

Allocating Data
As mentioned earlier in this appendix, a method of handling upper-level input data is to allocate or push down the data that you load to dependent level 0 data blocks, so you can consolidate normally. However, allocations are not restricted to distributing upperlevel input data. You can use the methods described here to distribute totals loaded to level 0 data blocks across other level 0 data blocks. When you allocate data, you typically include the following steps in your calculation process: 1. Load input data to upper-level data blocks or designated level 0 data blocks. 2. Allocate data to dependent level 0 data blocks, using various allocation methods.

A-32

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations 3. Consolidate data using a CALC ALL or CALC DIM statement (For upper-level input data, the statement overwrites the original input).
TIP

If allocating a level 0 input, offset the original input amount by the sum of all allocated data, to avoid doubling the input data upon consolidation.

Essbase 11.1.1: Bootcamp

A-33

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Calculating Fixed Rate Allocations

VAR VAR VAR VAR

FinanceAlloc = .15 SalesAlloc = .45 HRAlloc = .10 MktgAlloc = .30

15%

45%

10%

30 %

C opyrigh t 2 008, Oracle . All rig hts reserved.

Calculating Fixed Rate Allocations


Some allocations are based on fixed percentages; for example, expenses loaded to a Corp HQ entity that are allocated to multiple departments based on a fixed percentage for each department. Calculate fixed rate allocations with the following member formula: Allocation destination account = location of input total * location of fixed rate; In these cases, load the percentage to a single location in the database and base your allocation on this fixed point of reference, as in the following example. /* Information Assumptions: 1) Expenses are loaded to generic expense accounts, and then allocated to department-specific accounts based on fixed percentages. 2) Allocation percentages are loaded to the Corp HQ entity in the FinancePct, SalesPct, HRPct, and MktgPct accounts, respectively. */ A-34 Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

/* Allocate IT Expense */ "IT Exp Finance" = "IT Exp" * "Corp HQ"->FinancePct; "IT Exp Sales" = "IT Exp" * "Corp HQ"->SalesPct; "IT Exp HR" = "IT Exp" * "Corp HQ"->HRPct; "IT Exp Mktg" = "IT Exp" * "Corp HQ"->MktgPct; /* Allocate Administrative Expense */ "Admin Exp Finance" = "Admin Exp" * "Corp HQ"->FinancePct; "Admin Exp Sales" = "Admin Exp" * "Corp HQ"->SalesPct; "Admin Exp HR" = "Admin Exp" * "Corp HQ"->HRPct; "Admin Exp Mktg" = "Admin Exp" * "Corp HQ"->MktgPct; Alternatively, you can define temporary variables in your calculation script to store percentages temporarily, as in the following example. /* Information Assumptions: 1) Expenses are loaded to generic expense accounts and then allocated to department-specific accounts based on fixed percentages. */ /* Housekeeping */ /* Define fixed allocation percentages for each department */ VAR FinanceAlloc = .15; VAR SalesAlloc = .45; VAR HRAlloc = .10; VAR MktgAlloc = .30; /* Allocate IT Expense */ "IT Exp Finance" = "IT Exp" * FinanceAlloc; "IT Exp Sales" = "IT Exp" * SalesAlloc; "IT Exp HR" = "IT Exp" * HRAlloc; "IT Exp Mktg" = "IT Exp" * MktgAlloc; /* Allocate Administrative Expense */ "Admin Exp Finance" = "Admin Exp" * FinanceAlloc; "Admin Exp Sales" = "Admin Exp" * SalesAlloc; "Admin Exp HR" = "Admin Exp" * HRAlloc; "Admin Exp Mktg" = "Admin Exp" * MktgAlloc;

Essbase 11.1.1: Bootcamp

A-35

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Calculating Dynamic Ratio Allocations

Customer

O-IBM Allocation ra tios:

O-Dell

O-Acer

"O-IBM"->Units / Customer->Units

"O-Dell"->Units / Customer->Units

"O-Acer"->Units / Customer->Units

C opyrigh t 2 008, Oracle . All rig hts reserved.

Calculating Dynamic Ratio Allocations


In dynamic ratio allocations, the allocation ratio is calculated based on other data available in the database, such as percent of total headcount, percent of total units, or percent of total sales. This approach obliges you to include a calculation of the appropriate ratio in addition to your allocation instructions, as in the following formula: Allocation destination account = location of input total * (value of ratio base in current data block / total value of ratio base);

A-36

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations In Bigcorp Sales, Material Variances is loaded to the total for all products and all customers. To allocate this total to individual, product-customer data blocks based on a percentage of total units, use the following formula: Material Variances" = "Material Variances"->"Family Total"->"Channel Total" * ( Units / Units->"Family Total"->"Channel Total");
TIP

Essbase 11.1.1: Bootcamp

A-37

Oracle Internal & Oracle Academy Use Only

Depending on when you execute the allocation, you may have to calculate the total ratio base before calculating the allocation. For example, if your allocation is based on a percent of total headcount, you must calculate total headcount before you allocate.

Module 6 Appendices Appendix A Creating Advanced Calculations

Normalization
Allocate upper-level input to level 0 descendants. Allocate level 0 input to other level 0 blocks.
1

C opyrigh t 2 008, Oracle . All rig hts reserved.

Normalization
In interactive applications, allocations are sometimes standalone processes. However, when allocations are incorporated into a database consolidation, they typically fall into the normalization section of the calculation script architecture. In relational databases, the process of normalization eliminates redundant data from tables to improve performance and data scalability. Because Essbase does not store data for block storage databases in tables, block storage normalization is a very different process.

A-38

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations In block storage databases, normalization is required when you load data to data blocks other than the blocks that are the intended, final target for the data, as described in the following examples: You load total miscellaneous expenses to a block that represents the total of all customers and all products. Prior to consolidating the database, you allocate total miscellaneous expenses to each individual, product-customer block (level 0) based on the percentage of total units sold in each level 0 block. You load total IT expenses to a level 0 block for a corporate headquarters entity. Prior to consolidating the database, you allocate total IT expenses to each office location (level 0) based on the percentage of total headcount for each office. The common thread in the examples is that the calculations are required to happen prior to consolidation of the database. Normalization is a general umbrella for any data manipulation that needs to occur after data input and before main database consolidation.

Essbase 11.1.1: Bootcamp

A-39

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Partitioning Calculations by Scenario


One accounts model, multiple calculation requirements: Actual data:
Input dollars and units Derive rates Input units and rates Derive dollars

Forecast data:
Input units and rates Derive dollars

C opyrigh t 2 008, Oracle . All rig hts reserved.

Partitioning Calculations by Scenario


For most block storage databases, within the accounts dimension, scenarios are the primary driver of modeling and calculation requirements. Data from scenario to scenario typically differs with respect to the form of input. Because you have only one outline model for the accounts dimension, you may need to calculate input data differently from one scenario to the next: Inputs for budget and forecast data are typically units, rates, and other drivers, and many dollar amounts are derived though calculation. Budget data often contains much product detail (for example, standard cost by product) and overhead detail (for example, salaries by employee) but little customer detail (for example, only top ten customers budgeted).

A-40

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Budget data:

Module 6 Appendices Appendix A Creating Advanced Calculations Inputs for forecast data are similar to inputs for budget data, but the level of detail is different, depending on what kind of forecasting you need. For example, in a sales forecasting application, forecast data can have very detailed customer information. Inputs for actual data are typically dollars and units, and rates are derived through calculation. In contrast to budget data, actual data often contains more revenue detail by customer and less overhead detail. Because of the type and level of inputs for each scenario, different scenarios often require different data load procedures and different calculation scripts.

Essbase 11.1.1: Bootcamp

A-41

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Developing Normalization Tables


1. Determine how many dimensions require normalization. 2. Create a normalization template. 3. Complete the template based on input data.

C opyrigh t 2 008, Oracle . All rig hts reserved.

Developing Normalization Tables


Before creating calculation scripts, you should document the data input and calculation requirements for each scenario with a normalization table. The table helps you keep track of the assumptions that you make about the input data and provides a clear roadmap for building normalization calculations into your scripts. Normalization table development has the following steps: 1. Analyze data for a scenario to determine how many dimensions require normalization. 2. In a spreadsheet program, create a normalization table for the scenario, including sections for each dimension that requires normalization. 3. Complete the table, based on assumptions about input data.

A-42

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Determining What Dimensions Require Normalization Before building a normalization table, determine how many dimensions require normalization in each scenario. To accomplish this task, examine your input data. The following example represents budget input data for Bigcorp Sales.

In this example, a value of 73,000 is loaded to the intersection Budget->"Material Variances"->Jan->"Family Total"->"Channel Total". Examine the full cell address, one dimension at a time, to determine whether data must move along the dimension.
Member Name Budget Material Variances Jan Family Total Channel Total Movement Required? No. All 73,000 remains in the budget scenario. No. All 73,000 remains in the Material Variances account. No. All 73,000 remains in the Jan time period. Yes. A percentage of the 73,000 must be allocated to each product. Yes. A percentage of the 73,000 must be allocated to each customer.

Based on this analysis, Bigcorp Sales budget data requires normalization in two dimensions: Product and Customer. Creating Normalization Tables Normalization tables are simply documentation templates that you create in a spreadsheet program. They are not connected to an Essbase database, so they do not require Spreadsheet Add-in.

Essbase 11.1.1: Bootcamp

A-43

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations A normalization table lists all input accounts in the row axis. For each dimension that you normalize, include the following four columns:
Column Name Data Type Input Level Push to Level Methodology Description How data for the current account is created (direct input, formula calculation, consolidation, and so on) Generation or level at which data is loaded (for the dimension being normalized) Generation or level to which input data must be moved (for the dimension being normalized) How to move data in the dimension being normalized (Common methods include copying data and allocating data.)

A blank normalization table template looks like the following example.

Completing Normalization Tables After you create the template, enter the relevant information in the table, documenting as much as possible. A normalization table for the Other CGS accounts of the previous budget input example looks like the example on the slide.

A-44

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Developing Block Diagrams

C opyrigh t 2 008, Oracle . All rig hts reserved.

Developing Block Diagrams


Another way to visualize the normalization process is to create a diagram of data blocks to see the movement required from the input data and the relationships between input blocks and normalization targets.
NOTE

In databases with a large number of sparse dimensions, creating a complete block diagram can be too complicated and should not be used as a development technique.

A block diagram is a two-dimensional representation of data blocks, where rows represent generations of dimension1 and columns represent generations of dimension2. The resulting matrix represents all combinations between the generations of dimension1 and dimension2.

Essbase 11.1.1: Bootcamp

A-45

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Although normalizations can have interim steps, the final destination, or target block, for normalized data is a level 0 block. To build a block diagram, start with a single target block in the lower left corner. This block is an arbitrary selection to enable creation of a representative slice of your database. After creating your diagram, analyze your input data and mark on the diagram the blocks to which data is loaded. Marking helps you visualize the movement of data required during normalization.

A-46

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Normalizing Rates and Drivers

C opyrigh t 2 008, Oracle . All rig hts reserved.

Normalizing Rates and Drivers


Rates and other drivers, unlike total dollar amounts, do not require distribution based on an allocation. Instead, you use member formulas to copy these drivers from their input location to their final destination. The block diagram on the slide shows the input locations for budget drivers in Bigcorp Sales; all of the drivers require normalization to the target (level 0) block. You can use explicit or dynamic references in your formula. Which type of reference you choose depends on the nature of your input data. Single member input: When you load rates to one fixed member in the dimension being normalized, normalize using explicit references. In the example on the slide, the discount percentage for each customer is loaded to the total for all products. To calculate Discount % in the target blocks, use the following formula: "Discount %" = "Discount %"->"Family Total";

Essbase 11.1.1: Bootcamp

A-47

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Multiple member input: When you load rates to multiple members in the dimension being normalized, normalize using dynamic references. In the example on the slide, the list price for each product is loaded to customer channels; there are different prices for OEM, Retail, and Distributor customers. To calculate List Price in the target blocks, use the following formula: "List Price" = @PARENTVAL(Customer, "List Price");

A-48

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Copying and Clearing Data


DATACOPY CLEARDATA CLEARBLOCK

C opyrigh t 2 008, Oracle . All rig hts reserved.

Copying and Clearing Data


As part of your normalization process, you may be required to copy or clear data sets. You can place copy and clear commands in the housekeeping section or the normalization section of your calculation script. The following table describes the available data manipulation commands:
Command DATACOPY mbrName1 TO mbrName2 CLEARBLOCK ALL | UPPER | NONINPUT | DYNAMIC CLEARDATA mbrName Description For copying data sets from one member to another For clearing previous input or upper-level data or stored dynamic calculations For clearing specific members or member combinations

Essbase 11.1.1: Bootcamp

A-49

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Copying Data
Copy entire blocks
DATACOPY "Current Year" TO "Forecast"

Copy slices of blocks


DATACOPY "Current Year"->Feb TO "Forecast"->Feb

Curre nt Year O-IBM L ightbolt 365 A

Forecast O-IBM Lightbolt 365 A

C opyrigh t 2 008, Oracle . All rig hts reserved.

Copying Data
In budgeting or forecasting scenarios, it is common to copy actual data to use as a basis for the budget or forecast. The DATACOPY command is an efficient way to copy large slices of the database, creating blocks or filling in data cells within blocks, depending on the focus of the calculation.

A-50

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Cur rent Year O-IBM Lightbolt 365 A

Forecast O-IBM L ightbolt 365 A

Module 6 Appendices Appendix A Creating Advanced Calculations Guidelines for DATACOPY: You can use the cross-dimensional operator in the DATACOPY command, but the destination member combination cannot be more specific than the source member combination. For example, the following formula results in an error at runtime: DATACOPY "Current Year" TO "Prior Year"->Jan; However, the source member combination can be more specific than the destination member combination. For the following formula, Essbase fills in the missing member at runtime: DATACOPY "Current Year"->Jan TO "Prior Year"; When Essbase executes the preceding formula at runtime, it calculates the following combination of members: DATACOPY ""Current Year"->Jan TO "Prior Year"->Jan; If the source and destination member combinations are all dense member references, Essbase does not create data blocks. For example, the following calculation is executed only in existing data blocks: DATACOPY Jan TO Feb; However, if any member of the member combinations for the source or destination is sparse, Essbase creates data blocks, if they do not exist. You can use DATACOPY commands inside FIX statements, but not inside IF statements.

Essbase 11.1.1: Bootcamp

A-51

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Clearing Data with CLEARDATA


Resets cells to #MISSING Removes entire blocks only when all members are sparse

FIX(@Children("Qtr 1") CLEARDATA "Current Year"; ENDFIX

C opyrigh t 2 008, Oracle . All rig hts reserved.

Clearing Data with CLEARDATA


If you need to clear data values before loading values to your database, use CLEARDATA. This command clears a specifically defined section of database cells, replacing the cell values with #MISSING. Guidelines for CLEARDATA: You can use CLEARDATA inside a FIX statement to focus the scope of the command. The following example clears Current Year data from the children of Qtr 1. FIX (@CHILDREN("Qtr 1")) CLEARDATA "Current Year"; ENDFIX

A-52

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations You can use a cross-dimensional operator to create valid member combinations in a CLEARDATA statement. For example, the following statement clears Budget data for only the O-IBM customer. CLEARDATA Budget->"O-IBM"; The CLEARDATA command removes data blocks only when all members referenced in the statement are sparse. If any member is dense, the command clears only data cells. For example, in Bigcorp Sales, the following command removes all Current Year data blocks for R-Gateway, because both Scenario and Customer are sparse dimensions. CLEARDATA "Current Year"->"R-Gateway"; However, when you add a dense dimension, like Year Tot, to the member combination, as in the following example, the command clears cells in the Current Year data blocks for R-Gateway, but it does not remove the blocks. CLEARDATA "Current Year"->"R-Gateway"->Jan; You cannot use CLEARDATA in an IF statement.

Essbase 11.1.1: Bootcamp

A-53

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Clearing Data with CLEARBLOCK


Removes entire blocks Can clear cells without removing blocks

C opyrigh t 2 008, Oracle . All rig hts reserved.

Clearing Data with CLEARBLOCK


Rather than focusing on specific members or member combinations, the CLEARBLOCK command clears data based on the type of block that you specify. You can choose one of the following options for this command.
Option ALL UPPER NONINPUT Description Clears all data blocks Clears all upper-level blocks Clears blocks that are completely created by a calculation operation and does not affect blocks into which some values were loaded through a data load operation Clears blocks that contain values derived from Dynamic Calc and Store member calculations, resetting Dynamic Calc and Store members for recalculation

DYNAMIC

A-54

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations Guidelines for CLEARBLOCK: If you use CLEARBLOCK inside a FIX statement on dense dimension members, Essbase clears only the data cells within the fixed range and does not remove data blocks. In the following example, the CLEARBLOCK command clears data only for January cells in the Current Year scenario: FIX(Jan, "Current Year") CLEARBLOCK ALL; ENDFIX You cannot use CLEARBLOCK in an IF statement.

Essbase 11.1.1: Bootcamp

A-55

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix A Creating Advanced Calculations

Summary
In this lesson, you should have learned to: Describe the script development process Implement methods for working with upper-level data loads Describe intelligent calculation behavior Allocate date with calculation scripts Describe and plan data normalization Normalize rates and drivers Copy and clear data

A-56

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

A P P E N D I X

Creating Reports with Essbase Spreadsheet Add-in

Objectives
Describe Essbase Spreadsheet Add-in Install Essbase Spreadsheet Add-in Retrieve data into a Microsoft Excel worksheet Manage worksheet options Preserve Microsoft Excel formulas in a worksheet Replicate spreadsheet reports with the Cascade option Design spreadsheet reports by selecting members from the outline Create savable queries Create advanced queries Retrieve with report scripts

Oracle Internal & Oracle Academy Use Only

At the end of this appendix, you should be able to:

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Spreadsheet Add-in Overview


Is a software program that is embedded in a client spreadsheet application Enables you to retrieve data, create ad hoc reports, and analyze data Provides the interface that integrates Excel and Essbase

Essbase Se rver Microsoft Excel with Spre adshee t Add-in

Essbase database

C opyrigh t 2 008, Oracle . All rig hts reserved.

Essbase Spreadsheet Add-in Overview


Essbase Spreadsheet Add-in is a software program that merges seamlessly with Microsoft Excel and enables you to interface with multiple instances of Essbase Server. With Essbase Spreadsheet Add-in enabled, you can retrieve data, create reports, and analyze data. You can also navigate, format, edit, and calculate data, and create customized settings to view data in particular formats. When Essbase Client is installed, a special menu, a toolbar, and keyboard shortcuts are added to Excel. These added interface controls provide enhanced commands such as Connect, Retrieve, and Pivot. You can access and analyze data in Essbase databases by using mouse clicks and drag operations.

B-2

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Installing the Essbase Menu and Toolbar


The Essbase menu and toolbar provide tools to access the database.
Essbase menu

Essbase toolbar

C opyrigh t 2 008, Oracle . All rig hts reserved.

Installing the Essbase Menu and Toolbar


If you open Excel and do not see the Essbase menu, Essbase Spreadsheet Add-in has not been registered with Excel. To register Essbase Spreadsheet Add-in: From the Windows desktop, select Start > Programs > Hyperion > Essbase Client > Register Spreadsheet Add-in. When you add Essbase Spreadsheet Add-in to Excel, most spreadsheet operations remain unchanged; Essbase Spreadsheet Add-in simply adds an Essbase menu and shortcuts with which you can access instances of Essbase Server to retrieve and navigate data. However, some Excel mouse behaviors (such as right-click shortcut menus) are taken over by Essbase. If you are an infrequent user of Essbase Spreadsheet Add-in, you can unregister the add-in when you are done using it, thus returning to normal Excel functionality.

Essbase 11.1.1: Bootcamp

B-3

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in To unregister Essbase Spreadsheet Add-in From the Windows desktop, select Start > Programs > Hyperion > Essbase Client > Unregister Spreadsheet Add-in. Essbase Spreadsheet Add-in features a convenient toolbar that displays buttons for accessing most of the common Essbase menu commands without opening the Essbase menu. You can view a short description of a button on the toolbar by moving your cursor over the button. Prior to using the Essbase toolbar for Excel, you must install the toolbar by opening an Excel file that is provided as part of the default Essbase installation. You do not have to perform the toolbar installation procedure again unless you delete the Essbase toolbar from the Toolbars dialog box in Excel. To install the Essbase toolbar: 1. In Excel, select File > Open. 2. From the x:\...\AnalyticServices\client\sample directory, open esstoolb.xls. Macros embedded in this file install the Essbase toolbar.
NOTE

When you open the file, two dialog boxes may be displayed warning that esstoolb.xls contains macros. If so, click the Enable Macros button on the first dialog box, and then click OK on the second dialog box. The macros must be enabled to install the Essbase toolbar. Excel macro security must be set to Medium or lower to install the toolbar.

3. Select File > Close to close esstoolb.xls. You do not need to modify or save the file.

B-4

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Managing Database Connections


Conne cting to database s Disconne cting from datab ases

1
1

4
4

C opyrigh t 2 008, Oracle . All rig hts reserved.

Managing Database Connections


Before you retrieve data, you must connect to a database on an instance of Essbase Server. When you finish working with the database, you disconnect from the database and Essbase Server. Keep the following guidelines in mind: You can have only one database connection from any individual worksheet in a workbook. That is, you cannot retrieve data from more than one database to a single worksheet. Within a single workbook, you can have multiple database connections, one for each worksheet. Database connections are persistent until you disconnect them or until you exit Essbase Spreadsheet Add-in. Closing the Excel workbook does not end established connections. You can view all current established connections in the Disconnect dialog box.

Essbase 11.1.1: Bootcamp

B-5

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in If you have at least one established connection, the system does not prompt you to connect again on subsequent worksheets, but uses the last requested connection. To connect to a database: 1. Select Essbase > Connect. The Essbase System Login dialog box is displayed. 2. From the Server drop-down list, select an Essbase Server instance. 3. Enter your username and password, and then click OK. Application and database names are displayed for the selected server. 4. Select an application-database pair. 5. Click OK. To disconnect from a database: 1. Select Essbase > Disconnect. The Essbase Disconnect dialog box is displayed. 2. Select a worksheet connection. 3. Click Disconnect to disconnect the selected worksheet. 4. Click Close.

B-6

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Retrieving Data
When you select Essbase > Retrieve, Essbase returns toplevel data into an empty spreadsheet.
1
2 3

Excel

Essbase Serve r

Essbase database

4
Top- level data

C opyrigh t 2 008, Oracle . All rig hts reserved.

Retrieving Data
Each time you retrieve information from Essbase, the following sequence of events occurs: 1. Essbase Spreadsheet Add-in requests data from the server. 2. The server processes the request and prepares the data. 3. The server transmits the data to Essbase Spreadsheet Add-in. 4. The spreadsheet application receives the data from Essbase and organizes it in a worksheet.

Essbase 11.1.1: Bootcamp

B-7

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in When you retrieve data into an empty worksheet, the server returns data from the top levels of each database dimension. You can use the top-level data as a starting point to navigate, or drill down, into levels of detailed data. For example, if you retrieve top-level data from the Bigcorp Sales database, the following five dimensions are displayed: Year Tot, Accounts, Scenario, Product, and Customer.
TIP

B-8

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

You can retrieve data by double-clicking an empty spreadsheet cell, selecting Essbase > Retrieve, or clicking (Retrieve) on the Essbase toolbar. If every row in the report is #Missing and #Missing suppression is turned on, then the retrieve fails and the message No data was generated: Suppress Missing = [TRUE]. Sheet not overwritten is displayed.

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Representing Multidimensional Data in Two-Dimensional Reports


All dimensions must be represented in the spreadsheet. The spreadsheet layout has four sections:

Column labels

Row labels

Data cells

C opyrigh t 2 008, Oracle . All rig hts reserved.

Representing Multidimensional Data in Two-Dimensional Reports


In a multidimensional database, a data value is the intersection of all dimensions of the database. In a spreadsheet, a cell is the intersection of a row and a column. To translate the spreadsheet cell into a multidimensional data value, think of the multidimensional data value as the intersection of members (one member from each dimension) displayed as rows and columns of a spreadsheet (represented by the row and column labels). You can refine your view by focusing the row and column intersections along a specific slice of the cube, represented by the header labels. The example shown in the slide illustrates a spreadsheet representing this scenario: The spreadsheet displays Net Sales data from the accounts dimension for the Lightbolt product line. Customer sales channels are displayed as rows of the spreadsheet.

Essbase 11.1.1: Bootcamp

B-9

Oracle Internal & Oracle Academy Use Only

Header la bels

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in The Year Tot dimension, represented by quarters, is displayed as columns of the spreadsheet. The Current Year and Prior Year members of the Scenario dimension are also displayed in the columns of the spreadsheet. The cells, the intersections of the rows and columns, combined with the header information represent the data values. For example, the first data value in cell B4, 910,669.50, represents net sales of Lightbolt hard drives to OEM customers in the first quarter of the current year.

B-10

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Label Scanning
General rules Header rules Row and column rules

Column la bels Header la bels

Header labels

Column labels

Row labels

C opyrigh t 2 008, Oracle . All rig hts reserved.

Label Scanning
When you submit a data retrieval request, Essbase initiates a label-scanning process. The scanning looks for report labels on the spreadsheet to match with members in the outline. The header section of the worksheet is scanned first, then the column and row sections. When at least one label is matched for each dimension, Essbase knows where to place data in the spreadsheet, assuming that the labels adhere to the following rules. If your spreadsheet does not follow the rules, Essbase stops the requested retrieve action and displays a message that describes the error condition. General Rules The following summarizes general rules for placing labels on a worksheet: Labels on the worksheet must match outline members or their aliases. All standard dimensions must be represented in the header or row-column section for Essbase to resolve a data point. Essbase 11.1.1: Bootcamp B-11

Oracle Internal & Oracle Academy Use Only

Row la bels

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in You must precede all member names that consist of numbers with a single quote. For example, if the account number for sales is 14000, enter 14000 in the spreadsheet cell. Header Rules The following rules apply to the scanning process for the header section: Only one member from a dimension can be displayed. Header members define all data on the page for their dimensions.

If a dimension name is not found on the worksheet during the label scanning process, Essbase places the dimension name (generation 1) in the header section. Retrieving data into a blank sheet places the generation 1 members of all standard dimensions on the spreadsheet as headers, except the first dimension in the outline, which is displayed as a row. Header members can be displayed in any order. They can also be stacked in multiple rows. Stacking header members results in a new header placement when you drill across columns. When you drill down on a parent-level header member, the header member and its children are moved to rows. When you press the Alt key while drilling down on a parent-level header member, the header member and its children are moved to columns. Row and Column Rules The following rules apply when you place row and column labels: Row and column labels must be on separate rows below the header section. A report must include at least one row and one column dimension. Each column dimension must be on a row of its own prior to the rows containing row labels. All members of a given column dimension must be displayed on the same row. Each row dimension must be in a column of its own, separate from the columns containing column labels. All members from a given row dimension must be displayed in the same column. A row or column dimensions can be grouped by, or nested in, another row or column dimension. There is no limit to the number of nested dimensions, up to the total number of dimensions in the database. B-12 Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

If a dimension is represented in the header section, members from the dimension cannot be displayed in a row or column.

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Manipulating Multidimensional Data


Multidimensional operations Navigation Pivot Editing commands Retain Remove Flashback

C opyrigh t 2 008, Oracle . All rig hts reserved.

Manipulating Multidimensional Data


After you retrieve multidimensional data into a spreadsheet, you can manipulate the data by performing multidimensional operations such as drilling down, rolling up, and pivoting. These operations are supported by corresponding Essbase Spreadsheet Add-in commands. Essbase Spreadsheet Add-in also provides commands to perform simple data-editing operations. You can retain or remove report rows or columns or restore the previous view.

Essbase 11.1.1: Bootcamp

B-13

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in The following are the basic data manipulation operations of Essbase Spreadsheet Addin, all of which (except Flashback) initiate the label-scanning process:
Operation Zoom In Zoom Out Keep Only Remove Only Pivot Flashback Description Drills down from a selected member into the dimension hierarchy as specified by the outline Collapses one level up from a selected member, as specified by the outline hierarchy For the selected dimensions, retains only the selected members

Changes the row-column orientation of a dimension or the order of grouping of dimensions in rows or columns Reverses the last operation (Flashback can undo only one step.)

B-14

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

For the selected dimensions, removes only the selected members

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Navigating Data
Select Essbase > Zoom In to drill down.

Press Alt and double-click to drill across the spreadsheet.

Select Essbase > Zoom Out to drill up. Select Essbase > Navigate Without Data to turn automatic data retrieval on or off.

C opyrigh t 2 008, Oracle . All rig hts reserved.

Navigating Data
You can navigate data, based on the outline hierarchy. Essbase Spreadsheet Add-in provides three commands that support navigation operations. Zooming In You zoom in (drill down) to navigate to lower levels in a multidimensional database hierarchy to display detail. For example, if you want to view a data value for a specific quarter or month rather than an aggregate data value for the whole year, you can drill down on the Year Tot dimension. Because worksheets can accommodate more rows that columns, Essbase Spreadsheet Add-in always retrieves data into rows when you drill down on a header dimension member. You can change this default behavior and display the results across columns by pressing the Alt key while drilling down.

Essbase 11.1.1: Bootcamp

B-15

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Zooming Out You zoom out (drill up) to navigate to higher levels in the multidimensional database by collapsing the current member tree. For example, if you previously drilled down on the Year Tot dimension to view data for quarters, you can drill up to view aggregate data for the whole year. Navigating Without Data You use the Navigate Without Data option to perform navigational operations without retrieving data. This feature is especially useful when dealing with dynamically calculated members, which Essbase must calculate every time you perform a retrieval or data manipulation operation. After your navigational operations are complete, you must remember to turn off the Navigate Without Data option in order to retrieve. To zoom in, zoom out, or navigate without data: The following table describes the procedures for these operations:
Operation Zoom in (drill down) on a selected member Procedure Options Select Essbase > Zoom In. Double-click the selected member (if mouse button actions are enabled). Click Zoom out (drill up) from a selected member .

Select Essbase > Zoom Out. Double right-click the selected member (if mouse button actions are enabled). Click .

Zoom in (drill down) on a header dimensionreposition on rows Zoom in (drill down) on a header dimensionreposition on columns Navigate without data

Zoom in (drill down) on a header dimension.

Press and hold Alt and double-click a header dimension.

Select Essbase > Navigate Without Data. Click .

B-16

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Retaining and Removing Data Subsets


Select Essbase > Keep Only to retain the data subset. Select Essbase > Remove Only to remove the data subset.

Keep Only

Remove Only

C opyrigh t 2 008, Oracle . All rig hts reserved.

Retaining and Removing Data Subsets


Essbase Spreadsheet Add-in provides tools that enable you to remove dimensional slices (data subsets) without deleting individual cells. The Keep Only command retains the selected member rows or columns of the selected dimensions and removes all non-selected member rows or columns of the selected dimensions from the worksheet. The Remove Only command is the counterpart to the Keep Only command. Remove Only removes the selected members rows or columns of the selected dimensions and retains all non-selected rows and columns of the selected dimensions in the worksheet.

Essbase 11.1.1: Bootcamp

B-17

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in To keep only or remove only: The following table describes the procedures for these operations.
Operation Keep only Procedure Options Select Essbase > Keep Only. Click Remove only .

Select Essbase > Remove Only. Click .

B-18

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Pivoting Data
Row group Column group

C opyrigh t 2 008, Oracle . All rig hts reserved.

Pivoting Data
You can change the orientation of worksheet data by performing the following tasks: Move a row group to a column group Move a column group to a row group Change the order of row groups Change the order of column groups You can use the Pivot command on the Essbase menu to accomplish the first two tasks. You can right-click the desired dimension and drag your selection to the destination cell to accomplish all four tasks.
TIP

You cannot pivot the last column or row dimension.

Essbase 11.1.1: Bootcamp

B-19

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Managing Worksheet Options


Select Essbase > Options to customize the behavior of Spreadsheet Add-in.

Options specific to the user environment Style and color formatting options Advanced options Zoom in options Options specific to individual worksheets

C opyrigh t 2 008, Oracle . All rig hts reserved.

Managing Worksheet Options


Essbase Spreadsheet Add-in includes options that control how the add-in operates. You can use the Essbase Options dialog box to select options for the active sheet and customize the behavior of the Essbase Spreadsheet Add-in software. The Essbase Options dialog box contains the following tabs: Display, Zoom, Mode, Style, and Global.

B-20

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Global Options
Global options control options specific to the user environment: Mouse Actions
Primary button Retrieve Drill down Secondary button Drill up Pivot

Memory: Enable Flashback Mode: Navigate without Data

C opyrigh t 2 008, Oracle . All rig hts reserved.

Global Options
Global options are specific to the user environment. Global option settings apply to all worksheets and workbooks. Mouse Actions These check boxes enable the primary (left button for right-handed users) and secondary (right button for right-handed users) mouse button functionality for drill-down and pivot actions. For example, you can enable or disable the primary mouse button to retrieve or drill down on data. You can also enable or disable the secondary mouse button to drill up on data or pivot data.

Essbase 11.1.1: Bootcamp

B-21

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Enabling mouse actions for Essbase Spreadsheet Add-in disables some Excel functionality, such as shortcut menus. By selecting the Limit to Connected Sheets check box, you can tell Essbase Spreadsheet Add-in to react to mouse clicks only in worksheets that are connected to an Essbase application and database.
NOTE

Memory You can turn on or off the Flashback functionality that stores the current view before processing retrievals or pivoting. Disabling Flashback conserves memory. Mode You can turn on or off Navigate Without Data, which enables you to develop reports using zoom, pivot, and keep-only actions without retrieving data from the database.

B-22

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Enable the Limit to Connected Sheets option If you are using Essbase Spreadsheet Add-in and Smart View concurrently. When Essbase Spreadsheet Add-in and Smart View are installed on the same computer and this check box is selected, mouse clicks are ignored by Essbase Spreadsheet Add-in if the sheet being acted upon is not connected to an Essbase data source through Essbase Spreadsheet Add-in.

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Zoom Options

Next level

Bottom level

All levels
C opyrigh t 2 008, Oracle . All rig hts reserved.

Zoom Options
Zoom options are specific to individual worksheets. Each sheet can have its own zoom settings. Zoom settings are saved with the Excel workbook. Zoom In Zoom In options enable you to control zoom behavior. Zoom In has the following settings:
Option Next Level All Levels Description Navigates to the next level in the hierarchydefault setting. For example, you can navigate from a member to its children. Drills down on all descendants of the selected member. Be careful not to zoom to all levels on a dimension with thousands of members.

Essbase 11.1.1: Bootcamp

B-23

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in


Option Bottom Level Description Drills down to level 0 descendants of the selected member. This is a useful feature when you want to quickly see input data (which is usually loaded to the bottom of the dimension hierarchy). Cross the dimension hierarchy horizontally from the selected member rather than drill down vertically from the selected member. Enables drilling down based on member formulas in the outline. The drill results in a list of the members that compose the formula. Retains the selected parent member and its children on the report.

Sibling Level, Same Level, and Same Generation Formula Include Selection

Zoom Out Zoom In settings do not affect the Zoom Out command. In all cases, Zoom Out navigates to the parent of the selected member.

B-24

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Style Options
Define one set of styles per database connection. Enable styles for specific worksheets on the Display tab.

C opyrigh t 2 008, Oracle . All rig hts reserved.

Style Options
You can create a different style scheme for each database and choose to display the styles you created in specific worksheets. Your style schemes apply to all worksheets for which styles are enabled. Style schemes saved are as local user settings, and not with the workbook.
NOTE

Because styles are defined for a specific database connection, the Styles tab is not displayed if the worksheet is not connected to a database.

Essbase 11.1.1: Bootcamp

B-25

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in The following table describes the three style categories:
Category Member styles Description Set font characteristics (font, size, style, color, and so on) for parent, child, shared member, members with formulas, and members with a Dynamic Calc storage setting. Settings apply to members of all dimensions. Parent style settings apply to all non-level 0 members. Child style settings apply only to level 0 members. In the example on the slide, parent members of every dimension are displayed with a bold blue font. Dimension styles Set font characteristics and backgrounds for each dimension in your database. When both dimension and member styles apply, the member style takes precedence. In the example on the slide, Jan, Feb, and Mar are displayed with the white font defined for the Year Tot dimension, but Qtr 1 is displayed with the bold blue font defined for parents. Data cell styles Set font characteristics on data cells themselves (not member labels) for distinguishing linked reporting objects, integration server drill-through links, read-only data, and read-write data.

NOTE

For more information about linked reporting objects (LROs), read the Database Administrators Guide. For a comprehensive discussion of Integration Server drillthrough links, read the Essbase Spreadsheet Add-in Users Guide for Excel.

B-26

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Display Options

C opyrigh t 2 008, Oracle . All rig hts reserved.

Display Options
Display options are specific to individual worksheets. Each sheet can have its own settings. Indentation Three levels of indentation are provided: Totals, Subitems, and None. Replacement You use the replacement options to enter your own nomenclature for #Missing and #NoAccess labels. For example, you can set #Missing to be a dash (-) or a text value of zero.

Essbase 11.1.1: Bootcamp

B-27

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Suppress You use the suppression options to suppress rows that contain missing data or zero values or to suppress underscore (_) characters in member names. Suppress #Missing and suppress zero functionality is defined by row. Entire rows with #Missing or zero values are deleted upon retrieval if, under Suppress, you select #Missing Rows and Zero Rows. Aliases You can display aliases rather than member names. There are two alias options, which you can use separately or together: Use Aliases: Use aliases according to the selected alias table. Members with no aliases default to the member name. Use Both Member Names and Aliases: Use both member names and aliases for row dimension labels. The result may be distracting in rows with multiple grouped dimensions. If a member has no alias, the member name is presented twice. This feature is not functional for columns. Duplicate Members You can display qualified names of duplicate member names. There are two duplicate member name options, which you can use separately or together: Show Qualified Member Names on Sheet: Essbase displays duplicate members with their qualified member names. Show Qualified Member Names as Comment: For duplicate members, Essbase creates Excel cell comments that display the qualified member names. Unlike standard Excel cell comments, these comments move from cell to cell, following the relevant members as you drill and pivot. Cells You can control the display of certain cell characteristics. There are three cell options: Adjust Columns: Essbase automatically adjusts column widths to the longest data value or member name every time you retrieve. Use Styles: If you defined styles on the Styles tab, you must enable this setting to display styles in your current worksheet. Repeat Member Labels: This option fills in the outer grouped member names in rows and columns when you use more than one dimension.

B-28

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Preserving Excel Formulas

C opyrigh t 2 008, Oracle . All rig hts reserved.

Preserving Excel Formulas


By default, basic retrieve operations delete Excel formulas from a worksheet. To retain formulas on a worksheet during retrieve operations, you must instruct Essbase to preserve the formulas. Collectively, formula preservation options enable you to retain formulas during data retrievals, keep and remove only operations, and drill operations. In addition, Essbase can replicate formulas for additional members retrieved into the worksheet as part of a drilling operation.

Essbase 11.1.1: Bootcamp

B-29

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Essbase Spreadsheet Add-in provides the following formula preservation options on the Mode tab of the Essbase Options dialog box:
Option Retain on Retrieval Description This option preserves formulas on a simple retrieve operation, but Essbase deletes formulas without warning for any other retrieve operation, such as during a zoom operation. This option instructs Essbase to preserve formulas when Keep Only or Remove Only is used. This option instructs Essbase to preserve formulas during a zoom operation. This option fills in formulas for newly inserted members during a zoom operation.

Retain on Keep and Remove Only Retain on Zooms Formula Fill

Keep in mind the following guidelines and restrictions when using the formula preservation options: You must select Retain on Retrieval to enable Retain on Keep and Remove Only and Retain on Zooms. You must select Retain on Zooms to enable Formula Fill. Formula Fill is intended to work correctly only on row zoom operations. Column zoom operations with Formula Fill enabled may produce unexpected results. When you select Retain on Retrieval, the Suppress #Missing Rows and Zero Rows options on the Display tab are not selectable. If you select either of these display options, the formula preservation options are not selectable. You can not pivot in formula preservation mode. When Retain on Retrieval is selected, retrieval times may be slightly delayed.

B-30

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Replicating Reports with Cascade


Based on member selection, replicates the standard report Creates a workbook and table of contents

C opyrigh t 2 008, Oracle . All rig hts reserved.

Replicating Reports with Cascade


With cascade reporting, you can create one standard report complete with precise styles, color coding, and number formats. You can then replicate the report format to multiple cost centers, regions, product lines, or other business view elements. For example, Bigcorp analysts can create an income statement showing retail channel totals and then replicate the row-column layout and format to generate income statements for individual retail customers.

Essbase 11.1.1: Bootcamp

B-31

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Creating Cascade Reports (1/2)


1

C opyrigh t 2 008, Oracle . All rig hts reserved.

Creating Cascade Reports (1/2)


Cascade creates multiple workbooks or sheets that reside within a single workbook and replicate your standard format. It retrieves on each replicated sheet and, optionally, indexes the sheet reference. To create a cascade report: 1. In the template spreadsheet report, select the cells that contain the members from which you want to create related replicated reports. 2. Select Essbase > Cascade. The Essbase Cascade Options dialog box is displayed.

B-32

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in 3. On the Cascade Information tab, select a cascade level for each selected member, and then click OK.
Cascade Level Next Level All Levels Bottom Level Sibling Level Same Level Same Generation Formulas Description Creates a report for the children of the selected member. This is the default cascade option. Creates a report for the descendants of the selected member. Creates a report for all level 0 descendants of the selected member. Creates a report for the siblings of the selected member.

Creates a report for all members at the generation of the selected member. Creates a report for all members that are included in the formula of the selected member.

Essbase 11.1.1: Bootcamp

B-33

Oracle Internal & Oracle Academy Use Only

Creates a report for all members at the level of the selected member.

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Creating Cascade Reports (2/2)

C opyrigh t 2 008, Oracle . All rig hts reserved.

Creating Cascade Reports (2/2)


4. On the Destination Options tab, define the following information: Where and in what form to create the cascaded sheets Prefix and suffix of the file names or workbooks File information 5. On the Format Options tab, define the following information: Header and footer Whether to suppress missing rows Whether to generate a table of contents file 6. Click OK.

B-34

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Selecting Members from the Outline


You use the Essbase Member Selection tool: To select members from the database To place selected members in the spreadsheet To save the selection criteria

Saved selection myselect.sel

C opyrigh t 2 008, Oracle . All rig hts reserved.

Selecting Members from the Outline


Your database outline may contain hundreds or even thousands of members, making it difficult to remember every member name. The Essbase Member Selection dialog box enables you to find and select members and define their layout in the spreadsheet. You can use Boolean connectors, such as AND, OR, and NOT, or other search parameters to specify criteria and conditions that members must meet to be eligible for member selection. In addition, you can save selection criteria rules for later use. The Essbase Member Selection dialog box provides direct access to your database outline.

Essbase 11.1.1: Bootcamp

B-35

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in To define selection rules: 1. From the Dimension drop-down list, select a dimension. The selected dimension and its members are displayed under Members. 2. Under View Method, select one of the following options for copying members to the spreadsheet: By Member Name: Enables you to select members and their descendants from the dimension hierarchy.

By Level Name: Enables you to select all members of a particular level in the dimension. By Dynamic Time Series: Enables you to select Dynamic Time Series members (only for the dimension tagged as Time). 3. Under Members, select members, and click Add. The selected members are displayed under Rules. 4. Optional: Select one or more rules, and click Move Item Up, Move Item Down, Remove Item, or Remove All to reorder or remove the selected members. 5. Under Output Options, select an option to define how to insert the selected members into the spreadsheet:
Selection Option Place Down the Sheet Suppress Shared Members Insert List Before Active Cell Use Aliases Description Inserts members down a column. If you clear the check box, Essbase Spreadsheet Add-in inserts members across a row. Suppresses shared members from the results. This option is available only when the view method is set to generation or level names. Inserts members before an active cell. If you clear the checkbox, Essbase Spreadsheet Add-in overwrites the active cell and any other cells in the selected range. Inserts member aliases from the current alias table. This option also changes the display of the dimension hierarchy to member aliases.

6. Optional: Click Save to save the selection rule in a file on an instance of Essbase Server or in your local file system. 7. Click OK.

B-36

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

By Generation Name: Enables you to select all members of a particular generation in the dimension.

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Defining Selection Rules


Year Tot Qtr 1
Jan Feb
3

All Child ren and Member

All children

Mar
Qtr 2 Apr
4

C opyrigh t 2 008, Oracle . All rig hts reserved.

Defining Selection Rules


After selecting members from the outline, you can define additional criteria for each selected member. To define selection rules for a member: 1. Under Rules, right-click the member name. 2. From the shortcut menu, select an option:
Selection Option All Children All Children and Member All Descendants Description Selects all children of the selected member Selects all children of the selected member and the selected member Selects all descendants of the selected member.

Essbase 11.1.1: Bootcamp

B-37

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in


Selection Option All Descendants and Member Subset Description Selects all descendants of the selected member and the selected member Opens the Subset Dialog box to further define the member selection criteria

3. Click Preview. The Member Preview dialog box is displayed. 4. Preview the members that are displayed in the spreadsheet, and then click Close.

B-38

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Applying Additional Rules


5

C opyrigh t 2 008, Oracle . All rig hts reserved.

Applying Additional Rules


The Subset Dialog box enables you to apply additional rules to a subset of members. You can select members that have certain user-defined attributes or match a certain pattern string. You can also select members by using generation and level names, or you can define conditional logic and group conditional expressions. Setting subset conditions gives you flexibility in defining your selection rules. In the example on the slide, Bigcorp analysts create a subset definition to select only level 0 products that start with either L or M. To specify subset conditions: 1. Under Rules, right-click the member name and, from the shortcut menu, select Subset. The Subset Dialog box is displayed.

Essbase 11.1.1: Bootcamp

B-39

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in 2. Define the selection conditions. The conditions are displayed under Conditions. 3. Optional: Click Add (, Add ), Remove ( ), or Remove All ( ) to group conditions or remove groupings. 4. Click Preview, review the list meeting the criteria, and then click Close. 5. Click OK. Additional rules are displayed under the member in the Essbase Member Selection dialog box.

B-40

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Creating Savable Queries


Supports the spreadsheet report layout Filters and sorts data based on values Saves the query on the server or client

Sa ved quer y MyQuery.eqd

Saved report scr ipt MyQuery.rep

C opyrigh t 2 008, Oracle . All rig hts reserved.

Creating Savable Queries


Essbase Spreadsheet Add-in provides the Query Designer tool to create structured spreadsheet reports. Essbase Query Designer helps you become familiar with a new outline or create a report that uses complex grouping of dimensions in rows or columns. Its interfaces and dialog boxes step you through the process of placing member labels on the spreadsheet. Reports generated with Query Designer are reusable because the tool saves the reports in the form of a query file (EQD) and, if you save the query to an instance of Essbase Server, a report script file (REP). You can store the files on an instance of Essbase Server or locally and use them for defining new reports. Using Query Designer is the fastest and easiest way to create report scripts, which can be used for selectively extracting data during batch processes.

Essbase 11.1.1: Bootcamp

B-41

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Query Designer Interface

Hint frame Navigation frame

Pro perties frame

C opyrigh t 2 008, Oracle . All rig hts reserved.

Query Designer Interface


The Query Designer interface is separated into three frames: navigation, properties, and hint. Navigation Frame You create and apply a query in the navigation frame. The frame displays all database dimensions and provides access to the properties frames. Properties Frames In the properties area are displayed various frames, such as query information, layout, member selection, member filters, data sorting, data filtering, data restriction, messages and confirmation, and help. You select the preferred item in the navigation frame to access the preferred frame in the properties area. Hint Frame This frame provides a short description of what is currently displayed in the properties frame. The help text in the hint frame changes depending on your selection in the navigation frame. B-42 Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Creating Basic Queries


2

3
5

C opyrigh t 2 008, Oracle . All rig hts reserved.

Creating Basic Queries


After you connect to a database and launch Query Designer, you can create a query. To create a quer y: 1. In the Navigation frame, select a worksheet, right-click, and then select New > Query. The Navigation frame displays dimensions and the Properties frame displays the default report layout. 2. Click and drag to place dimensions as page, row, and column headers. 3. Specify members for headers, rows, and columns. 4. Save the query. 5. Apply the query to the Excel worksheet.

Essbase 11.1.1: Bootcamp

B-43

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Creating Advanced Queries


Ranking data (top or bottom) Filtering data Sorting data

C opyrigh t 2 008, Oracle . All rig hts reserved.

Creating Advanced Queries


Query Designer is the only tool in Essbase Spreadsheet Add-in that enables you to create reports based on data values as opposed to member labels. Its filtering and sorting tools enable you to apply specific, user-defined criteria to the data. You can use filtering and sorting for various purposes: Create top or bottom lists (for example, top ten customers based on total sales) Identify members with variance within specified ranges (for example, variances between actual and budget greater than 10%) Identify members with values within specific ranges (for example, unit sales between 100,000 and 500,000) Sort members according to data values (for example, ranking members based on total sales)

B-44

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Filtering Data
Rank data Compare data to a value Compare one column to another Filter out missing data

C opyrigh t 2 008, Oracle . All rig hts reserved.

Filtering Data
Despite the ease and speed with which you can navigate through large databases, it is not practical to use the capabilities of the spreadsheet application to filter and sort very large databases. However, Query Designer provides a powerful tool to define conditional retrievals. The data filtering tool in Query Designer gives you the ability to rank data, compare data to a specific value, compare data in one column to data in another column, and filter out missing data.

Essbase 11.1.1: Bootcamp

B-45

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Filtering Queries Example You create the following query for Bigcorp Sales, which returns a basic year over year report of Net Sales for individual customers in January for the Lightbolt product line.

You want to filter the query so it returns only the top 10 current year customers who also had sales of more than 50,000 in the prior year. When you apply the filters shown in the example on the slide, the query produces the following report:

B-46

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Sorting Data

C opyrigh t 2 008, Oracle . All rig hts reserved.

Sorting Data
You can use Query Designer to sort row data in ascending or descending order. When selected, data sorting settings are displayed in the properties frame. The data sorting panel contains the following items: Dimension being sorted: a drop-down list box that lists the dimensions specified in the rows of the query layout Column used for sort: a drop-down list box from which you select one or more of the dimensions that are specified in the columns of the query layout to use as a basis for sorting Ordering: a drop-down list box from which you select ascending or descending sort order for the selected column

Essbase 11.1.1: Bootcamp

B-47

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Retrieving with Report Scripts


Create dynamic report templates.

C opyrigh t 2 008, Oracle . All rig hts reserved.

Retrieving with Report Scripts


Essbase provides two retrieval modes: Advanced Interpretation: This is the default retrieval mode. The advanced spreadsheet interpretation engine scans your worksheet for member name labels. Before scanning, you are required to clearly define at least one row dimension and one column dimension. Member names that are not represented on the spreadsheet when you begin the retrieval are not displayed on the spreadsheet after the retrieval.

B-48

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Free-Form: This retrieval mode enables you to enter member names anywhere on your spreadsheet and allow Essbase to place the members in rows, columns, or header. Additionally, you can use report script commands to create dynamic reports.
NOTE

Free-form retrieval mode cannot be used with duplicate member name outlines.

Command <CHILDREN <ICHILDREN <DESCENDANTS <IDESCENDANTS <SIBLINGS <ISIBLINGS

Description All children of the specified member The specified member and all of its children All descendants of the specified member The specified member and all of its descendants All siblings of the specified member The specified member and all of its siblings

Report script commands are most useful for defining reports on dimensions that change frequently; they ensure that the most updated list of members is retrieved from the server. For information on the syntax of report script commands and on guidelines for developing reports, see the Technical Reference and the Database Administrators Guide. Preserving Dimension Positions Template Retrieve is a free-form retrieval mode option that ensures that Essbase does not spontaneously reposition dimensions during retrievals. Additionally, when Template Retrieve is enabled, the Zoom, Keep Only, Remove Only, and Pivot options are unavailable. This restriction ensures that end users cannot substantially change the report layout.

Essbase 11.1.1: Bootcamp

B-49

Oracle Internal & Oracle Academy Use Only

Using Report Script Commands When you retrieve data in free-form mode, Essbase can retrieve a list of members based on hierarchy relationships, instead of reading hard-coded labels. In the example on the slide, the report script command <ICHILDREN Retail returns Retail and a list of the current children of Retail. The following table describes the most common report script commands that you can use for retrievals:

Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in

Summary
In this lesson, you should have learned to: Describe Essbase Spreadsheet Add-in Install Essbase Spreadsheet Add-in Retrieve data into a Microsoft Excel worksheet Manage worksheet options Preserve Microsoft Excel formulas in a worksheet Replicate spreadsheet reports with the Cascade option Design spreadsheet reports by selecting members from the outline Create savable queries Create advanced queries Retrieve with report scripts

B-50

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only