You are on page 1of 120

Volume II Student Guide

D70048GC10
Edition 1.0
September 2008
D56250

Oracle Internal & Oracle Academy Use Only

Oracle Essbase 11.1.1: Bootcamp

Authors

Copyright 2008, Oracle. All rights reserved.

Lisa Alexander
Jumal Qazi

Disclaimer

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

Editors
Susan Moxley
Jennifer Stout

Graphic Editors
Asha Thampy
Satish Bettegowda

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

Technical Contributors
and Reviewers

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.

Table of Contents

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

Preface

Table of Contents

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

Lesson 2: Designing Applications and Databases

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

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

Table of Contents

Table of Contents

Lesson 7: Creating Advanced Dimension Build Rules Files

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

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

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

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

Lesson 10: Creating Reports with Smart View

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

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

Table of Contents

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

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

Lesson 14: Referencing Members in Calculations

Table of Contents

Defining Ranges of Variances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-7


Viewing Varying Attribute Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-9

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

Lesson 17: Analyzing Text and Dates

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

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

Appendix B: Creating Reports with Essbase Spreadsheet Add-in

Oracle Internal & Oracle Academy Use Only

Table of Contents

xii

Essbase 11.1.1: Bootcamp

M O D U L E

Appendices

17

This module contains appendices to provide information about additional


features of Essbase not covered in this course.
Appendices include:
Creating Advanced Calculations
Creating Reports with Essbase Spreadsheet Add-in

Oracle Internal & Oracle Academy Use Only

Overview

Oracle Internal & Oracle Academy Use Only

A P P E N D I X

Creating Advanced Calculations

At the end of this appendix, you should be able 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

Oracle Internal & Oracle Academy Use Only

Objectives

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

Script Development Process

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

Essbase 11.1.1: Bootcamp

A-3

Oracle Internal & Oracle Academy Use Only

TIP

Module 6 Appendices
Appendix A Creating Advanced Calculations

Calculation Test Cycle


1

CLEARBLOCK ALL;

Changed
calculation
script

Test
cycle

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

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.

If you follow this formalized test cycle every time you test a calculation script, you ensure
the following outcomes:
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

4. Audit your calculation results.

Module 6 Appendices
Appendix A Creating Advanced Calculations

Prototype Phase

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

Input sheet

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:

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

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.

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

You can implement these three sections on one audit worksheet or create an audit
worksheet for each section.
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

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

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

Pilot Phase

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.

Revise sparse and dense storage settings to reflect your final calculation
requirements.
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

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.

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.

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

*/
*/
*/
*/
*/

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

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.

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

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

query database 'Bigcorp'.'Sales' get dbstats data_block;

Module 6 Appendices
Appendix A Creating Advanced Calculations

Upper-Level Data Loads

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

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

Module 6 Appendices
Appendix A Creating Advanced Calculations

Aggregating Missing Values (1/2)

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

Aggregate missing values ON:


Overwrites upper-level data loads
Improves calculation performance
Is the recommended default setting

Module 6 Appendices
Appendix A Creating Advanced Calculations

Aggregating Missing Values (2/2)

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

Aggregate missing values OFF:


Protects upper-level data loads
Slows calculation performance
Is the default setting for new databases

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.

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.

A-16

Jan

Feb

Mar

Qtr 1

Labor

100

100

100

300

Material

50

50

50

150

Overhead

75

75

75

225

Cost of Sales

225

225

225

675

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

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.

Module 6 Appendices
Appendix A Creating Advanced Calculations

O-Dell

O-HP

O-IBM

OEM

Thunderball 270 A

Thunderball 540 A

Thunderball

10

11

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

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.

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

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.

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

