d70048gc10_sg2,oracle activity guide

120
Oracle Essbase 11.1.1: Bootcamp Volume II • Student Guide D70048GC10 Edition 1.0 September 2008 D56250 ® ® Oracle Internal & Oracle Academy Use Only

Upload: nikhil-luthra

Post on 27-Oct-2015

302 views

Category:

Documents


0 download

DESCRIPTION

Oracle essbase bootcamp For certification

TRANSCRIPT

Page 1: D70048GC10_sg2,Oracle activity guide

Oracle Essbase 11.1.1: BootcampVolume II • Student Guide

D70048GC10

Edition 1.0

September 2008

D56250

®®

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 2: D70048GC10_sg2,Oracle activity guide

Copyright © 2008, Oracle. All rights reserved.

Disclaimer

This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle.

The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free.

Restricted Rights Notice

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 RIGHTSThe U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract.

Trademark Notice

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Authors

Lisa Alexander

Jumal Qazi

Technical Contributors and Reviewers

Shubho Bhattacharya

Art Hetherington

Saju Philips

Sergiy Percherskyy

Aneel Shenker

Yulia Stolerman

Editors

Susan Moxley

Jennifer Stout

Graphic Editors

Asha Thampy

Satish Bettegowda

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 3: D70048GC10_sg2,Oracle activity guide

Table of Contents 0

Preface

Course Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiCourse Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiCourse Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Student Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xivActivity Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvAdditional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvFuture Courses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Module 1: Creating Databases

Lesson 1: Essbase Overview

Multidimensional Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Spreadsheet-Based Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Multidimensional View of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5Data Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7Dimension Hierarchies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8Operations in Multidimensional Data Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Sparse and Dense Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11

Oracle’s Enterprise Performance Management System . . . . . . . . . . . . . . . . . . . . . . 1-12Oracle BI Suite Enterprise Edition Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15Essbase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18

Essbase Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19Essbase Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20Administration Services Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23

Production Environment Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-29Smart View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33Essbase Studio and Data Warehousing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 4: D70048GC10_sg2,Oracle activity guide

Table of Contents

iv Essbase 11.1.1: Bootcamp

Lesson 2: Designing Applications and Databases

Block Storage Implementation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Analyzing and Planning Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

Identifying Business Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Examining Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Analyzing Sample Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6Designing Block Storage Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

Creating Applications and Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9Creating Block Storage Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12Creating Block Storage Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14Server File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16Design Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17

Creating Outline Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19Creating Dimensions and Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22Moving Dimensions and Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24

Modifying Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26

Lesson 3: Designing Data Descriptor Dimensions

Data Descriptor Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2Designing Time Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

Generic Time Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6Fiscal Year Crossover Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7

Designing Scenario Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9Tracking Data Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10Tracking Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11

Outline Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12Consolidation Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13Shared Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

Designing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18Consolidation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20Design Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22Creating Accounts Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24

Testing Outline Calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25Intelligent Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27Setting the Default Database Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28

Lesson 4: Optimizing Data Descriptor Dimensions

Creating Member Aliases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 5: D70048GC10_sg2,Oracle activity guide

Table of Contents

Essbase 11.1.1: Bootcamp v

Dimension Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4Creating Period-to-Date Totals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

Creating Period-to-Date Calculated Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6Implementing Dynamic Time Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8

Dynamic Calc Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-11Enhancing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13

Time Balance Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14Expense Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16

Optimizing Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18Label Only Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19Implied Shares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21

Module 2: Building Rules Files

Lesson 5: Planning Dimension Designs

Business View Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2Combining Business Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4Planning Dimensions with Label Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

Designing Primary Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10Designing Secondary Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-11

Lesson 6: Creating Basic Dimension Build Rules Files

Rules Files Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3Dimension Build Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4

