D70048GC10_sg2,Oracle activity guide
March 25, 2017 | Author: Nikhil Luthra | Category: N/A
Short Description
Oracle essbase bootcamp For certification...
Description
Volume II • Student Guide
D70048GC10 Edition 1.0 September 2008 D56250
®
Oracle Internal & Oracle Academy Use Only
Oracle Essbase 11.1.1: Bootcamp
Authors
Copyright © 2008, Oracle. All rights reserved.
Lisa Alexander Jumal Qazi
Disclaimer
Shubho Bhattacharya Art Hetherington Saju Philips Sergiy Percherskyy Aneel Shenker Yulia Stolerman
Editors Susan Moxley Jennifer Stout
Graphic Editors Asha Thampy Satish Bettegowda
The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Restricted Rights Notice If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS The U.S. 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.
Oracle Internal & Oracle Academy Use Only
Technical Contributors and Reviewers
This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle.
Table of Contents
0
Course Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Course Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Course Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Student Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Activity Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Future Courses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Module 1: Creating Databases Lesson 1: Essbase Overview Multidimensional Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Spreadsheet-Based Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Multidimensional View of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Data Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Dimension Hierarchies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Operations in Multidimensional Data Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Sparse and Dense Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11 Oracle’s Enterprise Performance Management System . . . . . . . . . . . . . . . . . . . . . . 1-12 Oracle BI Suite Enterprise Edition Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15 Essbase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18 Essbase Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Essbase Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20 Administration Services Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23 Production Environment Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25 Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26 Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27 Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-29 Smart View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31 Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32 Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33 Essbase Studio and Data Warehousing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34
Oracle Internal & Oracle Academy Use Only
Preface
Table of Contents
Block Storage Implementation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Analyzing and Planning Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Identifying Business Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Examining Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Analyzing Sample Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 Designing Block Storage Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Creating Applications and Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 Creating Block Storage Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 Creating Block Storage Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 Server File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 Design Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 Creating Outline Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 Creating Dimensions and Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 Moving Dimensions and Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 Modifying Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
Lesson 3: Designing Data Descriptor Dimensions Data Descriptor Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 Designing Time Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Generic Time Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 Fiscal Year Crossover Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Designing Scenario Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Tracking Data Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Tracking Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11 Outline Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 Consolidation Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 Shared Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Designing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 Consolidation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 Design Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Creating Accounts Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 Testing Outline Calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 Intelligent Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 Setting the Default Database Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
Lesson 4: Optimizing Data Descriptor Dimensions Creating Member Aliases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 iv
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Lesson 2: Designing Applications and Databases
Dimension Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Creating Period-to-Date Totals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Creating Period-to-Date Calculated Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6 Implementing Dynamic Time Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 Dynamic Calc Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-11 Enhancing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 Time Balance Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Expense Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 Optimizing Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Label Only Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19 Implied Shares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
Module 2: Building Rules Files Lesson 5: Planning Dimension Designs Business View Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 Combining Business Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Planning Dimensions with Label Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Designing Primary Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 Designing Secondary Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-11
Lesson 6: Creating Basic Dimension Build Rules Files Rules Files Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Dimension Build Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Creating Dimension Build Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 Prepping Data Prep Editor (Steps 1–6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Creating Dimensions (Step 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 Selecting Dimension Build Method (Step 8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 Defining Field Properties (Step 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 Validating Dimension Build Rules Files (Step 10) . . . . . . . . . . . . . . . . . . . . . . . . 6-20 Completing Dimension Build Rules Files (Steps 11 and 12) . . . . . . . . . . . . . . . . 6-22 Configuring Dimension Maintenance Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 Moving Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25 Modifying Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 Sorting Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29 Updating Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31
Essbase 11.1.1: Bootcamp
v
Oracle Internal & Oracle Academy Use Only
Table of Contents
Table of Contents
Lesson 7: Creating Advanced Dimension Build Rules Files
Lesson 8: Loading Data Data Load Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Free-form Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Data Sources That Require Rules Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 Creating Data Load Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Prepping Data Prep Editor (Steps 1–6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 Defining Field Properties (Step 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-11 Referencing Missing Dimensions (Step 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 Setting Data Load Values Options (Step 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 Validating Data Load Rules Files (Step 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 Completing Data Load Rules Files (Steps 11 and 12) . . . . . . . . . . . . . . . . . . . . . 8-20 Selecting and Rejecting Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 Capturing New Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24
Module 3: Reporting with Smart View Lesson 9: Getting Started with Smart View Smart View Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 Smart View and Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 Smart View Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 Smart View Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 Configuring Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 Configuring Provider Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 Connecting to Essbase Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-11 Creating Ad Hoc Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15 Display of Multidimensional Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17
vi
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Advanced Dimension Build Rules Files Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 Creating Shared Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Parent-Child Build Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 Other Methods for Creating Shared Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 Manipulating Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 Arranging Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Altering and Ignoring Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 Creating User-Defined Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14
Table of Contents
Label Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Point of View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Filtering Dimension Member Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-19 9-21 9-22 9-24
Manipulating Multidimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 Navigating Through Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 Retaining and Removing Data Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 Pivoting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 Updating Essbase Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9 Adjusting Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 Submitting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 Calculating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13 Integrating Essbase Data with Microsoft Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15 Copying Dynamic Data Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 Creating Linked Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19 Customizing the User Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21 Smart Slices Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22 Creating Smart Slices (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24 Creating Smart Slices (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26 Adding Queries and Subqueries to Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27 Interactive Report Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-29 Creating Reports with Report Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30
Module 4: Creating Basic Calculations Lesson 11: Data Storage and Calculation Calculation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-2 Outline-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-4 Script-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-5 Calculation Script Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-8 Database Calculation Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-9 Data Block Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-11 Data Blocks and the Index System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-12 Data Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-14 Dense Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-16 Sparse Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-18 Database Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-20 Essbase 11.1.1: Bootcamp
vii
Oracle Internal & Oracle Academy Use Only
Lesson 10: Creating Reports with Smart View
Dimension Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-21 Block Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-22 Data Block Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-24 Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-25 DATACOPY Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-26 Sparse Dimension Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-27 Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-28 Database Calculation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-29 Input Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-30 Dense Dimension Calculation Process: Accounts . . . . . . . . . . . . . . . . . . . . . . . .11-31 Dense Dimension Calculation Process: Time . . . . . . . . . . . . . . . . . . . . . . . . . . .11-32 Sparse Dimension Calculation Process: Customer . . . . . . . . . . . . . . . . . . . . . . .11-33 Sparse Dimension Calculation Process: Product. . . . . . . . . . . . . . . . . . . . . . . . .11-35
Lesson 12: Creating Calculation Scripts Calculation Script Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2 Information Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-6 Housekeeping Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8 Baseline Fix Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10 Normalization Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12 Main Rollup Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14 Back Calculation Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-15 Returning Correct Calculation Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16 Expected Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17 Correcting Calculated Percentages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-19 Design Considerations for Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-22 Preventing Consolidation of Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24 Correcting Derived Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25 Correcting Input Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-26 Troubleshooting CALC DIM Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28 Viewing Calculation Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29 Single-Pass Calculation with Incorrect Results . . . . . . . . . . . . . . . . . . . . . . . . . 12-31 Multiple-Pass Calculation with Correct Results . . . . . . . . . . . . . . . . . . . . . . . . . 12-33
Lesson 13: Controlling the Calculation Process Top-Down Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 Focusing Calculations with FIX Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4 Calculating Conditionally with IF Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-7
viii
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Table of Contents
Table of Contents
Boolean Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9 Syntax Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-11 Comparing FIX and IF Calculation Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-13 Number of Data Blocks Processed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 Number of Calculation Passes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16
Referencing Members Explicitly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 Referencing Members Dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4 Referencing Sets of Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5 Referencing Related Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7 Creating Calculation Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9 Creating Temporary Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10 Creating Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13
Module 5: Extending Analysis Capabilities Lesson 15: Creating Attribute Dimensions Attribute Dimensions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2 Attribute Dimension Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3 Attribute Calculations Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5 Adding Attribute Dimensions to Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-7 Associating Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8 Assigning Attributes in Outline Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10 Design Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-12 Design Considerations: Database Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-14 Design Considerations: Batch Calculation Performance . . . . . . . . . . . . . . . . . . 15-15 Design Considerations: Report Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-16 Design Considerations: Report Performance . . . . . . . . . . . . . . . . . . . . . . . . . . 15-19 Creating Attribute Dimensions with Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-20 Adding Attribute Dimensions with Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . 15-22 Assigning Attributes in Rules Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-23
Lesson 16: Analyzing Varying Attributes Varying Attributes: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2 Creating Varying Attributes: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3 Enabling Outlines for Varying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
Essbase 11.1.1: Bootcamp
ix
Oracle Internal & Oracle Academy Use Only
Lesson 14: Referencing Members in Calculations
Table of Contents
Defining Ranges of Variances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-7 Viewing Varying Attribute Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-9
Typed Measures: Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2 Enabling Typed Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4 Creating Text Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5 Creating Text Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6 Populating Text Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7 Associating Text Lists to Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-9 Creating Date Measures (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10 Creating Date Measures (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-11 Viewing Typed Measures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12 Calculations Based on Typed Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13
Module 6: Appendices Appendix A: Creating Advanced Calculations Script Development Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 Calculation Test Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4 Prototype Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6 Pilot Phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9 Upper-Level Data Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13 Aggregating Missing Values (1/1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14 Aggregating Missing Values (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15 Loading to Leaf Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-20 Intelligent Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23 Data Block Marking: Clean Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25 Data Block Marking: Dirty Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28 Usage Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-30 Allocating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-32 Calculating Fixed Rate Allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-34 Calculating Dynamic Ratio Allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-36 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-38 Partitioning Calculations by Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-40 Developing Normalization Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-42 Developing Block Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45 Normalizing Rates and Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-47
x
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Lesson 17: Analyzing Text and Dates
Table of Contents
Copying and Clearing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clearing Data with CLEARDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clearing Data with CLEARBLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A-49 A-50 A-52 A-54
Essbase Spreadsheet Add-in Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2 Installing the Essbase Menu and Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 Managing Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5 Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 Representing Multidimensional Data in Two-Dimensional Reports . . . . . . . . . . . . B-9 Label Scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11 Manipulating Multidimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13 Navigating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15 Retaining and Removing Data Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17 Pivoting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19 Managing Worksheet Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20 Global Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21 Zoom Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-23 Style Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-25 Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-27 Preserving Excel Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29 Replicating Reports with Cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-31 Creating Cascade Reports (1/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-32 Creating Cascade Reports (2/2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-34 Selecting Members from the Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-35 Defining Selection Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-37 Applying Additional Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39 Creating Savable Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-41 Query Designer Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-42 Creating Basic Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-43 Creating Advanced Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-44 Filtering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-45 Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-47 Retrieving with Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-48
Essbase 11.1.1: Bootcamp
xi
Oracle Internal & Oracle Academy Use Only
Appendix B: Creating Reports with Essbase Spreadsheet Add-in
Oracle Internal & Oracle Academy Use Only
Table of Contents
xii
Essbase 11.1.1: Bootcamp
M O D U L E
6
Appendices
17
This module contains appendices to provide information about additional features of Essbase not covered in this course. Appendices include: • Creating Advanced Calculations • Creating Reports with Essbase Spreadsheet Add-in
Oracle Internal & Oracle Academy Use Only
Overview
Oracle Internal & Oracle Academy Use Only
A P P E N D I X
A
Creating Advanced Calculations
A
At the end of this appendix, you should be able to: • Describe the script development process • Implement methods for working with upper-level data loads • Describe intelligent calculation behavior • Allocate date with calculation scripts • Describe and plan data normalization • Normalize rates and drivers • Copy and clear data
Oracle Internal & Oracle Academy Use Only
Objectives
Module 6 Appendices Appendix A Creating Advanced Calculations
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Script Development Process When you draft calculation scripts, avoid developing and testing them on your full database. Because calculating in a multidimensional environment is a complex process, develop and test calculation scripts incrementally, writing line-by-line and implementing frequent test cycles. Developing and testing calculation scripts on full, real-world databases presents two fundamental problems: • Calculation test-cycle times are substantially increased when full databases are tested. Long calculation times inhibit incremental development and testing, which are necessary in the Essbase data structure, where calculation dependencies are complex and multidimensional impacts may not be immediately obvious.
A-2
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Script Development Process
Module 6 Appendices Appendix A Creating Advanced Calculations • Real-world data is often more difficult to audit than test data. As you develop scripts, you should focus on the technical accuracy of your calculation formulas and not attempt to tie results to prescribed control totals. It is typically easier to trace calculations and dependencies with contrived test data than with real-world data. The calculation script development process has two phases: 1. Prototype Phase: You develop scripts and test them for baseline accuracy. 2. Pilot Phase: You test scripts for performance and capture of exception conditions. After you finish building your outline, you should separate the calculation script development process from the rules file development process to avoid cross-contamination of the data sets required for the processes.
Essbase 11.1.1: Bootcamp
A-3
Oracle Internal & Oracle Academy Use Only
TIP
Module 6 Appendices Appendix A Creating Advanced Calculations
Calculation Test Cycle 1
CLEARBLOCK ALL;
Changed calculation script
Test cycle
4
3
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Calculation Test Cycle When you test calculation scripts for accuracy, you want to be sure that there is nothing happening behind the scenes that can affect your test results. For example, data calculated twice with the same script can return two different results, returning a false negative or a false positive for one of your test calculations. Disabling Intelligent Calculation To help ensure that Essbase calculates every possible result for your calculation script, you can turn off intelligent calculation. If Essbase has marked a particular data block as calculated, intelligent calculation interferes with subsequent calculations. It is common practice to disable intelligent calculation with the SET UPDATECALC OFF command in the housekeeping section of a script. The full impact of intelligent calculation is discussed in more detail later in this lesson.
A-4
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
2
Module 6 Appendices Appendix A Creating Advanced Calculations Implementing Test Cycles Every time you change your script and need to test calculation results, follow these steps: 1. Clear all data from the database. 2. Load calculation test data. 3. Execute your calculation script.
If you follow this formalized test cycle every time you test a calculation script, you ensure the following outcomes: • Results that are based on your input data and the subsequent calculation, not on other factors • Fastest performance possible, given that results must be based on input data and subsequent calculation
Essbase 11.1.1: Bootcamp
A-5
Oracle Internal & Oracle Academy Use Only
4. Audit your calculation results.
Module 6 Appendices Appendix A Creating Advanced Calculations
Prototype Phase
Audit sheet
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Prototype Phase The prototype phase of calculation script development is for developing a basic script that correctly calculates dependencies and values for baseline calculations. You want the prototype phase to be as fast and efficient as possible, with low calculation test cycle times. To meet this objective, the following process for creating a prototype calculation script is recommended: 1. Create test input data. 2. Create audit spreadsheets. 3. Implement a draft and test cycle. TIP
Be sure to check your block statistics before and after running your calculation.
A-6
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Input sheet
Module 6 Appendices Appendix A Creating Advanced Calculations Creating Test Input Data To quickly check your results, you should create test data that is simple, easy to load, and easy to audit. It is not efficient to create prototype calculation scripts when using full or even partial sets of actual data, because the results require too much time to calculate and audit. To create a simple data set for prototyping:
TIP
In your input worksheets, use only members to which you load data. For example, if Qtr 1 is a calculated member, do not reference Qtr 1 in your input sheet. If your input levels vary, you can create multiple input spreadsheets in one workbook.
2. Enter your test data into the blank input sheets. TIP
For easier auditing, use multiples of 100 or 1000 or similar simple numbers for which it is easy to trace a series of calculation dependencies.
Creating Audit Sheets When drafting and testing calculation scripts, you must be able to audit results easily. To accomplish this objective, set up clearly identified audit and comparison sheets, separate from input sheets, in your testing workbook. Audit sheets are designed to test whether specific calculations are working. Your audit sheets, when retrieved, must reflect member combinations that show both input data and calculation results. Do not try to audit too many types of calculations on one sheet; you can have several audit sheets, each of which tests a different calculation sequence, such as allocations versus back calculations. As a best practice, create three audit sections: • Essbase calculation results: data you retrieve from Essbase
Essbase 11.1.1: Bootcamp
A-7
Oracle Internal & Oracle Academy Use Only
1. In Excel, create a spreadsheet workbook, with one or more input worksheets, that represents a focused set of accounts to be tested against a representative crosssection of sparse dimension members.
Module 6 Appendices Appendix A Creating Advanced Calculations • Expected calculation results: static data copied from a data source or calculated using Excel formulas (To protect Excel formulas during retrieval, enable formula preservation options. To protect numeric data during retrieval, place an equals sign (=) before the number. Addition of the equals sign converts the number to an Excel formula.)
You can implement these three sections on one audit worksheet or create an audit worksheet for each section. Implementing Draft and Test Cycles After setting up input and audit worksheets, you draft and test your prototype script by using a cyclical test procedure. Rather than writing and testing a calculation script in its entirety, test small sections at a time: Write one line of script and then complete the calculation testing cycle; then write another line and test again. In this way, you can identify problematic or incorrect script lines as you write them. The following tips can help speed the calculation test cycle: • To clear your database, create a separate calculation script with only the command CLEARBLOCK ALL. This way, you can complete the entire calculation test cycle from Excel, using the capabilities of Smart View Spreadsheet Add-in, rather than switching back to Administration Services Console. NOTE
Do not use this method with larger data sets, as performance is better when data is cleared using Administration Services Console.
• Use Smart View to submit data from your input sheets, or use Spreadsheet Add-in to lock and send the data. • Before you execute your prototype calculation script, retrieve from the sheets that audit the results of your Essbase calculation. With this retrieval, you verify the input data that you loaded. • After calculation, use the Undo feature in Smart View or the Flashback feature in Spreadsheet Add-in to revert to the input data in your spreadsheet.
A-8
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• Comparison of Essbase calculation results and expected calculation results: Excel formulas calculating the difference between Essbase results and static data (This section enables you to see quickly and easily where Essbase results vary from expected results.)
Module 6 Appendices Appendix A Creating Advanced Calculations
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Pilot Phase When you develop a prototype script, you confirm that calculations and dependencies work correctly on test data. During the pilot phase of testing, you test the prototype script against real-world data and make necessary changes. You typically make two types of adjustments to the prototype script during pilot testing: • Performance optimization • Exception trapping Performance Optimization During prototype testing, the database is typically too small for you to accurately assess performance impacts. During the pilot phase, you refine your prototype script to address performance issues.
Essbase 11.1.1: Bootcamp
A-9
Oracle Internal & Oracle Academy Use Only
Pilot Phase
Module 6 Appendices Appendix A Creating Advanced Calculations The following tips can help you optimize the performance of your calculation scripts: • Minimize the number of calculation passes in your script. Two calculation passes on a given set of data blocks require twice as much time as one pass, so use the pilot phase to ensure that all calculations that can be grouped are performed in a single pass.
• Revise sparse and dense storage settings to reflect your final calculation requirements. • Revise dynamic calculation (versus batch calculation) approaches to reflect your final calculation requirements. • Determine whether your calculation returns correct results with intelligent calculation turned on, thus minimizing the number of data blocks required for calculation. The full ramifications of intelligent calculation are discussed later in this appendix. Exception Trapping The prototype calculation script typically addresses known mainstream or baseline calculation requirements. Testing your prototype against real data can result in errors that represent exceptions to the baseline and that require further refinement of the script. The following are examples of exception trapping: • Adjusting allocation formulas because actual data is input at levels other than the levels that were assumed during the prototype phase • Adding conditional logic to address the handling of zero values in calculations • Adding DATACOPY commands to create data blocks necessary for calculation Pilot Phase Testing Testing in the pilot phase follows the calculation, testing-cycle steps of the prototype phase but uses real data instead of test data. Using real data modifies the calculation, test-cycle methodology, as it was described for the prototype phase. Unlike test data, real data tends to reside in exterior data sources that are typically loaded with rules files. Also, the volume of real data tends to be significantly higher than the volume of test data, a difference that increases calculation times.
A-10
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• For each calculation pass, minimize the number of blocks that Essbase calculates. If Essbase does not need to calculate every existing data block, use FIX statements to focus calculation on the necessary blocks.
Module 6 Appendices Appendix A Creating Advanced Calculations Additionally, because one of the primary objectives of this phase is to improve calculation performance, you need to mimic your production environment as much as possible and follow the sequence of production operations that you ordinarily follow. For example, upload data from the G/L, make outline modifications, and then run your calculation.
/****************************************************************/ /* This MaxL script clears and then loads data to the /* Bigcorp Sales database for testing calculation scripts. /* Variables: /* $1 = user name /* $2 = password /****************************************************************/
*/ */ */ */ */
/* ****************************************/ /* CREATE PROCESS LOG AND LOGIN TO SERVER */ /* ****************************************/ spool on to 'c:\temp\output.txt'; login $1 $2 on 'localhost'; /* ***********************************************************/ /* Activate and then clear data from Bigcorp Sales database */ /* ***********************************************************/ alter system load application 'Bigcorp'; alter application 'Bigcorp' load database 'Sales'; alter database 'Bigcorp'.'Sales' reset; /* ***************************************/ /* Load data files */ /* ***************************************/ import database 'Bigcorp'.'Sales' data from server text data_file 'Actual' using server rules_file 'Loadcorp' on error write to 'c:\temp\acterr.txt'; import database 'Bigcorp'.'Sales' data
Essbase 11.1.1: Bootcamp
A-11
Oracle Internal & Oracle Academy Use Only
Although Excel should still be used in this phase to audit calculation results, you can automate the rest of your calculation test cycle by using a MaxL script. The following example clears the database, loads data files, and then runs a calculation script. The entire process is spooled to a log file, which shows database statistics before and after calculation.
Module 6 Appendices Appendix A Creating Advanced Calculations from server text data_file 'Forecast' using server rules_file 'Loadcorp' on error write to 'c:\temp\forerr.txt'; /**********************************************/ /* Get pre-calculation database statistics*/ /**********************************************/
/*****************************/ /* Run calculation scripts*/ /*****************************/ execute calculation 'Bigcorp'.'Sales'.'CalcAll'; /***********************************************/ /* Get post-calculation database statistics*/ /***********************************************/ query database 'Bigcorp'.'Sales' get dbstats data_block; /* ********************************/ /* Close out process log and exit */ /* ********************************/ spool off; exit;
A-12
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
query database 'Bigcorp'.'Sales' get dbstats data_block;
Module 6 Appendices Appendix A Creating Advanced Calculations
Upper-Level Data Loads
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Upper-Level Data Loads Block storage databases enable you to load data to any level, not only level 0. However, if you load data to upper levels, you must implement certain calculation or design schemes. Such schemes protect the data when you consolidate. Essbase provides three methods of handling upper-level input data (listed from least preferred to most preferred): • Protecting upper-level inputs by not aggregating missing values • Loading to special leaf nodes • Allocating upper-level input data to level 0 before consolidating (For a comprehensive discussion of allocating data, see “Allocating Data.”)
Essbase 11.1.1: Bootcamp
A-13
Oracle Internal & Oracle Academy Use Only
Three methods: • Do not aggregate missing values • Load to leaf nodes • Allocate data before consolidation
Module 6 Appendices Appendix A Creating Advanced Calculations
Aggregating Missing Values (1/2)
Before calculation
After calculation
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Aggregating Missing Values (1/1) The fundamental problem with loading data to upper-level members is that the normal consolidation process can overwrite the data. For example, in the Bigcorp Sales database, you load a value of 100 to Qtr 1 and no data to Jan, Feb, or Mar. However, when you calculate the Year Tot dimension, Essbase receives an instruction to calculate Qtr 1 as Jan+Feb+Mar, and the calculated sum overwrites your input value. Whether the calculation is performed depends on your settings.
A-14
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Aggregate missing values ON: • Overwrites upper-level data loads • Improves calculation performance • Is the recommended default setting
Module 6 Appendices Appendix A Creating Advanced Calculations
Aggregating Missing Values (2/2)
Before calculation
After calculation
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Aggregating Missing Values (2/2) One of the ways to handle upper-level data loads during the calculation process is to instruct Essbase not to aggregate missing values during hierarchy calculations. This instruction protects upper-level data that, in the hierarchy, has no data below it.
Essbase 11.1.1: Bootcamp
A-15
Oracle Internal & Oracle Academy Use Only
Aggregate missing values OFF: • Protects upper-level data loads • Slows calculation performance • Is the default setting for new databases
Module 6 Appendices Appendix A Creating Advanced Calculations Controlling Aggregate Missing Values Behavior There are two ways to control aggregate missing values behavior: • Default database setting: New databases by default do not aggregate missing values. You can change the default setting on the General tab of the Database Properties dialog box.
TIP
As a best practice, you should set aggregate missing values on as a database default and turn it off selectively in your calculation scripts.
Performance Implications When you aggregate missing values during hierarchy consolidations (SET AGGMISSG ON), calculation performance is significantly enhanced for the following reasons: • Dense calculations within a data block: Cell aggregations that can be performed multiple ways are summed only once. In the following example, Essbase can achieve the same result in the intersection of Cost of Sales and Qtr 1 by using the account formula (Labor+Material+Overhead) or the time period formula (Jan+Feb+Mar). Rather than calculating "Cost of Sales"->"Qtr 1" during the Accounts dimension calculation and then again during the Year Tot dimension calculation, Essbase calculates the cell only once, using the consolidation path of the dimension that it calculates last.
A-16
Jan
Feb
Mar
Qtr 1
Labor
100
100
100
300
Material
50
50
50
150
Overhead
75
75
75
225
Cost of Sales
225
225
225
675
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• Calculation script: You can use the command SET AGGMISSG ON|OFF to control the aggregation of missing values on a script-by-script basis. This command overrides the default database setting and is typically included in the housekeeping section of the script.
Module 6 Appendices Appendix A Creating Advanced Calculations
O-Dell
O-HP
O-IBM
OEM
Thunderball 270 A
1
2
3
4
Thunderball 540 A
5
6
7
8
Thunderball
9
10
11
12
Although not aggregating missing values (SET AGGMISSG OFF) is required to protect upper-level data, not aggregating missing values during hierarchy consolidations can have a serious impact on calculation performance, especially in the following two situations: • When you have a low ratio of calculated data blocks to input data blocks • When you load many data values at parent levels on sparse dimensions; for example, in the Bigcorp Sales database, if you load many data values into Retail in a sparse Customer dimension In these situations, the performance overhead required for not aggregating missing values is between 10% and 30%. If calculation performance is critical, reconsider how you configure the database or how you load data, to avoid the need to protect upperlevel input data. Expected Versus Correct Considerations When you load data to upper levels in your hierarchy, additional issues of expected versus correct calculation behavior must be considered. These issues are difficult to understand without stepping through the calculations. The following example illustrates the problem.
Essbase 11.1.1: Bootcamp
A-17
Oracle Internal & Oracle Academy Use Only
• Sparse calculations between data blocks: Blocks that can be aggregated multiple ways are calculated only once, using an algorithm that attempts to calculate using the fewest possible blocks. In the following example, data block 12 (the intersection of Thunderball and OEM) can be calculated as the sum of blocks 4+8 or the sum of blocks 9+10+11. Rather than using both formulas and thus calculating block 12 twice, Essbase uses only the 4+8 formula because it requires fewer blocks.
Module 6 Appendices Appendix A Creating Advanced Calculations
However, all other account drivers are input to level 0 blocks. The following input sheet loads other account data (units, list price, and so on) to the "Current Year"->"Lightbolt 365 A"->"O-IBM" and "Current Year"->"Thunderball 540 S"->"O-IBM" data blocks.
You calculate the following script, making sure to include instructions to protect the data loaded in the upper-level block. /* Housekeeping */ SET UPDATECALC OFF; SET AGGMISSG OFF; /* The Main Rollup */ CALC DIM (Accounts, "Year Tot", Customer, Product);
A-18
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
The Other CGS account data for Bigcorp Sales is collected in transactional systems without regard for customer or product. Thus, the data is available for input only at the level that represents the total for all products (Family Total) and all customers (Channel Total). The following input sheet loads Other CGS data to the "Current Year"->"Family Total"->"Channel Total" data block.
Module 6 Appendices Appendix A Creating Advanced Calculations
However, when you audit your results, you notice that, although totals for Net Sales, Cost of Sales and Other CGS are correct, totals for Gross Margin are not correct.
The incorrect totals for Gross Margin are due to calculation order: The Accounts dimension calculates first, creating Gross Margin totals in both level 0 bocks. When Customer and Product are calculated, Essbase aggregates the data that exists in the level 0 blocks. This aggregation creates incorrect totals for Gross Margin in the "Current Year"->"Family Total"->"Channel Total" block. The Other CGS data is protected during the aggregation by the SET AGGMISSG OFF command. To correct the incorrect totals, you must calculate Gross Margin in the "Current Year"->"Family Total"->"Channel Total" block in a separate, additional calculation pass, such as a back calculation, that takes place after the main rollup. This problem can occur frequently when you work with multi-level inputs. If you have a large number of multilevel inputs that force you to recalculate data at upper levels, consider a method other than protecting upper-level loads by not aggregating missing values for handling upperlevel input data.
Essbase 11.1.1: Bootcamp
A-19
Oracle Internal & Oracle Academy Use Only
/* The Back Calculation */ ( "List Price" = "Gross Sales" / Units; "Discount %" = Discounts / "Gross Sales"; "Labor/Unit" = "Direct Labor" / Units; "Matl/Unit" = Material / Units; "Overhead Rate" = Overhead / "Direct Labor"; )
Module 6 Appendices Appendix A Creating Advanced Calculations
Loading to Leaf Nodes Avoids upper-level input issues Requires additional members in the outline
L evel 0 placeholder for Fami ly Total input data
L evel 0 placeholder for Channe l Total inp ut data
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Loading to Leaf Nodes Another method of handling upper-level input values is to avoid loading data to upper levels. The leaf-node loading method involves the following steps: 1. Create a level 0 member (leaf node) as a child of the upper-level member to which you want to load data. For example, if you want to load Other CGS accounts to Family Total and Channel Total, create children for Family Total and Channel Total, as shown in the example on the slide. 2. Load upper-level inputs to the leaf nodes instead of to the upper-level members. 3. Consolidate as usual. When you use this method, you are not required to protect upper-level data. Thus, you can aggregate missing values, which improves performance. Also, because all input is level 0, you are not required to correct totals at upper levels, as you are with multi-level inputs.
A-20
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• •
Module 6 Appendices Appendix A Creating Advanced Calculations
You also load other input account data to specific customer and product blocks, as in the preceding example. The following input sheet loads to the "Current Year"->"Lightbolt 365 A"->"O-IBM" and "Current Year"->"Thunderball 540 S"->"O-IBM" data blocks.
You run the following calculation script. Because you no longer need to protect upperlevel input data, you turn the aggregate missing values setting on for better performance. /* Housekeeping */ SET UPDATECALC OFF; SET AGGMISSG ON; /* The Main Rollup */ CALC DIM (Accounts, "Year Tot", Customer, Product); /* The Back Calculation */
Essbase 11.1.1: Bootcamp
A-21
Oracle Internal & Oracle Academy Use Only
For example, instead of loading Other CGS data to the "Current Year"->"Family Total"->"Channel Total" block, as in the preceding example, you load to the "Current Year"->"No Product"->"No Customer" block, using the following input sheet.
Module 6 Appendices Appendix A Creating Advanced Calculations ( "List Price" = "Gross Sales" / Units; "Discount %" = Discounts / "Gross Sales"; "Labor/Unit" = "Direct Labor" / Units; "Matl/Unit" = Material / Units; "Overhead Rate" = Overhead / "Direct Labor"; )
In this example, all data in the "Current Year"->"Family Total"->"Channel Total" data block is aggregated from the three dependent blocks, so no recalculation is required after consolidation.
A-22
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Your audit sheet shows the following correct results:
Module 6 Appendices Appendix A Creating Advanced Calculations
Intelligent Calculation
8
8
8
9
9
9
9
9
9
9
9
9
9
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Intelligent Calculation A primary goal in calculation script development is optimization (elimination of extra passes through the database index). To optimize calculation, you can use FIX and IF statements, to focus calculations, or you can use an option called intelligent calculation. When you perform a full database calculation, Essbase marks which blocks have been calculated. If you then load a subset of data, you can calculate only the changed data blocks and their ancestors. This selective calculation process is intelligent calculation. By default, intelligent calculation is turned on. You can change the default setting in the essbase.cfg file or on a script-by-script basis with the SET UPDATECALC OFF command. For information about the essbase.cfg file, see the online Technical Reference, “Essbase.CFG Configuration Settings.”
Essbase 11.1.1: Bootcamp
A-23
Oracle Internal & Oracle Academy Use Only
Only marked data blocks are recalculated:
Module 6 Appendices Appendix A Creating Advanced Calculations Intelligent calculation is based on data-block marking. When intelligent calculation is active, during normal processes, within the index file, blocks are marked clean or dirty. • Clean blocks: Blocks that do not require calculation • Dirty blocks: Blocks that require calculation When intelligent calculation is active, during calculation, Essbase looks for only dirty data blocks. Intelligent calculation marks data blocks, not data cells, clean or dirty. For example, assume that, in a database that includes a dense time dimension, data is loaded once per month. When you load data to a month, intelligent calculation marks the affected blocks as dirty. Therefore, all time periods within the affected blocks are recalculated.
A-24
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
NOTE
Module 6 Appendices Appendix A Creating Advanced Calculations
Data Block Marking: Clean Blocks Automatic intelligent calculation Forced intelligent calculation Forced data block marking 9
9
9
9
9
9
9
9
9
9
9
9
9
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Data Block Marking: Clean Blocks The basis for understanding intelligent calculation is understanding under what conditions blocks are marked clean and dirty. If any of the following conditions is true, intelligent calculation marks blocks as clean: • The script includes CALC ALL or CALC DIM on all dimensions. • The script includes SET CLEARUPDATESTATUS AFTER, a command that applies intelligent calculation to the calculation process. • The script includes CLEARUPDATESTATUS ONLY, a command that directs intelligent calculation to mark blocks without performing a database calculation.
Essbase 11.1.1: Bootcamp
A-25
Oracle Internal & Oracle Academy Use Only
• • •
Module 6 Appendices Appendix A Creating Advanced Calculations Automatic Intelligent Calculation When you execute a calculation script with a CALC ALL statement or with a CALC DIM statement that includes all dimensions, the intelligent calculation process performs the following actions: • All previously existing input data blocks are calculated and marked clean. • All data blocks created by the consolidation process are calculated and marked clean.
The following script examples automatically enable intelligent calculation: CALC ALL; CALC DIM (Accounts, "Year Tot", Scenario, Product, Customer); Even when intelligent calculation is enabled, for CALC DIM statements that do not include all dimensions, Essbase does not use an intelligent calculation process. Rather, Essbase calculates all relevant data blocks, regardless of clean or dirty status, and all data blocks retain their status, dirty or clean. The following script examples do not enable intelligent calculation: CALC DIM (Accounts, "Year Tot", Scenario, Product); CALC DIM (Accounts, "Year Tot"); AGG (Scenario, Product, Customer) Forced Intelligent Calculation SET CLEARUPDATESTATUS AFTER is a calculation command that engages intelligent calculation for any calculation script, regardless of construction. Typically, you use this command where you cannot meet the conditions for a CALC DIM on all dimensions. When you execute a calculation script that includes the SET CLEARUPDATESTATUS AFTER command, data blocks that are marked clean are not calculated, and data blocks that are marked dirty are calculated and marked clean.
A-26
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• All previously existing dirty blocks are calculated and marked clean.
Module 6 Appendices Appendix A Creating Advanced Calculations The following example demonstrates the use of the SET CLEARUPDATESTATUS AFTER command:
Forced Block Marking Without Calculating SET CLEARUPDATESTATUS ONLY is a calculation script command that instructs Essbase to perform data-block marking but not to perform script calculations. Typically, you use this command immediately after a script segment in which intelligent calculation is disabled. The following example shows a two-part script: • The first segment, in which intelligent calculation is disabled, calculates data blocks correctly but does not mark dirty blocks as clean. • In the second segment, in which data-block marking is enabled, the SET CLEARUPDATESTATUS ONLY command instructs Essbase to mark as clean all blocks that were previously marked dirty. /* Turn off intelligent calculation */ SET UPDATECALC OFF; /* Back Calculation */ "Gross Margin %" = "Gross Margin" / "Net Sales"; "List Price" = "Gross Sales" / Units; /* Enable data block marking */ SET CLEARUPDATESTATUS ONLY; "Gross Margin %" = "Gross Margin" / "Net Sales"; "List Price" = "Gross Sales" / Units; SET CLEARUPDATESTATUS ONLY affects only the database index and does not require the referenced data blocks to be moved into memory. Under most circumstances, therefore, elements of a calculation script following SET CLEARUPDATESTATUS ONLY execute very quickly.
Essbase 11.1.1: Bootcamp
A-27
Oracle Internal & Oracle Academy Use Only
SET CLEARUPDATESTATUS AFTER FIX (@IDESCENDANTS("Qtr 1")) CALC DIM (Accounts); ENDFIX
Module 6 Appendices Appendix A Creating Advanced Calculations
Data Block Marking: Dirty Blocks Block creation during data input Data modification Creation or modification of descendant blocks Database restructure 8
8
8
8
8
8
8
8
8
8
8
8
8
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Data Block Marking: Dirty Blocks If any of the following conditions is true, intelligent calculation marks blocks as dirty, thereby making the blocks eligible for calculation the next time intelligent calculation is engaged: • Block creation during data input • Data modification • Creation or modification of descendant blocks • Database restructure
A-28
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• • • •
Module 6 Appendices Appendix A Creating Advanced Calculations Block Creation During Data Input Blocks created from a data input process are marked dirty as they are created. Blocks can be created during batch data load processes, by submitting data from Smart View for Office, by locking and sending data from Spreadsheet Add-in, or by using other direct input options.
Creation or Modification of Descendant Blocks Intelligent calculation is efficient because it calculates only affected blocks. The ancestors of a dirty block need to be calculated because they are dependent on values of the modified descendant. Therefore, all ancestors of input and modified blocks are marked dirty. Database Restructure Outline changes prompt Essbase to mark blocks dirty. Which blocks are marked dirty is determined by whether the outline changes involve dense or sparse dimensions: • Moving, adding, or deleting members of dense dimensions causes all blocks to be marked dirty. • Moving, adding, or deleting members of sparse dimensions causes only the affected blocks and their ancestors to be marked dirty.
Essbase 11.1.1: Bootcamp
A-29
Oracle Internal & Oracle Academy Use Only
Data Modification Blocks that include modified data cells are marked dirty. For example, if, within a block, a line manager updates units, the block should be marked dirty because revenues, costs, and margin are now incorrect and need recalculating.
Module 6 Appendices Appendix A Creating Advanced Calculations
Usage Considerations
False positive
9
8
8
9
9
9
9
9
9
9
9
9
9
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Usage Considerations Occasionally, clean data blocks are marked dirty. In such cases, calculation efficiency suffers. A more serious problem, however, is a false positive condition, in which dirty blocks are marked clean. In the case of such false positives, data integrity can suffer. False Positives False positive conditions can arise in various ways: • Calculating only a subset of a block. Essbase marks at the block level, not the cell level, so a calculation that is executed on a subset of cells can cause a false positive condition. Only a few cells are calculated, but the block is marked clean, although uncalculated cells remain.
A-30
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Maintain clean and dirty status of blocks: • False negatives affect calculation efficiency • False positives affect data integrity
Module 6 Appendices Appendix A Creating Advanced Calculations
• Using a FIX statement. Ancestors of a dirty block are not marked dirty until the descendant dirty block is calculated. A false positive can result if the descendant dirty block is calculated within a FIX statement that does not include the dirty ancestor block. After calculation, Essbase marks the descendant block clean, and the ancestor block remains marked clean, although it should be marked dirty. • Following SET CLEARUPDATESTATUS ONLY with unrelated calculations. You should follow SET CLEARUPDATESTATUS ONLY with a repetition of the section of the script for which you want to force data-block marking. A false positive can occur if SET CLEARUPDATESTATUS ONLY touches blocks that are otherwise dirty and that are not correctly calculated. Usage Guidelines Intelligent calculation can provide significant performance benefits in certain situations but requires vigilant maintenance of the clean and dirty status of data blocks to avoid skipping the wrong blocks on calculation. Be very careful when using intelligent calculation, and be sure to review the detailed discussion of intelligent calculation in the Database 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.
Essbase 11.1.1: Bootcamp
A-31
Oracle Internal & Oracle Academy Use Only
• Calculating a back calculation after calculating all dimensions. A false positive can prevent the required second calculation pass, which corrects upper-level rates and percentages. The false positive condition occurs if the CALC DIM portion of a script engages intelligent calculation, which marks all blocks clean during the CALC DIM process. When Essbase processes the back calculation portion of the script, no data blocks are calculated because all blocks are marked clean.
Module 6 Appendices Appendix A Creating Advanced Calculations
Allocating Data Upper-level input allocation:
100%
2 3
15 %
45 %
40 %
15%
45%
40%
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Allocating Data As mentioned earlier in this appendix, a method of handling upper-level input data is to allocate or push down the data that you load to dependent level 0 data blocks, so you can consolidate normally. However, allocations are not restricted to distributing upperlevel input data. You can use the methods described here to distribute totals loaded to level 0 data blocks across other level 0 data blocks. When you allocate data, you typically include the following steps in your calculation process: 1. Load input data to upper-level data blocks or designated level 0 data blocks. 2. Allocate data to dependent level 0 data blocks, using various allocation methods.
A-32
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
1
Module 6 Appendices Appendix A Creating Advanced Calculations 3. Consolidate data using a CALC ALL or CALC DIM statement (For upper-level input data, the statement overwrites the original input). TIP
Oracle Internal & Oracle Academy Use Only
If allocating a level 0 input, offset the original input amount by the sum of all allocated data, to avoid doubling the input data upon consolidation.
Essbase 11.1.1: Bootcamp
A-33
Module 6 Appendices Appendix A Creating Advanced Calculations
Calculating Fixed Rate Allocations
FinanceAlloc = .15 SalesAlloc = .45 HRAlloc = .10 MktgAlloc = .30
15%
45%
10%
30 %
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Calculating Fixed Rate Allocations Some allocations are based on fixed percentages; for example, expenses loaded to a Corp HQ entity that are allocated to multiple departments based on a fixed percentage for each department. Calculate fixed rate allocations with the following member formula: Allocation destination account = location of input total * location of fixed rate; In these cases, load the percentage to a single location in the database and base your allocation on this fixed point of reference, as in the following example. /* Information Assumptions: 1) Expenses are loaded to generic expense accounts, and then allocated to department-specific accounts based on fixed percentages. 2) Allocation percentages are loaded to the Corp HQ entity in the FinancePct, SalesPct, HRPct, and MktgPct accounts, respectively. */ A-34
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
VAR VAR VAR VAR
Module 6 Appendices Appendix A Creating Advanced Calculations
/* Allocate Administrative Expense */ "Admin Exp Finance" = "Admin Exp" * "Corp HQ"->FinancePct; "Admin Exp Sales" = "Admin Exp" * "Corp HQ"->SalesPct; "Admin Exp HR" = "Admin Exp" * "Corp HQ"->HRPct; "Admin Exp Mktg" = "Admin Exp" * "Corp HQ"->MktgPct; Alternatively, you can define temporary variables in your calculation script to store percentages temporarily, as in the following example. /* Information Assumptions: 1) Expenses are loaded to generic expense accounts and then allocated to department-specific accounts based on fixed percentages. */ /* Housekeeping */ /* Define fixed allocation percentages for each department */ VAR FinanceAlloc = .15; VAR SalesAlloc = .45; VAR HRAlloc = .10; VAR MktgAlloc = .30; /* Allocate IT Expense */ "IT Exp Finance" = "IT Exp" * FinanceAlloc; "IT Exp Sales" = "IT Exp" * SalesAlloc; "IT Exp HR" = "IT Exp" * HRAlloc; "IT Exp Mktg" = "IT Exp" * MktgAlloc; /* Allocate Administrative Expense */ "Admin Exp Finance" = "Admin Exp" * FinanceAlloc; "Admin Exp Sales" = "Admin Exp" * SalesAlloc; "Admin Exp HR" = "Admin Exp" * HRAlloc; "Admin Exp Mktg" = "Admin Exp" * MktgAlloc;
Essbase 11.1.1: Bootcamp
A-35
Oracle Internal & Oracle Academy Use Only
/* Allocate IT Expense */ "IT Exp Finance" = "IT Exp" * "Corp HQ"->FinancePct; "IT Exp Sales" = "IT Exp" * "Corp HQ"->SalesPct; "IT Exp HR" = "IT Exp" * "Corp HQ"->HRPct; "IT Exp Mktg" = "IT Exp" * "Corp HQ"->MktgPct;
Module 6 Appendices Appendix A Creating Advanced Calculations
Calculating Dynamic Ratio Allocations
O-IBM
O-Dell
O-Acer
"O-Dell"->Units / Customer->Units
"O-Acer"->Units / Customer->Units
Allocation ra tios:
"O-IBM"->Units / Customer->Units
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Calculating Dynamic Ratio Allocations In dynamic ratio allocations, the allocation ratio is calculated based on other data available in the database, such as percent of total headcount, percent of total units, or percent of total sales. This approach obliges you to include a calculation of the appropriate ratio in addition to your allocation instructions, as in the following formula: Allocation destination account = location of input total * (value of ratio base in current data block / total value of ratio base);
A-36
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Customer
Module 6 Appendices Appendix A Creating Advanced Calculations In Bigcorp Sales, Material Variances is loaded to the total for all products and all customers. To allocate this total to individual, product-customer data blocks based on a percentage of total units, use the following formula: ‘Material Variances" = "Material Variances"->"Family Total"->"Channel Total" * ( Units / Units->"Family Total"->"Channel Total");
Depending on when you execute the allocation, you may have to calculate the total ratio base before calculating the allocation. For example, if your allocation is based on a percent of total headcount, you must calculate total headcount before you allocate.
Essbase 11.1.1: Bootcamp
A-37
Oracle Internal & Oracle Academy Use Only
TIP
Module 6 Appendices Appendix A Creating Advanced Calculations
Normalization Allocate upper-level input to level 0 descendants. Allocate level 0 input to other level 0 blocks.
2
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Normalization In interactive applications, allocations are sometimes standalone processes. However, when allocations are incorporated into a database consolidation, they typically fall into the normalization section of the calculation script architecture. In relational databases, the process of normalization eliminates redundant data from tables to improve performance and data scalability. Because Essbase does not store data for block storage databases in tables, block storage normalization is a very different process.
A-38
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
1
Module 6 Appendices Appendix A Creating Advanced Calculations In block storage databases, normalization is required when you load data to data blocks other than the blocks that are the intended, final target for the data, as described in the following examples:
• You load total IT expenses to a level 0 block for a corporate headquarters entity. Prior to consolidating the database, you allocate total IT expenses to each office location (level 0) based on the percentage of total headcount for each office. The common thread in the examples is that the calculations are required to happen prior to consolidation of the database. Normalization is a general umbrella for any data manipulation that needs to occur after data input and before main database consolidation.
Essbase 11.1.1: Bootcamp
A-39
Oracle Internal & Oracle Academy Use Only
• You load total miscellaneous expenses to a block that represents the total of all customers and all products. Prior to consolidating the database, you allocate total miscellaneous expenses to each individual, product-customer block (level 0) based on the percentage of total units sold in each level 0 block.
Module 6 Appendices Appendix A Creating Advanced Calculations
Partitioning Calculations by Scenario One accounts model, multiple calculation requirements: • Actual data:
•
Budget data: – Input units and rates – Derive dollars
•
Forecast data: – Input units and rates – Derive dollars
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Partitioning Calculations by Scenario For most block storage databases, within the accounts dimension, scenarios are the primary driver of modeling and calculation requirements. Data from scenario to scenario typically differs with respect to the form of input. Because you have only one outline model for the accounts dimension, you may need to calculate input data differently from one scenario to the next: • Inputs for budget and forecast data are typically units, rates, and other drivers, and many dollar amounts are derived though calculation. • Budget data often contains much product detail (for example, standard cost by product) and overhead detail (for example, salaries by employee) but little customer detail (for example, only top ten customers budgeted).
A-40
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
– Input dollars and units – Derive rates
Module 6 Appendices Appendix A Creating Advanced Calculations • Inputs for forecast data are similar to inputs for budget data, but the level of detail is different, depending on what kind of forecasting you need. For example, in a sales forecasting application, forecast data can have very detailed customer information. • Inputs for actual data are typically dollars and units, and rates are derived through calculation. In contrast to budget data, actual data often contains more revenue detail by customer and less overhead detail.
Oracle Internal & Oracle Academy Use Only
Because of the type and level of inputs for each scenario, different scenarios often require different data load procedures and different calculation scripts.
Essbase 11.1.1: Bootcamp
A-41
Module 6 Appendices Appendix A Creating Advanced Calculations
Developing Normalization Tables
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Developing Normalization Tables Before creating calculation scripts, you should document the data input and calculation requirements for each scenario with a normalization table. The table helps you keep track of the assumptions that you make about the input data and provides a clear roadmap for building normalization calculations into your scripts. Normalization table development has the following steps: 1. Analyze data for a scenario to determine how many dimensions require normalization. 2. In a spreadsheet program, create a normalization table for the scenario, including sections for each dimension that requires normalization. 3. Complete the table, based on assumptions about input data.
A-42
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
1. Determine how many dimensions require normalization. 2. Create a normalization template. 3. Complete the template based on input data.
Module 6 Appendices Appendix A Creating Advanced Calculations
In this example, a value of 73,000 is loaded to the intersection Budget->"Material Variances"->Jan->"Family Total"->"Channel Total". Examine the full cell address, one dimension at a time, to determine whether data must move along the dimension. Member Name
Movement Required?
Budget
No. All 73,000 remains in the budget scenario.
Material Variances
No. All 73,000 remains in the Material Variances account.
Jan
No. All 73,000 remains in the Jan time period.
Family Total
Yes. A percentage of the 73,000 must be allocated to each product.
Channel Total
Yes. A percentage of the 73,000 must be allocated to each customer.
Based on this analysis, Bigcorp Sales budget data requires normalization in two dimensions: Product and Customer. Creating Normalization Tables Normalization tables are simply documentation templates that you create in a spreadsheet program. They are not connected to an Essbase database, so they do not require Spreadsheet Add-in.
Essbase 11.1.1: Bootcamp
A-43
Oracle Internal & Oracle Academy Use Only
Determining What Dimensions Require Normalization Before building a normalization table, determine how many dimensions require normalization in each scenario. To accomplish this task, examine your input data. The following example represents budget input data for Bigcorp Sales.
Module 6 Appendices Appendix A Creating Advanced Calculations
Column Name
Description
Data Type
How data for the current account is created (direct input, formula calculation, consolidation, and so on)
Input Level
Generation or level at which data is loaded (for the dimension being normalized)
Push to Level
Generation or level to which input data must be moved (for the dimension being normalized)
Methodology
How to move data in the dimension being normalized (Common methods include copying data and allocating data.)
A blank normalization table template looks like the following example.
Completing Normalization Tables After you create the template, enter the relevant information in the table, documenting as much as possible. A normalization table for the Other CGS accounts of the previous budget input example looks like the example on the slide.
A-44
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
A normalization table lists all input accounts in the row axis. For each dimension that you normalize, include the following four columns:
Module 6 Appendices Appendix A Creating Advanced Calculations
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Developing Block Diagrams Another way to visualize the normalization process is to create a diagram of data blocks to see the movement required from the input data and the relationships between input blocks and normalization targets. NOTE
In databases with a large number of sparse dimensions, creating a complete block diagram can be too complicated and should not be used as a development technique.
A block diagram is a two-dimensional representation of data blocks, where rows represent generations of dimension1 and columns represent generations of dimension2. The resulting matrix represents all combinations between the generations of dimension1 and dimension2.
Essbase 11.1.1: Bootcamp
A-45
Oracle Internal & Oracle Academy Use Only
Developing Block Diagrams
Module 6 Appendices Appendix A Creating Advanced Calculations Although normalizations can have interim steps, the final destination, or target block, for normalized data is a level 0 block. To build a block diagram, start with a single target block in the lower left corner. This block is an arbitrary selection to enable creation of a representative slice of your database.
Oracle Internal & Oracle Academy Use Only
After creating your diagram, analyze your input data and mark on the diagram the blocks to which data is loaded. Marking helps you visualize the movement of data required during normalization.
A-46
Essbase 11.1.1: Bootcamp
Module 6 Appendices Appendix A Creating Advanced Calculations
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Normalizing Rates and Drivers Rates and other drivers, unlike total dollar amounts, do not require distribution based on an allocation. Instead, you use member formulas to copy these drivers from their input location to their final destination. The block diagram on the slide shows the input locations for budget drivers in Bigcorp Sales; all of the drivers require normalization to the target (level 0) block. You can use explicit or dynamic references in your formula. Which type of reference you choose depends on the nature of your input data. • Single member input: When you load rates to one fixed member in the dimension being normalized, normalize using explicit references. In the example on the slide, the discount percentage for each customer is loaded to the total for all products. To calculate Discount % in the target blocks, use the following formula: "Discount %" = "Discount %"->"Family Total";
Essbase 11.1.1: Bootcamp
A-47
Oracle Internal & Oracle Academy Use Only
Normalizing Rates and Drivers
Module 6 Appendices Appendix A Creating Advanced Calculations • Multiple member input: When you load rates to multiple members in the dimension being normalized, normalize using dynamic references. In the example on the slide, the list price for each product is loaded to customer channels; there are different prices for OEM, Retail, and Distributor customers. To calculate List Price in the target blocks, use the following formula:
Oracle Internal & Oracle Academy Use Only
"List Price" = @PARENTVAL(Customer, "List Price");
A-48
Essbase 11.1.1: Bootcamp
Module 6 Appendices Appendix A Creating Advanced Calculations
Copying and Clearing Data DATACOPY CLEARDATA CLEARBLOCK
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Copying and Clearing Data As part of your normalization process, you may be required to copy or clear data sets. You can place copy and clear commands in the housekeeping section or the normalization section of your calculation script. The following table describes the available data manipulation commands: Command
Description
DATACOPY mbrName1 TO mbrName2
For copying data sets from one member to another
CLEARBLOCK ALL | UPPER | NONINPUT | DYNAMIC
For clearing previous input or upper-level data or stored dynamic calculations
CLEARDATA mbrName
For clearing specific members or member combinations
Essbase 11.1.1: Bootcamp
A-49
Oracle Internal & Oracle Academy Use Only
• • •
Module 6 Appendices Appendix A Creating Advanced Calculations
Copying Data Copy entire blocks
Cur rent Year O-IBM Lightbolt 365 A
Forecast O-IBM L ightbolt 365 A
Copy slices of blocks DATACOPY "Current Year"->Feb TO "Forecast"->Feb
Curre nt Year O-IBM L ightbolt 365 A
Forecast O-IBM Lightbolt 365 A
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Copying Data In budgeting or forecasting scenarios, it is common to copy actual data to use as a basis for the budget or forecast. The DATACOPY command is an efficient way to copy large slices of the database, creating blocks or filling in data cells within blocks, depending on the focus of the calculation.
A-50
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
DATACOPY "Current Year" TO "Forecast"
Module 6 Appendices Appendix A Creating Advanced Calculations Guidelines for DATACOPY: • You can use the cross-dimensional operator in the DATACOPY command, but the destination member combination cannot be more specific than the source member combination. For example, the following formula results in an error at runtime: DATACOPY "Current Year" TO "Prior Year"->Jan; However, the source member combination can be more specific than the destination member combination. For the following formula, Essbase fills in the missing member at runtime:
When Essbase executes the preceding formula at runtime, it calculates the following combination of members: DATACOPY ""Current Year"->Jan TO "Prior Year"->Jan; • If the source and destination member combinations are all dense member references, Essbase does not create data blocks. For example, the following calculation is executed only in existing data blocks: DATACOPY Jan TO Feb; However, if any member of the member combinations for the source or destination is sparse, Essbase creates data blocks, if they do not exist. • You can use DATACOPY commands inside FIX statements, but not inside IF statements.
Essbase 11.1.1: Bootcamp
A-51
Oracle Internal & Oracle Academy Use Only
DATACOPY "Current Year"->Jan TO "Prior Year";
Module 6 Appendices Appendix A Creating Advanced Calculations
Clearing Data with CLEARDATA Resets cells to #MISSING Removes entire blocks only when all members are sparse
FIX(@Children("Qtr 1") CLEARDATA "Current Year"; ENDFIX
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Clearing Data with CLEARDATA If you need to clear data values before loading values to your database, use CLEARDATA. This command clears a specifically defined section of database cells, replacing the cell values with #MISSING. Guidelines for CLEARDATA: • You can use CLEARDATA inside a FIX statement to focus the scope of the command. The following example clears Current Year data from the children of Qtr 1. FIX (@CHILDREN("Qtr 1")) CLEARDATA "Current Year"; ENDFIX
A-52
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• •
Module 6 Appendices Appendix A Creating Advanced Calculations • You can use a cross-dimensional operator to create valid member combinations in a CLEARDATA statement. For example, the following statement clears Budget data for only the O-IBM customer. CLEARDATA Budget->"O-IBM";
CLEARDATA "Current Year"->"R-Gateway"; However, when you add a dense dimension, like Year Tot, to the member combination, as in the following example, the command clears cells in the Current Year data blocks for R-Gateway, but it does not remove the blocks. CLEARDATA "Current Year"->"R-Gateway"->Jan; • You cannot use CLEARDATA in an IF statement.
Essbase 11.1.1: Bootcamp
A-53
Oracle Internal & Oracle Academy Use Only
• The CLEARDATA command removes data blocks only when all members referenced in the statement are sparse. If any member is dense, the command clears only data cells. For example, in Bigcorp Sales, the following command removes all Current Year data blocks for R-Gateway, because both Scenario and Customer are sparse dimensions.
Module 6 Appendices Appendix A Creating Advanced Calculations
Clearing Data with CLEARBLOCK Removes entire blocks Can clear cells without removing blocks
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Clearing Data with CLEARBLOCK Rather than focusing on specific members or member combinations, the CLEARBLOCK command clears data based on the type of block that you specify. You can choose one of the following options for this command. Option
Description
ALL
Clears all data blocks
UPPER
Clears all upper-level blocks
NONINPUT
Clears blocks that are completely created by a calculation operation and does not affect blocks into which some values were loaded through a data load operation
DYNAMIC
Clears blocks that contain values derived from Dynamic Calc and Store member calculations, resetting Dynamic Calc and Store members for recalculation
A-54
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• •
Module 6 Appendices Appendix A Creating Advanced Calculations Guidelines for CLEARBLOCK: • If you use CLEARBLOCK inside a FIX statement on dense dimension members, Essbase clears only the data cells within the fixed range and does not remove data blocks. In the following example, the CLEARBLOCK command clears data only for January cells in the Current Year scenario: FIX(Jan, "Current Year") CLEARBLOCK ALL; ENDFIX
Oracle Internal & Oracle Academy Use Only
• You cannot use CLEARBLOCK in an IF statement.
Essbase 11.1.1: Bootcamp
A-55
Module 6 Appendices Appendix A Creating Advanced Calculations
Summary In this lesson, you should have learned to: • Describe the script development process
Oracle Internal & Oracle Academy Use Only
• Implement methods for working with upper-level data loads • Describe intelligent calculation behavior • Allocate date with calculation scripts • Describe and plan data normalization • Normalize rates and drivers • Copy and clear data
A-56
Essbase 11.1.1: Bootcamp
A P P E N D I X
B
Creating Reports with Essbase Spreadsheet Add-in
B
At the end of this appendix, you should be able to: • Describe Essbase Spreadsheet Add-in • Install Essbase Spreadsheet Add-in • Retrieve data into a Microsoft Excel worksheet • Manage worksheet options • Preserve Microsoft Excel formulas in a worksheet • Replicate spreadsheet reports with the Cascade option • Design spreadsheet reports by selecting members from the outline • Create savable queries • Create advanced queries • Retrieve with report scripts
Oracle Internal & Oracle Academy Use Only
Objectives
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
• • •
Is a software program that is embedded in a client spreadsheet application Enables you to retrieve data, create ad hoc reports, and analyze data Provides the interface that integrates Excel and Essbase
Essbase Se rver Microsoft Excel with Spre adshee t Add-in
Essbase database
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Essbase Spreadsheet Add-in Overview Essbase Spreadsheet Add-in is a software program that merges seamlessly with Microsoft Excel and enables you to interface with multiple instances of Essbase Server. With Essbase Spreadsheet Add-in enabled, you can retrieve data, create reports, and analyze data. You can also navigate, format, edit, and calculate data, and create customized settings to view data in particular formats. When Essbase Client is installed, a special menu, a toolbar, and keyboard shortcuts are added to Excel. These added interface controls provide enhanced commands such as Connect, Retrieve, and Pivot. You can access and analyze data in Essbase databases by using mouse clicks and drag operations.
B-2
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Spreadsheet Add-in Overview
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Installing the Essbase Menu and Toolbar The Essbase menu and toolbar provide tools to access the database.
Essbase toolbar
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Installing the Essbase Menu and Toolbar If you open Excel and do not see the Essbase menu, Essbase Spreadsheet Add-in has not been registered with Excel. To register Essbase Spreadsheet Add-in: • From the Windows desktop, select Start > Programs > Hyperion > Essbase Client > Register Spreadsheet Add-in. When you add Essbase Spreadsheet Add-in to Excel, most spreadsheet operations remain unchanged; Essbase Spreadsheet Add-in simply adds an Essbase menu and shortcuts with which you can access instances of Essbase Server to retrieve and navigate data. However, some Excel mouse behaviors (such as right-click shortcut menus) are taken over by Essbase. If you are an infrequent user of Essbase Spreadsheet Add-in, you can unregister the add-in when you are done using it, thus returning to normal Excel functionality.
Essbase 11.1.1: Bootcamp
B-3
Oracle Internal & Oracle Academy Use Only
Essbase menu
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in To unregister Essbase Spreadsheet Add-in • From the Windows desktop, select Start > Programs > Hyperion > Essbase Client > Unregister Spreadsheet Add-in.
Prior to using the Essbase toolbar for Excel, you must install the toolbar by opening an Excel file that is provided as part of the default Essbase installation. You do not have to perform the toolbar installation procedure again unless you delete the Essbase toolbar from the Toolbars dialog box in Excel. To install the Essbase toolbar: 1. In Excel, select File > Open. 2. From the x:\...\AnalyticServices\client\sample directory, open esstoolb.xls. Macros embedded in this file install the Essbase toolbar. NOTE
When you open the file, two dialog boxes may be displayed warning that esstoolb.xls contains macros. If so, click the Enable Macros button on the first dialog box, and then click OK on the second dialog box. The macros must be enabled to install the Essbase toolbar. Excel macro security must be set to Medium or lower to install the toolbar.
3. Select File > Close to close esstoolb.xls. You do not need to modify or save the file.
B-4
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Essbase Spreadsheet Add-in features a convenient toolbar that displays buttons for accessing most of the common Essbase menu commands without opening the Essbase menu. You can view a short description of a button on the toolbar by moving your cursor over the button.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Managing Database Connections Conne cting to database s
Disconne cting from datab ases
1
2
5
3
3
2
4 4
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Managing Database Connections Before you retrieve data, you must connect to a database on an instance of Essbase Server. When you finish working with the database, you disconnect from the database and Essbase Server. Keep the following guidelines in mind: • You can have only one database connection from any individual worksheet in a workbook. That is, you cannot retrieve data from more than one database to a single worksheet. • Within a single workbook, you can have multiple database connections, one for each worksheet. • Database connections are persistent until you disconnect them or until you exit Essbase Spreadsheet Add-in. Closing the Excel workbook does not end established connections. • You can view all current established connections in the Disconnect dialog box.
Essbase 11.1.1: Bootcamp
B-5
Oracle Internal & Oracle Academy Use Only
1
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in • If you have at least one established connection, the system does not prompt you to connect again on subsequent worksheets, but uses the last requested connection. To connect to a database: 1. Select Essbase > Connect. The Essbase System Login dialog box is displayed. 2. From the Server drop-down list, select an Essbase Server instance.
Application and database names are displayed for the selected server. 4. Select an application-database pair. 5. Click OK. To disconnect from a database: 1. Select Essbase > Disconnect. The Essbase Disconnect dialog box is displayed. 2. Select a worksheet connection. 3. Click Disconnect to disconnect the selected worksheet. 4. Click Close.
B-6
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
3. Enter your username and password, and then click OK.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Retrieving Data When you select Essbase > Retrieve, Essbase returns toplevel data into an empty spreadsheet.
Oracle Internal & Oracle Academy Use Only
1 2 3
Excel
Essbase Serve r
Essbase database
4 Top- level data
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Retrieving Data Each time you retrieve information from Essbase, the following sequence of events occurs: 1. Essbase Spreadsheet Add-in requests data from the server. 2. The server processes the request and prepares the data. 3. The server transmits the data to Essbase Spreadsheet Add-in. 4. The spreadsheet application receives the data from Essbase and organizes it in a worksheet.
Essbase 11.1.1: Bootcamp
B-7
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in When you retrieve data into an empty worksheet, the server returns data from the top levels of each database dimension. You can use the top-level data as a starting point to navigate, or drill down, into levels of detailed data. For example, if you retrieve top-level data from the Bigcorp Sales database, the following five dimensions are displayed: Year Tot, Accounts, Scenario, Product, and Customer. You can retrieve data by double-clicking an empty spreadsheet cell, selecting Essbase > Retrieve, or clicking (Retrieve) on the Essbase toolbar. If every row in the report is #Missing and #Missing suppression is turned on, then the retrieve fails and the message “No data was generated: Suppress Missing = [TRUE]. Sheet not overwritten” is displayed.
B-8
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
TIP
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Representing Multidimensional Data in Two-Dimensional Reports All dimensions must be represented in the spreadsheet. The spreadsheet layout has four sections:
Header la bels
Column labels
Row labels
Data cells
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Representing Multidimensional Data in Two-Dimensional Reports In a multidimensional database, a data value is the intersection of all dimensions of the database. In a spreadsheet, a cell is the intersection of a row and a column. To translate the spreadsheet cell into a multidimensional data value, think of the multidimensional data value as the intersection of members (one member from each dimension) displayed as rows and columns of a spreadsheet (represented by the row and column labels). You can refine your view by focusing the row and column intersections along a specific slice of the cube, represented by the header labels. The example shown in the slide illustrates a spreadsheet representing this scenario: • The spreadsheet displays Net Sales data from the accounts dimension for the Lightbolt product line. • Customer sales channels are displayed as rows of the spreadsheet.
Essbase 11.1.1: Bootcamp
B-9
Oracle Internal & Oracle Academy Use Only
• •
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in • The Year Tot dimension, represented by quarters, is displayed as columns of the spreadsheet. The Current Year and Prior Year members of the Scenario dimension are also displayed in the columns of the spreadsheet.
Oracle Internal & Oracle Academy Use Only
• The cells, the intersections of the rows and columns, combined with the header information represent the data values. For example, the first data value in cell B4, 910,669.50, represents net sales of Lightbolt hard drives to OEM customers in the first quarter of the current year.
B-10
Essbase 11.1.1: Bootcamp
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Label Scanning General rules Header rules Row and column rules
Column la bels Header la bels Row la bels
Header labels
Column labels
Row labels
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Label Scanning When you submit a data retrieval request, Essbase initiates a label-scanning process. The scanning looks for report labels on the spreadsheet to match with members in the outline. The header section of the worksheet is scanned first, then the column and row sections. When at least one label is matched for each dimension, Essbase knows where to place data in the spreadsheet, assuming that the labels adhere to the following rules. If your spreadsheet does not follow the rules, Essbase stops the requested retrieve action and displays a message that describes the error condition. General Rules The following summarizes general rules for placing labels on a worksheet: • Labels on the worksheet must match outline members or their aliases. • All standard dimensions must be represented in the header or row-column section for Essbase to resolve a data point. Essbase 11.1.1: Bootcamp
B-11
Oracle Internal & Oracle Academy Use Only
• • •
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in • You must precede all member names that consist of numbers with a single quote. For example, if the account number for sales is 14000, enter ‘14000 in the spreadsheet cell. Header Rules The following rules apply to the scanning process for the header section: • Only one member from a dimension can be displayed.
• If a dimension is represented in the header section, members from the dimension cannot be displayed in a row or column. • If a dimension name is not found on the worksheet during the label scanning process, Essbase places the dimension name (generation 1) in the header section. • Retrieving data into a blank sheet places the generation 1 members of all standard dimensions on the spreadsheet as headers, except the first dimension in the outline, which is displayed as a row. • Header members can be displayed in any order. They can also be stacked in multiple rows. Stacking header members results in a new header placement when you drill across columns. • When you drill down on a parent-level header member, the header member and its children are moved to rows. When you press the Alt key while drilling down on a parent-level header member, the header member and its children are moved to columns. Row and Column Rules The following rules apply when you place row and column labels: • Row and column labels must be on separate rows below the header section. • A report must include at least one row and one column dimension. • Each column dimension must be on a row of its own prior to the rows containing row labels. All members of a given column dimension must be displayed on the same row. • Each row dimension must be in a column of its own, separate from the columns containing column labels. All members from a given row dimension must be displayed in the same column. • A row or column dimensions can be grouped by, or nested in, another row or column dimension. There is no limit to the number of nested dimensions, up to the total number of dimensions in the database. B-12
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• Header members define all data on the page for their dimensions.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Multidimensional operations • Navigation • Pivot Editing commands • Retain • Remove • Flashback
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Manipulating Multidimensional Data After you retrieve multidimensional data into a spreadsheet, you can manipulate the data by performing multidimensional operations such as drilling down, rolling up, and pivoting. These operations are supported by corresponding Essbase Spreadsheet Add-in commands. Essbase Spreadsheet Add-in also provides commands to perform simple data-editing operations. You can retain or remove report rows or columns or restore the previous view.
Essbase 11.1.1: Bootcamp
B-13
Oracle Internal & Oracle Academy Use Only
Manipulating Multidimensional Data
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Operation
Description
Zoom In
Drills down from a selected member into the dimension hierarchy as specified by the outline
Zoom Out
Collapses one level up from a selected member, as specified by the outline hierarchy
Keep Only
For the selected dimensions, retains only the selected members
Remove Only
For the selected dimensions, removes only the selected members
Pivot
Changes the row-column orientation of a dimension or the order of grouping of dimensions in rows or columns
Flashback
Reverses the last operation (Flashback can undo only one step.)
B-14
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
The following are the basic data manipulation operations of Essbase Spreadsheet Addin, all of which (except Flashback) initiate the label-scanning process:
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
•
Select Essbase > Zoom In to drill down.
•
Press Alt and double-click to drill across the spreadsheet.
• •
Select Essbase > Zoom Out to drill up. Select Essbase > Navigate Without Data to turn automatic data retrieval on or off.
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Navigating Data You can navigate data, based on the outline hierarchy. Essbase Spreadsheet Add-in provides three commands that support navigation operations. Zooming In You zoom in (drill down) to navigate to lower levels in a multidimensional database hierarchy to display detail. For example, if you want to view a data value for a specific quarter or month rather than an aggregate data value for the whole year, you can drill down on the Year Tot dimension. Because worksheets can accommodate more rows that columns, Essbase Spreadsheet Add-in always retrieves data into rows when you drill down on a header dimension member. You can change this default behavior and display the results across columns by pressing the Alt key while drilling down.
Essbase 11.1.1: Bootcamp
B-15
Oracle Internal & Oracle Academy Use Only
Navigating Data
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Navigating Without Data You use the Navigate Without Data option to perform navigational operations without retrieving data. This feature is especially useful when dealing with dynamically calculated members, which Essbase must calculate every time you perform a retrieval or data manipulation operation. After your navigational operations are complete, you must remember to turn off the Navigate Without Data option in order to retrieve. To zoom in, zoom out, or navigate without data: The following table describes the procedures for these operations: Operation
Procedure Options
Zoom in (drill down) on a selected member
• Select Essbase > Zoom In. • Double-click the selected member (if mouse button actions are enabled). • Click
Zoom out (drill up) from a selected member
.
• Select Essbase > Zoom Out. • Double right-click the selected member (if mouse button actions are enabled). • Click
.
Zoom in (drill down) on a header 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
B-16
.
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Zooming Out You zoom out (drill up) to navigate to higher levels in the multidimensional database by collapsing the current member tree. For example, if you previously drilled down on the Year Tot dimension to view data for quarters, you can drill up to view aggregate data for the whole year.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Retaining and Removing Data Subsets
Keep Only
Remove Only
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Retaining and Removing Data Subsets Essbase Spreadsheet Add-in provides tools that enable you to remove dimensional slices (data subsets) without deleting individual cells. The Keep Only command retains the selected member rows or columns of the selected dimensions and removes all non-selected member rows or columns of the selected dimensions from the worksheet. The Remove Only command is the counterpart to the Keep Only command. Remove Only removes the selected members rows or columns of the selected dimensions and retains all non-selected rows and columns of the selected dimensions in the worksheet.
Essbase 11.1.1: Bootcamp
B-17
Oracle Internal & Oracle Academy Use Only
Select Essbase > Keep Only to retain the data subset. Select Essbase > Remove Only to remove the data subset.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in To keep only or remove only: The following table describes the procedures for these operations. Operation
Procedure Options
Keep only
• Select Essbase > Keep Only. • Click
Remove only
.
• Select Essbase > Remove Only. .
Oracle Internal & Oracle Academy Use Only
• Click
B-18
Essbase 11.1.1: Bootcamp
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Pivoting Data Row group
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Pivoting Data You can change the orientation of worksheet data by performing the following tasks: • Move a row group to a column group • Move a column group to a row group • Change the order of row groups • Change the order of column groups You can use the Pivot command on the Essbase menu to accomplish the first two tasks. You can right-click the desired dimension and drag your selection to the destination cell to accomplish all four tasks. TIP
You cannot pivot the last column or row dimension.
Essbase 11.1.1: Bootcamp
B-19
Oracle Internal & Oracle Academy Use Only
Column group
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Managing Worksheet Options
Options specific to the user environment Style and color formatting options Advanced options Zoom in options Options specific to individual worksheets
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Managing Worksheet Options Essbase Spreadsheet Add-in includes options that control how the add-in operates. You can use the Essbase Options dialog box to select options for the active sheet and customize the behavior of the Essbase Spreadsheet Add-in software. The Essbase Options dialog box contains the following tabs: Display, Zoom, Mode, Style, and Global.
B-20
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Select Essbase > Options to customize the behavior of Spreadsheet Add-in.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Global Options
Primary button • Retrieve • Drill down
• •
Secondary button • Drill up • Pivot
Memory: Enable Flashback Mode: Navigate without Data
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Global Options Global options are specific to the user environment. Global option settings apply to all worksheets and workbooks. Mouse Actions These check boxes enable the primary (left button for right-handed users) and secondary (right button for right-handed users) mouse button functionality for drill-down and pivot actions. For example, you can enable or disable the primary mouse button to retrieve or drill down on data. You can also enable or disable the secondary mouse button to drill up on data or pivot data.
Essbase 11.1.1: Bootcamp
B-21
Oracle Internal & Oracle Academy Use Only
Global options control options specific to the user environment: • Mouse Actions
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Enabling mouse actions for Essbase Spreadsheet Add-in disables some Excel functionality, such as shortcut menus. By selecting the Limit to Connected Sheets check box, you can tell Essbase Spreadsheet Add-in to react to mouse clicks only in worksheets that are connected to an Essbase application and database. Enable the Limit to Connected Sheets option If you are using Essbase Spreadsheet Add-in and Smart View concurrently. When Essbase Spreadsheet Add-in and Smart View are installed on the same computer and this check box is selected, mouse clicks are ignored by Essbase Spreadsheet Add-in if the sheet being acted upon is not connected to an Essbase data source through Essbase Spreadsheet Add-in.
Memory You can turn on or off the Flashback functionality that stores the current view before processing retrievals or pivoting. Disabling Flashback conserves memory. Mode You can turn on or off Navigate Without Data, which enables you to develop reports using zoom, pivot, and keep-only actions without retrieving data from the database.
B-22
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
NOTE
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Next level
Bottom level
All levels C opyrigh t © 2 008, Oracle . All rig hts reserved.
Zoom Options Zoom options are specific to individual worksheets. Each sheet can have its own zoom settings. Zoom settings are saved with the Excel workbook. Zoom In Zoom In options enable you to control zoom behavior. Zoom In has the following settings: Option
Description
Next Level
Navigates to the next level in the 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.
Essbase 11.1.1: Bootcamp
B-23
Oracle Internal & Oracle Academy Use Only
Zoom Options
Module 6 Appendices
Option
Description
Bottom Level
Drills down to level 0 descendants of the selected member. This is a useful feature when you want to quickly see input data (which is usually loaded to the bottom of the dimension hierarchy).
Sibling Level, Same Level, and Same Generation
Cross the dimension hierarchy horizontally from the selected member rather than drill down vertically from the selected member.
Formula
Enables drilling down based on member formulas in the outline. The drill results in a list of the members that compose the formula.
Include Selection
Retains the selected parent member and its children on the report.
Zoom Out Zoom In settings do not affect the Zoom Out command. In all cases, Zoom Out navigates to the parent of the selected member.
B-24
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Appendix B Creating Reports with Essbase Spreadsheet Add-in
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Style Options
•
Define one set of styles per database connection. Enable styles for specific worksheets on the Display tab.
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Style Options You can create a different style scheme for each database and choose to display the styles you created in specific worksheets. Your style schemes apply to all worksheets for which styles are enabled. Style schemes saved are as local user settings, and not with the workbook. NOTE
Because styles are defined for a specific database connection, the Styles tab is not displayed if the worksheet is not connected to a database.
Essbase 11.1.1: Bootcamp
B-25
Oracle Internal & Oracle Academy Use Only
•
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in The following table describes the three style categories: Category
Description
Member styles
Set font characteristics (font, size, style, color, and so on) for parent, child, shared member, members with formulas, and members with a Dynamic Calc storage setting. Settings apply to members of all dimensions. Parent style settings apply to all non-level 0 members. Child style settings apply only to level 0 members.
Dimension styles
Set font characteristics and backgrounds for each dimension in your database. When both dimension and member styles apply, the member style takes precedence. In the example on the slide, Jan, Feb, and Mar are displayed with the white font defined for the Year Tot dimension, but Qtr 1 is displayed with the bold blue font defined for parents.
Data cell styles
Set font characteristics on data cells themselves (not member labels) for distinguishing linked reporting objects, integration server drill-through links, read-only data, and read-write data.
NOTE
For more information about linked reporting objects (LROs), read the Database Administrator’s Guide. For a comprehensive discussion of Integration Server drillthrough links, read the Essbase Spreadsheet Add-in User’s Guide for Excel.
B-26
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
In the example on the slide, parent members of every dimension are displayed with a bold blue font.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Oracle Internal & Oracle Academy Use Only
Display Options
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Display Options Display options are specific to individual worksheets. Each sheet can have its own settings. Indentation Three levels of indentation are provided: Totals, Subitems, and None. Replacement You use the replacement options to enter your own nomenclature for #Missing and #NoAccess labels. For example, you can set #Missing to be a dash (-) or a text value of zero.
Essbase 11.1.1: Bootcamp
B-27
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Suppress You use the suppression options to suppress rows that contain missing data or zero values or to suppress underscore (_) characters in member names. Suppress #Missing and suppress zero functionality is defined by row. Entire rows with #Missing or zero values are deleted upon retrieval if, under Suppress, you select #Missing Rows and Zero Rows.
• Use Aliases: Use aliases according to the selected alias table. Members with no aliases default to the member name. • Use Both Member Names and Aliases: Use both member names and aliases for row dimension labels. The result may be distracting in rows with multiple grouped dimensions. If a member has no alias, the member name is presented twice. This feature is not functional for columns. Duplicate Members You can display qualified names of duplicate member names. There are two duplicate member name options, which you can use separately or together: • Show Qualified Member Names on Sheet: Essbase displays duplicate members with their qualified member names. • Show Qualified Member Names as Comment: For duplicate members, Essbase creates Excel cell comments that display the qualified member names. Unlike standard Excel cell comments, these comments move from cell to cell, following the relevant members as you drill and pivot. Cells You can control the display of certain cell characteristics. There are three cell options: • Adjust Columns: Essbase automatically adjusts column widths to the longest data value or member name every time you retrieve. • Use Styles: If you defined styles on the Styles tab, you must enable this setting to display styles in your current worksheet. • Repeat Member Labels: This option fills in the outer grouped member names in rows and columns when you use more than one dimension.
B-28
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Aliases You can display aliases rather than member names. There are two alias options, which you can use separately or together:
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Preserving Excel Formulas By default, basic retrieve operations delete Excel formulas from a worksheet. To retain formulas on a worksheet during retrieve operations, you must instruct Essbase to preserve the formulas. Collectively, formula preservation options enable you to retain formulas during data retrievals, keep and remove only operations, and drill operations. In addition, Essbase can replicate formulas for additional members retrieved into the worksheet as part of a drilling operation.
Essbase 11.1.1: Bootcamp
B-29
Oracle Internal & Oracle Academy Use Only
Preserving Excel Formulas
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Option
Description
Retain on Retrieval
This option preserves formulas on a simple retrieve operation, but Essbase deletes formulas without warning for any other retrieve operation, such as during a zoom operation.
Retain on Keep and Remove Only
This option instructs Essbase to preserve formulas when Keep Only or Remove Only is used.
Retain on Zooms
This option instructs Essbase to preserve formulas during a zoom operation.
Formula Fill
This option fills in formulas for newly inserted members during a zoom operation.
Keep in mind the following guidelines and restrictions when using the formula preservation options: • You must select Retain on Retrieval to enable Retain on Keep and Remove Only and Retain on Zooms. • You must select Retain on Zooms to enable Formula Fill. • Formula Fill is intended to work correctly only on row zoom operations. Column zoom operations with Formula Fill enabled may produce unexpected results. • When you select Retain on Retrieval, the Suppress #Missing Rows and Zero Rows options on the Display tab are not selectable. If you select either of these display options, the formula preservation options are not selectable. • You can not pivot in formula preservation mode. • When Retain on Retrieval is selected, retrieval times may be slightly delayed.
B-30
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Essbase Spreadsheet Add-in provides the following formula preservation options on the Mode tab of the Essbase Options dialog box:
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Replicating Reports with Cascade Based on member selection, replicates the standard report Creates a workbook and table of contents
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Replicating Reports with Cascade With cascade reporting, you can create one standard report complete with precise styles, color coding, and number formats. You can then replicate the report format to multiple cost centers, regions, product lines, or other business view elements. For example, Bigcorp analysts can create an income statement showing retail channel totals and then replicate the row-column layout and format to generate income statements for individual retail customers.
Essbase 11.1.1: Bootcamp
B-31
Oracle Internal & Oracle Academy Use Only
• •
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Creating Cascade Reports (1/2)
3
2
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Creating Cascade Reports (1/2) Cascade creates multiple workbooks or sheets that reside within a single workbook and replicate your standard format. It retrieves on each replicated sheet and, optionally, indexes the sheet reference. To create a cascade report: 1. In the template spreadsheet report, select the cells that contain the members from which you want to create related replicated reports. 2. Select Essbase > Cascade. The Essbase Cascade Options dialog box is displayed.
B-32
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
1
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Cascade Level
Description
Next Level
Creates a report for the children of the selected member. This is the default cascade option.
All Levels
Creates a report for the descendants of the selected member.
Bottom Level
Creates a report for all level 0 descendants of the selected member.
Sibling Level
Creates a report for the siblings of the selected member.
Same Level
Creates a report for all members at the level of the selected member.
Same Generation
Creates a report for all members at the generation of the selected member.
Formulas
Creates a report for all members that are included in the formula of the selected member.
Essbase 11.1.1: Bootcamp
B-33
Oracle Internal & Oracle Academy Use Only
3. On the Cascade Information tab, select a cascade level for each selected member, and then click OK.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
5
4
6
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Creating Cascade Reports (2/2) 4. On the Destination Options tab, define the following information: • Where and in what form to create the cascaded sheets • Prefix and suffix of the file names or workbooks • File information 5. On the Format Options tab, define the following information: • Header and footer • Whether to suppress missing rows • Whether to generate a table of contents file 6. Click OK.
B-34
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Creating Cascade Reports (2/2)
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Selecting Members from the Outline
Saved selection myselect.sel
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Selecting Members from the Outline Your database outline may contain hundreds or even thousands of members, making it difficult to remember every member name. The Essbase Member Selection dialog box enables you to find and select members and define their layout in the spreadsheet. You can use Boolean connectors, such as AND, OR, and NOT, or other search parameters to specify criteria and conditions that members must meet to be eligible for member selection. In addition, you can save selection criteria rules for later use. The Essbase Member Selection dialog box provides direct access to your database outline.
Essbase 11.1.1: Bootcamp
B-35
Oracle Internal & Oracle Academy Use Only
You use the Essbase Member Selection tool: • To select members from the database • To place selected members in the spreadsheet • To save the selection criteria
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in To define selection rules: 1. From the Dimension drop-down list, select a dimension. The selected dimension and its members are displayed under Members. 2. Under View Method, select one of the following options for copying members to the spreadsheet:
• By Generation Name: Enables you to select all members of a particular generation in the dimension. • By Level Name: Enables you to select all members of a particular level in the dimension. • By Dynamic Time Series: Enables you to select Dynamic Time Series members (only for the dimension tagged as Time). 3. Under Members, select members, and click Add. The selected members are displayed under Rules. 4. Optional: Select one or more rules, and click Move Item Up, Move Item Down, Remove Item, or Remove All to reorder or remove the selected members. 5. Under Output Options, select an option to define how to insert the selected members into the spreadsheet: Selection Option
Description
Place Down the Sheet
Inserts members down a column. If you clear the check box, Essbase Spreadsheet Add-in inserts members across a row.
Suppress Shared Members
Suppresses shared members from the results. This option is available only when the view method is set to generation or level names.
Insert List Before Active Cell
Inserts members before an active cell. If you clear the checkbox, Essbase Spreadsheet Add-in overwrites the active cell and any other cells in the selected range.
Use Aliases
Inserts member aliases from the current alias table. This option also changes the display of the dimension hierarchy to member aliases.
6. Optional: Click Save to save the selection rule in a file on an instance of Essbase Server or in your local file system. 7. Click OK.
B-36
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• By Member Name: Enables you to select members and their descendants from the dimension hierarchy.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Defining Selection Rules Year Tot All Child ren and Member
Jan
1
2
All children
Oracle Internal & Oracle Academy Use Only
Qtr 1
Feb 3
Mar Qtr 2 4
Apr
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Defining Selection Rules After selecting members from the outline, you can define additional criteria for each selected member. To define selection rules for a member: 1. Under Rules, right-click the member name. 2. From the shortcut menu, select an option: Selection Option
Description
All Children
Selects all children of the selected member
All Children and Member
Selects all children of the selected member and the selected member
All Descendants
Selects all descendants of the selected member.
Essbase 11.1.1: Bootcamp
B-37
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in Selection Option
Description
All Descendants and Member
Selects all descendants of the selected member and the selected member
Subset
Opens the Subset Dialog box to further define the member selection criteria
3. Click Preview. The Member Preview dialog box is displayed.
Oracle Internal & Oracle Academy Use Only
4. Preview the members that are displayed in the spreadsheet, and then click Close.
B-38
Essbase 11.1.1: Bootcamp
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Applying Additional Rules 5
2
3
4
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Applying Additional Rules The Subset Dialog box enables you to apply additional rules to a subset of members. You can select members that have certain user-defined attributes or match a certain pattern string. You can also select members by using generation and level names, or you can define conditional logic and group conditional expressions. Setting subset conditions gives you flexibility in defining your selection rules. In the example on the slide, Bigcorp analysts create a subset definition to select only level 0 products that start with either L or M. To specify subset conditions: 1. Under Rules, right-click the member name and, from the shortcut menu, select Subset. The Subset Dialog box is displayed.
Essbase 11.1.1: Bootcamp
B-39
Oracle Internal & Oracle Academy Use Only
1
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in 2. Define the selection conditions. The conditions are displayed under Conditions. 3. Optional: Click Add (, Add ), Remove ( ), or Remove All ( ) to group conditions or remove groupings. 4. Click Preview, review the list meeting the criteria, and then click Close. 5. Click OK.
Oracle Internal & Oracle Academy Use Only
Additional rules are displayed under the member in the Essbase Member Selection dialog box.
B-40
Essbase 11.1.1: Bootcamp
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Creating Savable Queries Supports the spreadsheet report layout Filters and sorts data based on values Saves the query on the server or client
Sa ved quer y MyQuery.eqd
Saved report scr ipt MyQuery.rep
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Creating Savable Queries Essbase Spreadsheet Add-in provides the Query Designer tool to create structured spreadsheet reports. Essbase Query Designer helps you become familiar with a new outline or create a report that uses complex grouping of dimensions in rows or columns. Its interfaces and dialog boxes step you through the process of placing member labels on the spreadsheet. Reports generated with Query Designer are reusable because the tool saves the reports in the form of a query file (EQD) and, if you save the query to an instance of Essbase Server, a report script file (REP). You can store the files on an instance of Essbase Server or locally and use them for defining new reports. Using Query Designer is the fastest and easiest way to create report scripts, which can be used for selectively extracting data during batch processes.
Essbase 11.1.1: Bootcamp
B-41
Oracle Internal & Oracle Academy Use Only
• • •
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Query Designer Interface
Hint frame
Pro perties frame
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Query Designer Interface The Query Designer interface is separated into three frames: navigation, properties, and hint. Navigation Frame You create and apply a query in the navigation frame. The frame displays all database dimensions and provides access to the properties frames. Properties Frames In the properties area are displayed various frames, such as query information, layout, member selection, member filters, data sorting, data filtering, data restriction, messages and confirmation, and help. You select the preferred item in the navigation frame to access the preferred frame in the properties area. Hint Frame This frame provides a short description of what is currently displayed in the properties frame. The help text in the hint frame changes depending on your selection in the navigation frame. B-42
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Navigation frame
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Creating Basic Queries 2
3 5
4
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Creating Basic Queries After you connect to a database and launch Query Designer, you can create a query. To create a quer y: 1. In the Navigation frame, select a worksheet, right-click, and then select New > Query. The Navigation frame displays dimensions and the Properties frame displays the default report layout. 2. Click and drag to place dimensions as page, row, and column headers. 3. Specify members for headers, rows, and columns. 4. Save the query. 5. Apply the query to the Excel worksheet.
Essbase 11.1.1: Bootcamp
B-43
Oracle Internal & Oracle Academy Use Only
1
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Creating Advanced Queries Ranking data (top or bottom) Filtering data Sorting data
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Creating Advanced Queries Query Designer is the only tool in Essbase Spreadsheet Add-in that enables you to create reports based on data values as opposed to member labels. Its filtering and sorting tools enable you to apply specific, user-defined criteria to the data. You can use filtering and sorting for various purposes: • Create top or bottom lists (for example, top ten customers based on total sales) • Identify members with variance within specified ranges (for example, variances between actual and budget greater than 10%) • Identify members with values within specific ranges (for example, unit sales between 100,000 and 500,000) • Sort members according to data values (for example, ranking members based on total sales)
B-44
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
• • •
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
• • • •
Rank data Compare data to a value Compare one column to another Filter out missing data
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Filtering Data Despite the ease and speed with which you can navigate through large databases, it is not practical to use the capabilities of the spreadsheet application to filter and sort very large databases. However, Query Designer provides a powerful tool to define conditional retrievals. The data filtering tool in Query Designer gives you the ability to rank data, compare data to a specific value, compare data in one column to data in another column, and filter out missing data.
Essbase 11.1.1: Bootcamp
B-45
Oracle Internal & Oracle Academy Use Only
Filtering Data
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
You want to filter the query so it returns only the top 10 current year customers who also had sales of more than 50,000 in the prior year. When you apply the filters shown in the example on the slide, the query produces the following report:
B-46
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Filtering Queries Example You create the following query for Bigcorp Sales, which returns a basic year over year report of Net Sales for individual customers in January for the Lightbolt product line.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Sorting Data You can use Query Designer to sort row data in ascending or descending order. When selected, data sorting settings are displayed in the properties frame. The data sorting panel contains the following items: • Dimension being sorted: a drop-down list box that lists the dimensions specified in the rows of the query layout • Column used for sort: a drop-down list box from which you select one or more of the dimensions that are specified in the columns of the query layout to use as a basis for sorting • Ordering: a drop-down list box from which you select ascending or descending sort order for the selected column
Essbase 11.1.1: Bootcamp
B-47
Oracle Internal & Oracle Academy Use Only
Sorting Data
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in
Retrieving with Report Scripts
C opyrigh t © 2 008, Oracle . All rig hts reserved.
Retrieving with Report Scripts Essbase provides two retrieval modes: • Advanced Interpretation: This is the default retrieval mode. The advanced spreadsheet interpretation engine scans your worksheet for member name labels. Before scanning, you are required to clearly define at least one row dimension and one column dimension. Member names that are not represented on the spreadsheet when you begin the retrieval are not displayed on the spreadsheet after the retrieval.
B-48
Essbase 11.1.1: Bootcamp
Oracle Internal & Oracle Academy Use Only
Create dynamic report templates.
Module 6 Appendices Appendix B Creating Reports with Essbase Spreadsheet Add-in • Free-Form: This retrieval mode enables you to enter member names anywhere on your spreadsheet and allow Essbase to place the members in rows, columns, or header. Additionally, you can use report script commands to create dynamic reports. NOTE
Free-form retrieval mode cannot be used with duplicate member name outlines.
Using Report Script Commands When you retrieve data in free-form mode, Essbase can retrieve a list of members based on hierarchy relationships, instead of reading hard-coded labels. In the example on the slide, the report script command
View more...
Comments