/* 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";
)

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

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

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.

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

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

Your audit sheet shows the following correct results:

Module 6 Appendices
Appendix A Creating Advanced Calculations

Intelligent Calculation

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

Only marked data blocks are recalculated:

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

A-24

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

NOTE

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.

The following script examples automatically enable intelligent calculation:


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

All previously existing dirty blocks are calculated and marked clean.

Module 6 Appendices
Appendix A Creating Advanced Calculations
The following example demonstrates the use of the SET CLEARUPDATESTATUS
AFTER command:

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

SET CLEARUPDATESTATUS AFTER


FIX (@IDESCENDANTS("Qtr 1"))
CALC DIM (Accounts);
ENDFIX

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.

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

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.

Module 6 Appendices
Appendix A Creating Advanced Calculations

Usage Considerations

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

Maintain clean and dirty status of blocks:


False negatives affect calculation efficiency
False positives affect data integrity

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

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.

Module 6 Appendices
Appendix A Creating Advanced Calculations

Allocating Data
Upper-level input allocation:

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

Oracle Internal & Oracle Academy Use Only

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

Module 6 Appendices
Appendix A Creating Advanced Calculations

Calculating Fixed Rate Allocations

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

VAR
VAR
VAR
VAR

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

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

Module 6 Appendices
Appendix A Creating Advanced Calculations

Calculating Dynamic Ratio Allocations

O-IBM

O-Dell

O-Acer

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

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

Allocation ra tios:

"O-IBM"->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

Customer

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

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.

Essbase 11.1.1: Bootcamp

A-37

Oracle Internal & Oracle Academy Use Only

TIP

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.

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

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.

Module 6 Appendices
Appendix A Creating Advanced Calculations

Partitioning Calculations by Scenario


One accounts model, multiple calculation requirements:
Actual data:

Budget data:
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

Input dollars and units


Derive rates

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.

Oracle Internal & Oracle Academy Use Only

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

Module 6 Appendices
Appendix A Creating Advanced Calculations

Developing Normalization Tables

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

1. Determine how many dimensions require normalization.


2. Create a normalization template.
3. Complete the template based on input data.

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

Movement Required?

Budget

No. All 73,000 remains in the budget scenario.

Material Variances

No. All 73,000 remains in the Material Variances account.

Jan

No. All 73,000 remains in the Jan time period.

Family Total

Yes. A percentage of the 73,000 must be allocated to each product.

Channel Total

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

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.

Module 6 Appendices
Appendix A Creating Advanced Calculations

Column Name

Description

Data Type

How data for the current account is created (direct input, formula
calculation, consolidation, and so on)

Input Level

Generation or level at which data is loaded (for the dimension being


normalized)

Push to Level

Generation or level to which input data must be moved (for the dimension
being normalized)

Methodology

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

A normalization table lists all input accounts in the row axis. For each dimension that you
normalize, include the following four columns:

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

Developing Block Diagrams

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.

Oracle Internal & Oracle Academy Use Only

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

Module 6 Appendices
Appendix A Creating Advanced Calculations

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

Normalizing Rates and Drivers

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:

Oracle Internal & Oracle Academy Use Only

"List Price" = @PARENTVAL(Customer, "List Price");

A-48

Essbase 11.1.1: Bootcamp

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

Description

DATACOPY mbrName1 TO
mbrName2

For copying data sets from one member to another

CLEARBLOCK ALL | UPPER |


NONINPUT | DYNAMIC

For clearing previous input or upper-level data or stored


dynamic calculations

CLEARDATA mbrName

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

Cur rent Year


O-IBM
Lightbolt 365 A

Forecast
O-IBM
L ightbolt 365 A

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

DATACOPY "Current Year"


TO "Forecast"

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:

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

DATACOPY "Current Year"->Jan TO "Prior Year";

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

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

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.

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

Description

ALL

Clears all data blocks

UPPER

Clears all upper-level blocks

NONINPUT

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

DYNAMIC

Clears blocks that contain values derived from Dynamic Calc and Store
member calculations, resetting Dynamic Calc and Store members for
recalculation

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

Oracle Internal & Oracle Academy Use Only

You cannot use CLEARBLOCK in an IF statement.

Essbase 11.1.1: Bootcamp

A-55

Module 6 Appendices
Appendix A Creating Advanced Calculations

Summary
In this lesson, you should have learned to:
Describe the script development process

Oracle Internal & Oracle Academy Use Only

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

A P P E N D I X

Creating Reports with Essbase


Spreadsheet Add-in

At the end of this appendix, you should be able 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

Oracle Internal & Oracle Academy Use Only

Objectives

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

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

Spreadsheet Add-in Overview

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

Essbase menu

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.

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

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.

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

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.

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

3. Enter your username and password, and then click OK.

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.

Oracle Internal & Oracle Academy Use Only

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

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

B-8

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

TIP

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:

Header la bels

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

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.

Oracle Internal & Oracle Academy Use Only

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

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
Row
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

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.

If a dimension is represented in the header section, members from the dimension


cannot be displayed in a row or column.
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

Header members define all data on the page for their dimensions.

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

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

Manipulating Multidimensional Data

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

Operation

Description

Zoom In

Drills down from a selected member into the dimension hierarchy as specified
by the outline

Zoom Out

Collapses one level up from a selected member, as specified by the outline


hierarchy

Keep Only

For the selected dimensions, retains only the selected members

Remove Only

For the selected dimensions, removes only the selected members

Pivot

Changes the row-column orientation of a dimension or the order of grouping


of dimensions in rows or columns

Flashback

Reverses the last operation (Flashback can undo only one step.)

B-14

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

The following are the basic data manipulation operations of Essbase Spreadsheet Addin, all of which (except Flashback) initiate the label-scanning process:

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

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

Navigating Data

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

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

Procedure Options

Zoom in (drill down) on a


selected member

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

Zoom in (drill down) on a


header dimensionreposition
on columns

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

Navigate without data

Select Essbase > Navigate Without Data.


Click

B-16

Essbase 11.1.1: Bootcamp

Oracle Internal & Oracle Academy Use Only

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.

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

Retaining and Removing Data Subsets

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

Select Essbase > Keep Only to retain the data subset.


Select Essbase > Remove Only to remove the data subset.

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

Procedure Options

Keep only

Select Essbase > Keep Only.


Click

Remove only

Select Essbase > Remove Only.


.

Oracle Internal & Oracle Academy Use Only

Click

B-18

Essbase 11.1.1: Bootcamp

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

Pivoting Data
Row 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

Column group

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

Managing Worksheet Options

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

Select Essbase > Options to customize the behavior of


Spreadsheet Add-in.

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

Global Options

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

Global options control options specific to the user environment:


Mouse Actions

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

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

NOTE

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

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

Description

Next Level

Navigates to the next level in the hierarchydefault setting. For


example, you can navigate from a member to its children.

All Levels

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

Zoom Options

Module 6 Appendices

Option

Description

Bottom Level

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

Sibling Level,
Same Level, and
Same Generation

Cross the dimension hierarchy horizontally from the selected member


rather than drill down vertically from the selected member.

Formula

Enables drilling down based on member formulas in the outline. The drill
results in a list of the members that compose the formula.

Include Selection

Retains the selected parent member and its children on the report.

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

Appendix B Creating Reports with Essbase Spreadsheet Add-in

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

Description

Member styles

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.

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

In the example on the slide, parent members of every dimension are


displayed with a bold blue font.

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

Oracle Internal & Oracle Academy Use Only

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

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.

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

Aliases
You can display aliases rather than member names. There are two alias options, which
you can use separately or together:

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

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

Preserving Excel Formulas

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

Option

Description

Retain on Retrieval

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.

Retain on Keep
and Remove Only

This option instructs Essbase to preserve formulas when Keep Only or


Remove Only is used.

Retain on Zooms

This option instructs Essbase to preserve formulas during a zoom


operation.

Formula Fill

This option fills in formulas for newly inserted members during a zoom
operation.

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

Essbase Spreadsheet Add-in provides the following formula preservation options on the
Mode tab of the Essbase Options dialog box:

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)

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

Cascade Level

Description

Next Level

Creates a report for the children of the selected member. This is the
default cascade option.

All Levels

Creates a report for the descendants of the selected member.

Bottom Level

Creates a report for all level 0 descendants of the selected member.

Sibling Level

Creates a report for the siblings of the selected member.

Same Level

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

Same Generation

Creates a report for all members at the generation of the selected


member.

Formulas

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

3. On the Cascade Information tab, select a cascade level for each selected member,
and then click OK.

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

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

Creating Cascade Reports (2/2)

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

Selecting Members from the Outline

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

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

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 Generation Name: Enables you to select all members of a particular


generation in the dimension.
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

Description

Place Down the


Sheet

Inserts members down a column. If you clear the check box,


Essbase Spreadsheet Add-in inserts members across a row.

Suppress Shared
Members

Suppresses shared members from the results. This option is


available only when the view method is set to generation or level
names.

Insert List Before


Active Cell

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.

Use Aliases

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 Member Name: Enables you to select members and their descendants from
the dimension hierarchy.

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

Defining Selection Rules


Year Tot
All Child ren and Member

Jan

All children

Oracle Internal & Oracle Academy Use Only

Qtr 1

Feb
3

Mar
Qtr 2
4

Apr

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

Description

All Children

Selects all children of the selected member

All Children and Member

Selects all children of the selected member and the


selected member

All Descendants

Selects all descendants of the selected member.

Essbase 11.1.1: Bootcamp

B-37

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

Description

All Descendants and


Member

Selects all descendants of the selected member and the


selected member

Subset

Opens the Subset Dialog box to further define the member


selection criteria

3. Click Preview.
The Member Preview dialog box is displayed.

Oracle Internal & Oracle Academy Use Only

4. Preview the members that are displayed in the spreadsheet, and then click Close.

B-38

Essbase 11.1.1: Bootcamp

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.

Oracle Internal & Oracle Academy Use Only

Additional rules are displayed under the member in the Essbase


Member Selection dialog box.

B-40

Essbase 11.1.1: Bootcamp

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

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

Navigation
frame

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

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

Filtering Data

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

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

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.

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

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

Sorting Data

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

Retrieving with Report Scripts

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

Create dynamic report templates.

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.

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:
Command

Description

<CHILDREN

All children of the specified member

<ICHILDREN

The specified member and all of its children

<DESCENDANTS

All descendants of the specified member

<IDESCENDANTS

The specified member and all of its descendants

<SIBLINGS

All siblings of the specified member

<ISIBLINGS

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

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

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

Install Essbase Spreadsheet Add-in

You might also like