Creating Dimension Build Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6Prepping Data Prep Editor (Steps 1–6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8Creating Dimensions (Step 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13Selecting Dimension Build Method (Step 8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15Defining Field Properties (Step 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17Validating Dimension Build Rules Files (Step 10) . . . . . . . . . . . . . . . . . . . . . . . . 6-20Completing Dimension Build Rules Files (Steps 11 and 12) . . . . . . . . . . . . . . . . 6-22

Configuring Dimension Maintenance Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24Moving Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25Modifying Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27Sorting Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29Updating Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 6: D70048GC10_sg2,Oracle activity guide

Table of Contents

vi Essbase 11.1.1: Bootcamp

Lesson 7: Creating Advanced Dimension Build Rules Files

Advanced Dimension Build Rules Files Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2Creating Shared Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3

Parent-Child Build Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4Other Methods for Creating Shared Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6

Manipulating Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8Arranging Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9Altering and Ignoring Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12

Creating User-Defined Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14

Lesson 8: Loading Data

Data Load Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Free-form Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3Data Sources That Require Rules Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5

Creating Data Load Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6Prepping Data Prep Editor (Steps 1–6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8Defining Field Properties (Step 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-11Referencing Missing Dimensions (Step 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14Setting Data Load Values Options (Step 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16Validating Data Load Rules Files (Step 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19Completing Data Load Rules Files (Steps 11 and 12) . . . . . . . . . . . . . . . . . . . . . 8-20

Selecting and Rejecting Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22Capturing New Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24

Module 3: Reporting with Smart View

Lesson 9: Getting Started with Smart View

Smart View Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2Smart View and Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3Smart View Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4Smart View Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5

Configuring Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8Configuring Provider Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9Connecting to Essbase Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-11

Creating Ad Hoc Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15Display of Multidimensional Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 7: D70048GC10_sg2,Oracle activity guide

Table of Contents

Essbase 11.1.1: Bootcamp vii

Label Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19Setting the Point of View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21

Selecting Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-22Filtering Dimension Member Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24

Lesson 10: Creating Reports with Smart View

Manipulating Multidimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2Navigating Through Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4Retaining and Removing Data Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5Pivoting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7

Updating Essbase Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9Adjusting Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10Submitting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12Calculating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13

Integrating Essbase Data with Microsoft Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15Copying Dynamic Data Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17Creating Linked Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19

Customizing the User Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21Smart Slices Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22Creating Smart Slices (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24Creating Smart Slices (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26Adding Queries and Subqueries to Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27Interactive Report Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-29Creating Reports with Report Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30

Module 4: Creating Basic Calculations

Lesson 11: Data Storage and Calculation

Calculation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-2Outline-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-4Script-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-5Calculation Script Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-8

Database Calculation Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-9Data Block Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-11Data Blocks and the Index System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-12

Data Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-14Dense Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-16Sparse Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-18

Database Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-20

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 8: D70048GC10_sg2,Oracle activity guide

Table of Contents

viii Essbase 11.1.1: Bootcamp

Dimension Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-21Block Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-22

Data Block Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-24Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-25DATACOPY Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-26Sparse Dimension Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-27Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-28

Database Calculation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-29Input Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-30Dense Dimension Calculation Process: Accounts . . . . . . . . . . . . . . . . . . . . . . . .11-31Dense Dimension Calculation Process: Time . . . . . . . . . . . . . . . . . . . . . . . . . . .11-32Sparse Dimension Calculation Process: Customer . . . . . . . . . . . . . . . . . . . . . . .11-33Sparse Dimension Calculation Process: Product. . . . . . . . . . . . . . . . . . . . . . . . .11-35

Lesson 12: Creating Calculation Scripts

Calculation Script Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2Information Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-6Housekeeping Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8Baseline Fix Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10Normalization Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12Main Rollup Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14Back Calculation Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15

Returning Correct Calculation Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16Expected Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17Correcting Calculated Percentages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-19Design Considerations for Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-22Preventing Consolidation of Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24Correcting Derived Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25Correcting Input Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-26

Troubleshooting CALC DIM Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28Viewing Calculation Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29Single-Pass Calculation with Incorrect Results . . . . . . . . . . . . . . . . . . . . . . . . . 12-31Multiple-Pass Calculation with Correct Results . . . . . . . . . . . . . . . . . . . . . . . . . 12-33

Lesson 13: Controlling the Calculation Process

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 9: D70048GC10_sg2,Oracle activity guide

Table of Contents

Essbase 11.1.1: Bootcamp ix

Boolean Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9Syntax Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-11

Comparing FIX and IF Calculation Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-13Number of Data Blocks Processed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14Number of Calculation Passes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16

Lesson 14: Referencing Members in Calculations

Referencing Members Explicitly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2Referencing Members Dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4

Referencing Sets of Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5Referencing Related Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7

Creating Calculation Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9Creating Temporary Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10Creating Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13

Module 5: Extending Analysis Capabilities

Lesson 15: Creating Attribute Dimensions

Attribute Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2Attribute Dimension Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3Attribute Calculations Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5

Adding Attribute Dimensions to Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-7Associating Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8Assigning Attributes in Outline Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10

Design Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-12Design Considerations: Database Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-14Design Considerations: Batch Calculation Performance . . . . . . . . . . . . . . . . . . 15-15Design Considerations: Report Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-16Design Considerations: Report Performance . . . . . . . . . . . . . . . . . . . . . . . . . . 15-19

Creating Attribute Dimensions with Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-20Adding Attribute Dimensions with Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . 15-22Assigning Attributes in Rules Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-23

Lesson 16: Analyzing Varying Attributes

Varying Attributes: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2Creating Varying Attributes: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3

Enabling Outlines for Varying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 10: D70048GC10_sg2,Oracle activity guide

Table of Contents

x Essbase 11.1.1: Bootcamp

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

Lesson 17: Analyzing Text and Dates

Typed Measures: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2Enabling Typed Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4Creating Text Measures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5

Creating Text Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6Populating Text Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7Associating Text Lists to Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-9Creating Date Measures (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10Creating Date Measures (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-11

Viewing Typed Measures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12Calculations Based on Typed Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13

Module 6: Appendices

Appendix A: Creating Advanced Calculations

Script Development Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2Calculation Test Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4Prototype Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6Pilot Phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9

Upper-Level Data Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13Aggregating Missing Values (1/1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14Aggregating Missing Values (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15Loading to Leaf Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-20

Intelligent Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23Data Block Marking: Clean Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25Data Block Marking: Dirty Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28Usage Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-30

Allocating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-32Calculating Fixed Rate Allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-34Calculating Dynamic Ratio Allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-36

Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-38Partitioning Calculations by Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-40Developing Normalization Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-42Developing Block Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45

Normalizing Rates and Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-47

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 11: D70048GC10_sg2,Oracle activity guide

Table of Contents

Essbase 11.1.1: Bootcamp xi

Copying and Clearing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-49Copying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-50Clearing Data with CLEARDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-52Clearing Data with CLEARBLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-54

Appendix B: Creating Reports with Essbase Spreadsheet Add-in

Essbase Spreadsheet Add-in Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2Installing the Essbase Menu and Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3Managing Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5

Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7Representing Multidimensional Data in Two-Dimensional Reports . . . . . . . . . . . . B-9Label Scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11

Manipulating Multidimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13Navigating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15Retaining and Removing Data Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17Pivoting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19

Managing Worksheet Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20Global Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21Zoom Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-23Style Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-25Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-27

Preserving Excel Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29Replicating Reports with Cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-31

Creating Cascade Reports (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-32Creating Cascade Reports (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-34

Selecting Members from the Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-35Defining Selection Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-37Applying Additional Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39

Creating Savable Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-41Query Designer Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-42Creating Basic Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-43

Creating Advanced Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-44Filtering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-45Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-47

Retrieving with Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-48

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 12: D70048GC10_sg2,Oracle activity guide

Table of Contents

xii Essbase 11.1.1: Bootcamp

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 13: D70048GC10_sg2,Oracle activity guide

M O D U L E 6

Appendices 17

OverviewThis 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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 14: D70048GC10_sg2,Oracle activity guide

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 15: D70048GC10_sg2,Oracle activity guide

A P P E N D I X A

Creating Advanced Calculations A

ObjectivesAt 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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 16: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-2 Essbase 11.1.1: Bootcamp

Script Development ProcessWhen 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Script Development Process

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 17: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-3

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

T I P

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 18: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-4 Essbase 11.1.1: Bootcamp

Calculation Test CycleWhen 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 CalculationTo 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Calculation Test Cycle

CLEARBLOCK ALL;

1

2

34

Changed calculation

script Test cycle

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 19: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-5

Implementing Test CyclesEvery time you change your script and need to test calculation results, follow these steps:

1. Clear all data from the database.

2. Load calculation test data.

3. Execute your calculation script.

4. Audit your calculation results.

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 20: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-6 Essbase 11.1.1: Bootcamp

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

T I P

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Prototype Phase

Input sheet

Audit sheet

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 21: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-7

Creating Test Input DataTo quickly check your results, you should create test data that is simple, easy to load, and easy to audit. It is not efficient to create prototype calculation scripts when using full or even partial sets of actual data, because the results require too much time to calculate and audit.

To create a simple data set for prototyping:

1. In Excel, create a spreadsheet workbook, with one or more input worksheets, that represents a focused set of accounts to be tested against a representative cross-section of sparse dimension members.

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

Creating Audit SheetsWhen 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

T I P

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.

T I P

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 22: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-8 Essbase 11.1.1: Bootcamp

• Expected calculation results: static data copied from a data source or calculated using Excel formulas (To protect Excel formulas during retrieval, enable formula preservation options. To protect numeric data during retrieval, place an equals sign (=) before the number. Addition of the equals sign converts the number to an Excel formula.)

• Comparison of Essbase calculation results and expected calculation results: Excel formulas calculating the difference between Essbase results and static data (This section enables you to see quickly and easily where Essbase results vary from expected results.)

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

Implementing Draft and Test CyclesAfter 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.

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

N O T E

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 23: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-9

Pilot PhaseWhen 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 OptimizationDuring 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Pilot Phase

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 24: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-10 Essbase 11.1.1: Bootcamp

The following tips can help you optimize the performance of your calculation scripts:

• Minimize the number of calculation passes in your script. Two calculation passes on a given set of data blocks require twice as much time as one pass, so use the pilot phase to ensure that all calculations that can be grouped are performed in a single pass.

• For each calculation pass, minimize the number of blocks that Essbase calculates. If Essbase does not need to calculate every existing data block, use FIX statements to focus calculation on the necessary blocks.

• Revise 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 TrappingThe 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 TestingTesting 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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 25: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-11

Additionally, because one of the primary objectives of this phase is to improve calculation performance, you need to mimic your production environment as much as possible and follow the sequence of production operations that you ordinarily follow. For example, upload data from the G/L, make outline modifications, and then run your calculation.

Although Excel should still be used in this phase to audit calculation results, you can automate the rest of your calculation test cycle by using a MaxL script. The following example clears the database, loads data files, and then runs a calculation script. The entire process is spooled to a log file, which shows database statistics before and after calculation.

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 26: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-12 Essbase 11.1.1: Bootcamp

from server text data_file 'Forecast' using server rules_file 'Loadcorp' on error write to 'c:\temp\forerr.txt';

/**********************************************//* Get pre-calculation database statistics*//**********************************************/

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

/*****************************//* Run calculation scripts*//*****************************/

execute calculation 'Bigcorp'.'Sales'.'CalcAll';

/***********************************************//* Get post-calculation database statistics*//***********************************************/

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

/* ********************************//* Close out process log and exit *//* ********************************/ spool off; exit;

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 27: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-13

Upper-Level Data LoadsBlock 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.”)

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Upper-Level Data Loads

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 28: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-14 Essbase 11.1.1: Bootcamp

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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Aggregating Missing Values (1/2)

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

Before calculation After calculation

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 29: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-15

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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Aggregating Missing Values (2/2)

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

Before calculation After calculation

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 30: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-16 Essbase 11.1.1: Bootcamp

Controlling Aggregate Missing Values BehaviorThere are two ways to control aggregate missing values behavior:

• Default database setting: New databases by default do not aggregate missing values. You can change the default setting on the General tab of the Database Properties dialog box.

• Calculation script: You can use the command SET AGGMISSG ON|OFF to control the aggregation of missing values on a script-by-script basis. This command overrides the default database setting and is typically included in the housekeeping section of the script.

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

T I P

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

Jan Feb Mar Qtr 1Labor 100 100 100 300

Material 50 50 50 150

Overhead 75 75 75 225

Cost of Sales 225 225 225 675

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 31: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-17

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

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 upper-level input data.

Expected Versus Correct ConsiderationsWhen 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.

O-Dell O-HP O-IBM OEMThunderball 270 A 1 2 3 4

Thunderball 540 A 5 6 7 8

Thunderball 9 10 11 12

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 32: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-18 Essbase 11.1.1: Bootcamp

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

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

You calculate the following script, making sure to include instructions to protect the data loaded in the upper-level block.

/* Housekeeping */SET UPDATECALC OFF;SET AGGMISSG OFF;

/* The Main Rollup */CALC DIM (Accounts, "Year Tot", Customer, Product);

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 33: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-19

/* The Back Calculation */("List Price" = "Gross Sales" / Units;"Discount %" = Discounts / "Gross Sales";"Labor/Unit" = "Direct Labor" / Units;"Matl/Unit" = Material / Units;"Overhead Rate" = Overhead / "Direct Labor";)

However, when you audit your results, you notice that, although totals for Net Sales, Cost of Sales and Other CGS are correct, totals for Gross Margin are not correct.

The incorrect totals for Gross Margin are due to calculation order: The Accounts dimension calculates first, creating Gross Margin totals in both level 0 bocks. When Customer and Product are calculated, Essbase aggregates the data that exists in the level 0 blocks. This aggregation creates incorrect totals for Gross Margin in the "Current Year"->"Family Total"->"Channel Total" block. The Other CGS data is protected during the aggregation by the SET AGGMISSG OFF command.

To correct the incorrect totals, you must calculate Gross Margin in the "Current Year"->"Family Total"->"Channel Total" block in a separate, additional calculation pass, such as a back calculation, that takes place after the main rollup. This problem can occur frequently when you work with multi-level inputs. If you have a large number of multi-level 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 upper-level input data.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 34: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-20 Essbase 11.1.1: Bootcamp

Loading to Leaf NodesAnother 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Loading to Leaf Nodes

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

Level 0 placeholder for Fami ly Total input data

Level 0 placeholder for Channel Total input data

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 35: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-21

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

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

You run the following calculation script. Because you no longer need to protect upper-level 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 */

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 36: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-22 Essbase 11.1.1: Bootcamp

("List Price" = "Gross Sales" / Units;"Discount %" = Discounts / "Gross Sales";"Labor/Unit" = "Direct Labor" / Units;"Matl/Unit" = Material / Units;"Overhead Rate" = Overhead / "Direct Labor";)

Your audit sheet shows the following correct results:

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 37: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-23

Intelligent CalculationA 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.”

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Intelligent Calculation

Only marked data blocks are recalculated:

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 38: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-24 Essbase 11.1.1: Bootcamp

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.

N O T E

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 39: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-25

Data Block Marking: Clean BlocksThe 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Data Block Marking: Clean Blocks

• Automatic intelligent calculation• Forced intelligent calculation• Forced data block marking

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 40: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-26 Essbase 11.1.1: Bootcamp

Automatic Intelligent CalculationWhen you execute a calculation script with a CALC ALL statement or with a CALC DIM statement that includes all dimensions, the intelligent calculation process performs the following actions:

• All previously existing input data blocks are calculated and marked clean.

• All data blocks created by the consolidation process are calculated and marked clean.

• All previously existing dirty blocks are calculated and marked clean.

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 41: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-27

The following example demonstrates the use of the SET CLEARUPDATESTATUS AFTER command:

SET CLEARUPDATESTATUS AFTERFIX (@IDESCENDANTS("Qtr 1"))

CALC DIM (Accounts);ENDFIX

Forced Block Marking Without CalculatingSET 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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 42: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-28 Essbase 11.1.1: Bootcamp

Data Block Marking: Dirty BlocksIf 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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

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

Data Block Marking: Dirty Blocks

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 43: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-29

Block Creation During Data InputBlocks created from a data input process are marked dirty as they are created. Blocks can be created during batch data load processes, by submitting data from Smart View for Office, by locking and sending data from Spreadsheet Add-in, or by using other direct input options.

Data ModificationBlocks that include modified data cells are marked dirty. For example, if, within a block, a line manager updates units, the block should be marked dirty because revenues, costs, and margin are now incorrect and need recalculating.

Creation or Modification of Descendant BlocksIntelligent 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 RestructureOutline 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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 44: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-30 Essbase 11.1.1: Bootcamp

Usage ConsiderationsOccasionally, 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 PositivesFalse 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Usage Considerations

Maintain clean and dirty status of blocks:• False negatives affect calculation efficiency• False positives affect data integrity

False positive

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 45: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-31

• Calculating a back calculation after calculating all dimensions. A false positive can prevent the required second calculation pass, which corrects upper-level rates and percentages. The false positive condition occurs if the CALC DIM portion of a script engages intelligent calculation, which marks all blocks clean during the CALC DIM process. When Essbase processes the back calculation portion of the script, no data blocks are calculated because all blocks are marked clean.

• Using a FIX statement. Ancestors of a dirty block are not marked dirty until the descendant dirty block is calculated. A false positive can result if the descendant dirty block is calculated within a FIX statement that does not include the dirty ancestor block. After calculation, Essbase marks the descendant block clean, and the ancestor block remains marked clean, although it should be marked dirty.

• Following SET CLEARUPDATESTATUS ONLY with unrelated calculations. You should follow SET CLEARUPDATESTATUS ONLY with a repetition of the section of the script for which you want to force data-block marking. A false positive can occur if SET CLEARUPDATESTATUS ONLY touches blocks that are otherwise dirty and that are not correctly calculated.

Usage GuidelinesIntelligent 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 Administrator’s 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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 46: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-32 Essbase 11.1.1: Bootcamp

Allocating DataAs 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 upper-level 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Allocating Data

Upper-level input allocation:

1

15% 45% 40%

100%

23

15% 45% 40%

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 47: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-33

3. Consolidate data using a CALC ALL or CALC DIM statement (For upper-level input data, the statement overwrites the original input).

T I P

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 48: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-34 Essbase 11.1.1: Bootcamp

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Calculating Fixed Rate Allocations

15% 45% 10% 30%

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 49: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-35

/* Allocate IT Expense */"IT Exp Finance" = "IT Exp" * "Corp HQ"->FinancePct;"IT Exp Sales" = "IT Exp" * "Corp HQ"->SalesPct;"IT Exp HR" = "IT Exp" * "Corp HQ"->HRPct;"IT Exp Mktg" = "IT Exp" * "Corp HQ"->MktgPct;

/* Allocate Administrative Expense */"Admin Exp Finance" = "Admin Exp" * "Corp HQ"->FinancePct;"Admin Exp Sales" = "Admin Exp" * "Corp HQ"->SalesPct;"Admin Exp HR" = "Admin Exp" * "Corp HQ"->HRPct;"Admin Exp Mktg" = "Admin Exp" * "Corp HQ"->MktgPct;

Alternatively, you can define temporary variables in your calculation script to store percentages temporarily, as in the following example.

/* Information Assumptions: 1) Expenses are loaded to generic expense accounts and then allocated to

department-specific accounts based on fixed percentages.*//* Housekeeping *//* Define fixed allocation percentages for each department */VAR FinanceAlloc = .15;VAR SalesAlloc = .45;VAR HRAlloc = .10;VAR MktgAlloc = .30;

/* Allocate IT Expense */"IT Exp Finance" = "IT Exp" * FinanceAlloc;"IT Exp Sales" = "IT Exp" * SalesAlloc;"IT Exp HR" = "IT Exp" * HRAlloc;"IT Exp Mktg" = "IT Exp" * MktgAlloc;

/* Allocate Administrative Expense */"Admin Exp Finance" = "Admin Exp" * FinanceAlloc;"Admin Exp Sales" = "Admin Exp" * SalesAlloc;"Admin Exp HR" = "Admin Exp" * HRAlloc;"Admin Exp Mktg" = "Admin Exp" * MktgAlloc;

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 50: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-36 Essbase 11.1.1: Bootcamp

Calculating Dynamic Ratio AllocationsIn 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);

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Calculating Dynamic Ratio Allocations

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

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

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

Allocation ratios:

O-IBM O-Dell O-Acer

Customer

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 51: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-37

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

T I P

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 52: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-38 Essbase 11.1.1: Bootcamp

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Normalization

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

2

1

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 53: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-39

In block storage databases, normalization is required when you load data to data blocks other than the blocks that are the intended, final target for the data, as described in the following examples:

• You load total miscellaneous expenses to a block that represents the total of all customers and all products. Prior to consolidating the database, you allocate total miscellaneous expenses to each individual, product-customer block (level 0) based on the percentage of total units sold in each level 0 block.

• You load total IT expenses to a level 0 block for a corporate headquarters entity. Prior to consolidating the database, you allocate total IT expenses to each office location (level 0) based on the percentage of total headcount for each office.

The common thread in the examples is that the calculations are required to happen prior to consolidation of the database. Normalization is a general umbrella for any data manipulation that needs to occur after data input and before main database consolidation.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 54: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-40 Essbase 11.1.1: Bootcamp

Partitioning Calculations by ScenarioFor 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).

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Partitioning Calculations by Scenario

One accounts model, multiple calculation requirements:• Actual data:

– Input dollars and units– Derive rates

• Budget data:– Input units and rates– Derive dollars

• Forecast data:– Input units and rates– Derive dollars

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 55: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-41

• Inputs for forecast data are similar to inputs for budget data, but the level of detail is different, depending on what kind of forecasting you need. For example, in a sales forecasting application, forecast data can have very detailed customer information.

• Inputs for actual data are typically dollars and units, and rates are derived through calculation. In contrast to budget data, actual data often contains more revenue detail by customer and less overhead detail.

Because of the type and level of inputs for each scenario, different scenarios often require different data load procedures and different calculation scripts.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 56: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-42 Essbase 11.1.1: Bootcamp

Developing Normalization TablesBefore 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Developing Normalization Tables

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 57: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-43

Determining What Dimensions Require NormalizationBefore building a normalization table, determine how many dimensions require normalization in each scenario. To accomplish this task, examine your input data. The following example represents budget input data for Bigcorp Sales.

In this example, a value of 73,000 is loaded to the intersection Budget->"Material Variances"->Jan->"Family Total"->"Channel Total". Examine the full cell address, one dimension at a time, to determine whether data must move along the dimension.

Based on this analysis, Bigcorp Sales budget data requires normalization in two dimensions: Product and Customer.

Creating Normalization TablesNormalization 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.

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 58: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-44 Essbase 11.1.1: Bootcamp

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

A blank normalization table template looks like the following example.

Completing Normalization TablesAfter 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.

Column Name DescriptionData 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.)

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 59: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-45

Developing Block DiagramsAnother 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.

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.

N O T E

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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Developing Block Diagrams

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 60: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-46 Essbase 11.1.1: Bootcamp

Although normalizations can have interim steps, the final destination, or target block, for normalized data is a level 0 block. To build a block diagram, start with a single target block in the lower left corner. This block is an arbitrary selection to enable creation of a representative slice of your database.

After creating your diagram, analyze your input data and mark on the diagram the blocks to which data is loaded. Marking helps you visualize the movement of data required during normalization.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 61: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-47

Normalizing Rates and DriversRates 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";

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Normalizing Rates and Drivers

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 62: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-48 Essbase 11.1.1: Bootcamp

• Multiple member input: When you load rates to multiple members in the dimension being normalized, normalize using dynamic references. In the example on the slide, the list price for each product is loaded to customer channels; there are different prices for OEM, Retail, and Distributor customers. To calculate List Price in the target blocks, use the following formula:

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 63: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-49

Copying and Clearing DataAs 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 DescriptionDATACOPY 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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Copying and Clearing Data

• DATACOPY• CLEARDATA• CLEARBLOCK

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 64: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-50 Essbase 11.1.1: Bootcamp

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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Copy entire blocks

Copy slices of blocks

Copying Data

DATACOPY "Current Year" TO "Forecast"

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

Current YearO-IBM

Lightbolt 365 A

ForecastO-IBM

Lightbolt 365 A

Current YearO-IBM

Lightbolt 365 A

ForecastO-IBM

Lightbolt 365 A

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 65: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-51

Guidelines for DATACOPY:• You can use the cross-dimensional operator in the DATACOPY command, but the

destination member combination cannot be more specific than the source member combination. For example, the following formula results in an error at runtime:

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

However, the source member combination can be more specific than the destination member combination. For the following formula, Essbase fills in the missing member at runtime:

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

When Essbase executes the preceding formula at runtime, it calculates the following combination of members:

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

• If the source and destination member combinations are all dense member references, Essbase does not create data blocks. For example, the following calculation is executed only in existing data blocks:

DATACOPY Jan TO Feb;

However, if any member of the member combinations for the source or destination is sparse, Essbase creates data blocks, if they do not exist.

• You can use DATACOPY commands inside FIX statements, but not inside IF statements.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 66: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-52 Essbase 11.1.1: Bootcamp

Clearing Data with CLEARDATAIf 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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

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

sparse

Clearing Data with CLEARDATA

FIX(@Children("Qtr 1")

CLEARDATA "Current Year";

ENDFIX

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 67: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-53

• You can use a cross-dimensional operator to create valid member combinations in a CLEARDATA statement. For example, the following statement clears Budget data for only the O-IBM customer.

CLEARDATA Budget->"O-IBM";

• The CLEARDATA command removes data blocks only when all members referenced in the statement are sparse. If any member is dense, the command clears only data cells. For example, in Bigcorp Sales, the following command removes all Current Year data blocks for R-Gateway, because both Scenario and Customer are sparse dimensions.

CLEARDATA "Current Year"->"R-Gateway";

However, when you add a dense dimension, like Year Tot, to the member combination, as in the following example, the command clears cells in the Current Year data blocks for R-Gateway, but it does not remove the blocks.

CLEARDATA "Current Year"->"R-Gateway"->Jan;

• You cannot use CLEARDATA in an IF statement.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 68: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-54 Essbase 11.1.1: Bootcamp

Clearing Data with CLEARBLOCKRather 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 DescriptionALL 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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Clearing Data with CLEARBLOCK

• Removes entire blocks• Can clear cells without removing blocks

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 69: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

Essbase 11.1.1: Bootcamp A-55

Guidelines for CLEARBLOCK:• If you use CLEARBLOCK inside a FIX statement on dense dimension members,

Essbase clears only the data cells within the fixed range and does not remove data blocks. In the following example, the CLEARBLOCK command clears data only for January cells in the Current Year scenario:

FIX(Jan, "Current Year")CLEARBLOCK ALL;

ENDFIX

• You cannot use CLEARBLOCK in an IF statement.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 70: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix A Creating Advanced Calculations

A-56 Essbase 11.1.1: Bootcamp

SummaryIn this lesson, you should have learned to:

• Describe the script development process

• Implement methods for working with upper-level data loads

• Describe intelligent calculation behavior

• Allocate date with calculation scripts

• Describe and plan data normalization

• Normalize rates and drivers

• Copy and clear data

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 71: D70048GC10_sg2,Oracle activity guide

A P P E N D I X B

Creating Reports with Essbase Spreadsheet Add-in B

ObjectivesAt 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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 72: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-2 Essbase 11.1.1: Bootcamp

Essbase Spreadsheet Add-in OverviewEssbase 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Spreadsheet Add-in Overview

• Is a software program that is embedded in a client spreadsheet application

• Enables you to retrieve data, create ad hoc reports, and analyze data

• Provides the interface that integrates Excel and Essbase

Microsoft Excel with Spreadsheet Add-in

Essbase Server Essbase database

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 73: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-3

Installing the Essbase Menu and ToolbarIf 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Installing the Essbase Menu and Toolbar

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

Essbase toolbar

Essbase menu

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 74: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-4 Essbase 11.1.1: Bootcamp

To unregister Essbase Spreadsheet Add-in

• From the Windows desktop, select Start > Programs > Hyperion > Essbase Client > Unregister Spreadsheet Add-in.

Essbase Spreadsheet Add-in features a convenient toolbar that displays buttons for accessing most of the common Essbase menu commands without opening the Essbase menu. You can view a short description of a button on the toolbar by moving your cursor over the button.

Prior to using the Essbase toolbar for Excel, you must install the toolbar by opening an Excel file that is provided as part of the default Essbase installation. You do not have to perform the toolbar installation procedure again unless you delete the Essbase toolbar from the Toolbars dialog box in Excel.

To install the Essbase toolbar:

1. In Excel, select File > Open.

2. From the x:\...\AnalyticServices\client\sample directory, open esstoolb.xls.

Macros embedded in this file install the Essbase toolbar.

3. Select File > Close to close esstoolb.xls.

You do not need to modify or save the file.

N O T E

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 75: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-5

Managing Database ConnectionsBefore 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Managing Database Connections

1

3

4

2 5

1

3

4

2

Disconnecting from databasesConnecting to databases

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 76: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-6 Essbase 11.1.1: Bootcamp

• If you have at least one established connection, the system does not prompt you to connect again on subsequent worksheets, but uses the last requested connection.

To connect to a database:

1. Select Essbase > Connect.

The Essbase System Login dialog box is displayed.

2. From the Server drop-down list, select an Essbase Server instance.

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

Application and database names are displayed for the selected server.

4. Select an application-database pair.

5. Click OK.

To disconnect from a database:

1. Select Essbase > Disconnect.

The Essbase Disconnect dialog box is displayed.

2. Select a worksheet connection.

3. Click Disconnect to disconnect the selected worksheet.

4. Click Close.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 77: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-7

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Retrieving Data

When you select Essbase > Retrieve, Essbase returns top-level data into an empty spreadsheet.

Excel Essbase Server Essbase database

1

3

4

2

Top- level data

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 78: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-8 Essbase 11.1.1: Bootcamp

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.

T I P

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 79: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-9

Representing Multidimensional Data in Two-Dimensional ReportsIn 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Representing Multidimensional Data in Two-Dimensional Reports

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

Data cells

Columnlabels

Row labels

Header labels

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 80: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-10 Essbase 11.1.1: Bootcamp

• The Year Tot dimension, represented by quarters, is displayed as columns of the spreadsheet. The Current Year and Prior Year members of the Scenario dimension are also displayed in the columns of the spreadsheet.

• The cells, the intersections of the rows and columns, combined with the header information represent the data values. For example, the first data value in cell B4, 910,669.50, represents net sales of Lightbolt hard drives to OEM customers in the first quarter of the current year.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 81: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-11

Label ScanningWhen 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 RulesThe 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Label Scanning

• General rules• Header rules• Row and column rules

Columnlabels

Headerlabels

Rowlabels

Row labels

Columnlabels

Header labels

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 82: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-12 Essbase 11.1.1: Bootcamp

• 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 RulesThe following rules apply to the scanning process for the header section:

• Only one member from a dimension can be displayed.

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

• If a dimension 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 RulesThe 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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 83: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-13

Manipulating Multidimensional DataAfter 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Manipulating Multidimensional Data

Multidimensional operations• Navigation • Pivot

Editing commands• Retain• Remove• Flashback

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 84: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-14 Essbase 11.1.1: Bootcamp

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

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 85: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-15

Navigating DataYou can navigate data, based on the outline hierarchy. Essbase Spreadsheet Add-in provides three commands that support navigation operations.

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Navigating Data

• Select Essbase > Zoom In to drill down.

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

• Select Essbase > Zoom Out to drill up.• Select Essbase > Navigate Without Data to turn automatic

data retrieval on or off.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 86: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-16 Essbase 11.1.1: Bootcamp

Zooming OutYou zoom out (drill up) to navigate to higher levels in the multidimensional database by collapsing the current member tree. For example, if you previously drilled down on the Year Tot dimension to view data for quarters, you can drill up to view aggregate data for the whole year.

Navigating Without DataYou 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 OptionsZoom 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 dimension—reposition on rows

Zoom in (drill down) on a header dimension.

Zoom in (drill down) on a header dimension—reposition on columns

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

Navigate without data • Select Essbase > Navigate Without Data.

• Click .

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 87: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-17

Retaining and Removing Data SubsetsEssbase 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Retaining and Removing Data Subsets

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

Remove OnlyKeep Only

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 88: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-18 Essbase 11.1.1: Bootcamp

To keep only or remove only:

The following table describes the procedures for these operations.

Operation Procedure OptionsKeep only • Select Essbase > Keep Only.

• Click .

Remove only • Select Essbase > Remove Only.

• Click .

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 89: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-19

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

T I P

You cannot pivot the last column or row dimension.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Pivoting Data

Column groupRow group

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 90: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-20 Essbase 11.1.1: Bootcamp

Managing Worksheet OptionsEssbase 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Managing Worksheet Options

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

Options specific to the user environment

Style and color formatting options

Advanced options

Zoom in options

Options specific to individual worksheets

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 91: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-21

Global OptionsGlobal options are specific to the user environment. Global option settings apply to all worksheets and workbooks.

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Global Options

Global options control options specific to the user environment:• Mouse Actions

• Memory: Enable Flashback• Mode: Navigate without Data

Primary button• Retrieve• Drill down

Secondary button• Drill up• Pivot

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 92: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-22 Essbase 11.1.1: Bootcamp

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.

MemoryYou can turn on or off the Flashback functionality that stores the current view before processing retrievals or pivoting. Disabling Flashback conserves memory.

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

N O T E

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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 93: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-23

Zoom OptionsZoom options are specific to individual worksheets. Each sheet can have its own zoom settings. Zoom settings are saved with the Excel workbook.

Zoom InZoom In options enable you to control zoom behavior. Zoom In has the following settings:

Option DescriptionNext Level Navigates to the next level in the hierarchy—default 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Zoom Options

All levels

Next level

Bottom level

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 94: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-24 Essbase 11.1.1: Bootcamp

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

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.

Option Description

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 95: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-25

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

N O T E

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Style Options

• Define one set of styles per database connection.

• Enable styles for specific worksheets on the Display tab.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 96: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-26 Essbase 11.1.1: Bootcamp

The following table describes the three style categories:

Category DescriptionMember 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. In the example on the slide, parent members of every dimension are displayed with a bold blue font.

Dimension styles Set font characteristics and backgrounds for each dimension in your database. When both dimension and member styles apply, the member style takes precedence. In the example on the slide, Jan, Feb, and Mar are displayed with the white font defined for the Year Tot dimension, but Qtr 1 is displayed with the bold blue font defined for parents.

Data cell styles Set font characteristics on data cells themselves (not member labels) for distinguishing linked reporting objects, integration server drill-through links, read-only data, and read-write data.

N O T E

For more information about linked reporting objects (LROs), read the Database Administrator’s Guide. For a comprehensive discussion of Integration Server drill-through links, read the Essbase Spreadsheet Add-in User’s Guide for Excel.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 97: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-27

Display OptionsDisplay options are specific to individual worksheets. Each sheet can have its own settings.

IndentationThree levels of indentation are provided: Totals, Subitems, and None.

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Display Options

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 98: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-28 Essbase 11.1.1: Bootcamp

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

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

• Use Aliases: Use aliases according to the selected alias table. Members with no aliases default to the member name.

• Use Both Member Names and Aliases: Use both member names and aliases for row dimension labels. The result may be distracting in rows with multiple grouped dimensions. If a member has no alias, the member name is presented twice. This feature is not functional for columns.

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

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 99: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-29

Preserving Excel FormulasBy 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Preserving Excel Formulas

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 100: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-30 Essbase 11.1.1: Bootcamp

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

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.

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 101: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-31

Replicating Reports with CascadeWith 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Replicating Reports with Cascade

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 102: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-32 Essbase 11.1.1: Bootcamp

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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Creating Cascade Reports (1/2)

3

2

1

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 103: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-33

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

Cascade Level DescriptionNext 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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 104: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-34 Essbase 11.1.1: Bootcamp

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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Creating Cascade Reports (2/2)

4

5

6

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 105: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-35

Selecting Members from the OutlineYour 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Selecting Members from the Outline

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

Saved selectionmyselect.sel

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 106: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-36 Essbase 11.1.1: Bootcamp

To define selection rules:

1. From the Dimension drop-down list, select a dimension.

The selected dimension and its members are displayed under Members.

2. Under View Method, select one of the following options for copying members to the spreadsheet:

• By Member Name: Enables you to select members and their descendants from the dimension hierarchy.

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

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.

Selection Option DescriptionPlace 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.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 107: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-37

Defining Selection RulesAfter 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 DescriptionAll 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Defining Selection Rules

Year Tot

Qtr 1

Jan

Feb

Mar

Qtr 2

Apr

All Children and Member

All children 2

1

4

3

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 108: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-38 Essbase 11.1.1: Bootcamp

3. Click Preview.

The Member Preview dialog box is displayed.

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

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

Selection Option Description

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 109: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-39

Applying Additional RulesThe 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Applying Additional Rules

1

4

3

2

5

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 110: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-40 Essbase 11.1.1: Bootcamp

2. Define the selection conditions.

The conditions are displayed under Conditions.

3. Optional: Click Add (, Add ), Remove ( ), or Remove All ( ) to group conditions or remove groupings.

4. Click Preview, review the list meeting the criteria, and then click Close.

5. Click OK.

Additional rules are displayed under the member in the Essbase Member Selection dialog box.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 111: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-41

Creating Savable QueriesEssbase 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Creating Savable Queries

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

Saved report scr iptMyQuery.rep

Saved queryMyQuery.eqd

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 112: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-42 Essbase 11.1.1: Bootcamp

Query Designer InterfaceThe Query Designer interface is separated into three frames: navigation, properties, and hint.

Navigation FrameYou create and apply a query in the navigation frame. The frame displays all database dimensions and provides access to the properties frames.

Properties FramesIn 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 FrameThis 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Query Designer Interface

Propertiesframe

Navigationframe

Hintframe

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 113: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-43

Creating Basic QueriesAfter you connect to a database and launch Query Designer, you can create a query.

To create a query:

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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Creating Basic Queries

1

2

3

4

5

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 114: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-44 Essbase 11.1.1: Bootcamp

Creating Advanced QueriesQuery 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)

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Creating Advanced Queries

• Ranking data (top or bottom)• Filtering data• Sorting data

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 115: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-45

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Filtering Data

• Rank data• Compare data to a value• Compare one column to

another• Filter out missing data

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 116: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-46 Essbase 11.1.1: Bootcamp

Filtering Queries ExampleYou create the following query for Bigcorp Sales, which returns a basic year over year report of Net Sales for individual customers in January for the Lightbolt product line.

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 117: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-47

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

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Sorting Data

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 118: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-48 Essbase 11.1.1: Bootcamp

Retrieving with Report ScriptsEssbase 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.

Copyrigh t © 2 008, Oracle . All r ig hts reserved.

Retrieving with Report Scripts

Create dynamic report templates.

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 119: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

Essbase 11.1.1: Bootcamp B-49

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

Using Report Script CommandsWhen 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:

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 Administrator’s Guide.

Preserving Dimension PositionsTemplate 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.

.

N O T E

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

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

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y

Page 120: D70048GC10_sg2,Oracle activity guide

Module 6 AppendicesAppendix B Creating Reports with Essbase Spreadsheet Add-in

B-50 Essbase 11.1.1: Bootcamp

SummaryIn this lesson, you should have learned to:

• Describe Essbase Spreadsheet Add-in

• Install Essbase Spreadsheet Add-in

• Retrieve data into a Microsoft Excel worksheet

• Manage worksheet options

• Preserve Microsoft Excel formulas in a worksheet

• Replicate spreadsheet reports with the Cascade option

• Design spreadsheet reports by selecting members from the outline

• Create savable queries

• Create advanced queries

• Retrieve with report scripts

Ora

cle

Inte

rnal

& O

racl

e A

cade

my

Use

Onl

y