Hyperion Bootcamp by rajakvs

VIEWS: 464 PAGES: 534

									hyperion system 9 bi+ essbase analytics bootcamp
                     student guide




            H Y P E R I O N E D U C AT I O N S E R V I C E S
Author                   Copyright 2005 Hyperion Solutions Corporation.
Lisa Alexander           All rights reserved.

Technical Contributors   “Hyperion,” the Hyperion “H” logo and Hyperion’s product names
Paul Hoch                are trademarks of Hyperion. References to other companies and
Marylou Holloway         their products use trademarks owned by the respective companies
                         and are for reference purpose only.
John Maloney
Markus Ender             No portion hereof may be reproduced or transmitted in any form or
                         by any means, electronic or mechanical, including photocopying,
Michael Nader
                         recording, or information storage and retrieval systems, for any
Sergiy Pecherskyy        purpose other than the recipient’s personal use, without the express
Peter DeHaan             written permission of Hyperion.
Nikolas Psomas           The information contained herein is subject to change without
Graphic Designer         notice. Hyperion shall not be liable for errors contained herein or
                         consequential damages in connection with furnishing, performance,
Carisa Cannan
                         or use hereof.
Publisher
Greg Brown
                         Any Hyperion software described herein is licensed exclusively
                         subject to the conditions set forth in the
                         Hyperion license agreement.

                         Use, duplication or disclosure by the U.S. Government is subject to
                         restrictions set forth in the applicable Hyperion license agreement
                         and as provided in DFARS 227.7202-1(a) and 227.7202-3(a)
                         (1995), DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)
                         (1995), FAR 52.227-19, or FAR 52.227-14, as applicable.

                         Hyperion System 9 BI+ Essbase             9.0       12/13/2005
                         Analytics Bootcamp
                         Student Guide

                         Course Code: 10134GC10SG
Preface                                                                     0




Welcome to Hyperion System 9 BI+ Essbase Analytics Bootcamp!
Before you begin, please take a moment to review this section. The
preface presents an overview of the following information:
 • Course objectives
 • Structure of the course
 • Course materials used in the class
 • Conventions used in the book
 • Additional resources to enhance your learning
 • Relevant follow-up courses that you might want to attend in the future


Course Objectives
After completing this course, you should be able to:
 • Describe the role of OLAP tools in Business Performance Management
 • Identify the components of the Analytic Services product family and
   describe its architecture
 • Design and build database outlines
 • Create load rules to automate dimension builds and data loads
 • Analyze data in Microsoft Excel, constructing and troubleshooting a
   variety of reports
 • Describe the Essbase data structure and configure a database for
   optimal performance
 • Create basic and advanced database calculation scripts
                                                                                    Preface


Course Structure
Hyperion System 9 BI+ Essbase Analytics Bootcamp is a 5-day, instructor-led training
course consisting of lectures, demonstrations, and hands-on exercises. In this course,
the instructor presents a topic conceptually by explaining its purpose, demonstrating how
it works, and then guiding the students through the exercises. Demonstrations and
hands-on exercises reinforce the concepts and skills introduced during lectures.


Course Materials
You use two books in class—the student guide and the student workbook. The instructor
may also give you handouts.


Student Guide
The student guide is designed to be used by students and the instructor during lecture
time. It has 5 modules:
 • Module 1 describes creating Essbase databases.
 • Module 2 describes building load rules for dimension building and data loading.
 • Module 3 describes reporting in Microsoft Excel with Essbase Spreadsheet Add-in
   and Smart View for Office.
 • Module 4 describes Essbase data storage and creating basic calculation scripts.
 • Module 5 describes creating advanced calculation scripts.
Each module contains lessons. Each lesson begins with a list of objectives followed by
the presentation of slides and accompanying text. The lesson ends with a summary of
the topics covered in the lesson.


Student Workbook
The student workbook has two sections—exercises and exercise solutions.

Exercises
A critical part of the learning process is the challenge of completing real tasks associated
with each lesson. Each exercise is an opportunity to apply your new knowledge.

Exercise Solutions
The exercise solutions present the detailed steps to successfully complete the exercises.




iv                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Preface


Conventions
The following text conventions are used in this course book:
 • Text to be typed, options to be selected, names of files and modules, and menu
   selections are displayed in bold type. Examples:
   - Select Clear Profile.
   - Click YES to clear the profile.
 • When available, figures are used to identify an object or task. Example:
   Click Edit.


 • Keyboard shortcuts are displayed as follows: Ctrl+Enter
 • Alerts are used to direct your attention to different types of information.
          NOTE
          A note provides related information, common mistakes, or
          cautions about the current topic.


          TIP
          A tip provides information that helps you work more
          efficiently.



Additional Resources
Use the following resources to enhance your learning:
 • Hyperion System 9 BI+ Analytic Services Database Administrator’s Guide
 • Hyperion System 9 Smart View for Office User’s Guide
 • Essbase Spreadsheet Add-in User’s Guide for Excel
 • Hyperion Developer Network (http://dev.hyperion.com)


Future Courses
The following list presents relevant courses that can be taken after you complete this
course.
 • Hyperion System 9 BI+ Integration Services: Create and Manage Data Structures



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         v
                                                                               Preface


 • Hyperion System 9 BI+ Enterprise Analytics: Deploy Aggregate Storage Databases
 • Hyperion System 9 BI+ Analytic Services for System Administrators
 • Hyperion System 9 BI+ Analytic Services New Features


      NOTE
      Course names and learner paths may change.
      Visit www.hyperion.com/services/education_services for the latest information.




vi                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Table of Contents                                                                                                                 0




Preface
Course Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Course Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Course Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
   Student Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iv
   Student Workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iv
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Future Courses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v


Module 1: Creating Databases

Lesson 1: Analytic Services Overview
Multidimensional Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
   Spreadsheet-Based Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
   Multidimensional View of Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
   Dimensional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
   Data Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
   Dimension Hierarchies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
   Operations in Multidimensional Data Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
   Sparse and Dense Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
Hyperion Business Performance Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
   Hyperion System 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
   Hyperion System 9 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Hyperion Analytic Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
   Analytic Services Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
   Analytic Services Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19
   Administration Services Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
Production Environment Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
   Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
   Load Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
   Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-28
   Essbase Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-30
   Smart View for Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31
   Analytic Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32
Table of Contents


Lesson 2: Designing and Creating Applications and Databases
Essbase Analytics Implementation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Analysis and Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
   Identifying Business Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
   Examining Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
   Analyzing Sample Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
   Designing Essbase Analytics Outlines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
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
Outline Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Creating Member Aliases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Implementing Dynamic Time Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11
Designing Scenario Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
   Tracking Data Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
   Tracking Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17
Controlling Outline Calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
   Consolidation Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
   Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Controlling Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
   Shared Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23
   Label Only Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25
   Implied Shares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27
   Dynamic Calc Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
Designing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31
   Consolidation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
   Hierarchy Calculations Versus Formula Design. . . . . . . . . . . . . . . . . . . . . . . . . . 3-35
   Creating Accounts Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-37
Enhancing Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38
   Time Balance Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39
   Expense Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41

viii                                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
                                                                                                   Table of Contents



Module 2: Building Load Rules

Lesson 4: Planning Dimension Design
Business View Dimension Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Combining Business Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Planning with Label Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
   Designing a Primary Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
   Designing Secondary Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10

Lesson 5: Creating Basic Dimension Build Rules
Dimension Build Load Rule Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Procedure for Creating Dimension Build Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
   General Setup: Steps 1–6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
   Creating Dimensions: Step 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
   Selecting the Dimension Build Method: Step 8 . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
   Defining Field Properties: Step 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
   Validating the Load Rule: Step 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
   Completing the Load Rule: Steps 11 and 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Configuring Dimension Maintenance Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
   Moving Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
   Modifying Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25
   Sorting Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27
   Updating Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29

Lesson 6: Creating Advanced Dimension Build Rules
Advanced Dimension Build Rules Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Creating Shared Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
   Generation Build Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
   Level Build Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
   Parent-Child Build Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
Creating Duplicate Member Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
   Qualifying Duplicate Member Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
   Creating Members with Duplicate Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Manipulating Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
   Arranging Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
   Altering and Ignoring Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Creating User-Defined Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                         ix
Table of Contents



Lesson 7: Creating Attribute Dimensions
Attribute Dimension Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
     Associating Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
     Assigning Attributes to Base Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
     Attribute Calculations Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
Comparative Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-11
     Design Considerations: Effect on Database Size . . . . . . . . . . . . . . . . . . . . . . . . 7-13
     Design Considerations: Effect on Batch Calculation Performance . . . . . . . . . . . 7-14
     Design Considerations: Effect on Reporting Layout . . . . . . . . . . . . . . . . . . . . . . 7-15
     Design Considerations: Effect on Reporting Performance . . . . . . . . . . . . . . . . . 7-18
Building Attribute Dimensions with Load Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19
     Assigning Attributes to Base Members in Load Rules . . . . . . . . . . . . . . . . . . . . . 7-21

Lesson 8: Loading Data
Data Load Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Procedure for Creating Data Load Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
   General Setup: Steps 1–6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
   Defining Field Properties: Step 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
   Referencing Missing Dimensions: Step 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-11
   Setting Data Load Values Options: Step 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13
   Validating the Load Rule: Step 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16
   Completing the Load Rule: Steps 11 and 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17
Loading Data to Duplicate Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19
Selecting and Rejecting Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21
Capturing New Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23


Module 3: Spreadsheet Reporting

Lesson 9: Creating Basic Spreadsheet Add-in Reports
Essbase Spreadsheet Add-in Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Adding Essbase Spreadsheet Add-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
   Essbase Menu and Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
   Managing Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
   Representing Multidimensional Data in Two-Dimensional Reports . . . . . . . . . . . .9-11
   Label Scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13
   Viewing Members with Duplicate Names. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15



x                                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
                                                                                                     Table of Contents



Manipulating Multidimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              9-16
  Navigating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     9-18
  Retaining and Removing Data Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     9-20
  Pivoting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   9-22
Managing Worksheet Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            9-23
  Global Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9-24
  Zoom Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      9-26
  Style Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   9-28
  Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     9-30

Lesson 10: Creating Advanced Spreadsheet Add-in Reports
Preserving Excel Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Replicating Reports with Cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
   Creating Cascade Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
   Creating Cascade Reports (continued) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7
Selecting Members from the Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8
   Defining Selection Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10
   Applying Additional Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12
Creating Savable Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14
   Query Designer Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15
   Creating Basic Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16
Creating Advanced Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17
   Filtering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18
   Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20
Retrieving with Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21

Lesson 11: Reporting with Smart View for Office
Smart View Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-2
   Common Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-4
   Unique Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-6
   Smart View Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-9
   Integrating with Microsoft Office. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-10
Configuring Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-12
   Configuring Analytic Services Smart View Provider . . . . . . . . . . . . . . . . . . . . . .11-13
   Connecting to Analytic Services Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-15
   Connecting to Analytic Services Databases (continued) . . . . . . . . . . . . . . . . . . .11-17
Customizing the Smart View Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-18
Creating Ad Hoc Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-20



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                            xi
Table of Contents



    Pivoting and Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-21
    Setting Ad Hoc Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-23
    Formatting Data Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-25
Setting the Point of View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-27
    Selecting Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-28
    Saving, Copying, and Deleting the Point of View. . . . . . . . . . . . . . . . . . . . . . . . .11-30


Module 4: Creating Basic Calculations

Lesson 12: Storing and Calculating Data
Calculation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2
   Outline-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-4
   Script-Based Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5
   Calculation Script Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8
Order of Outline Calculations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9
Data Block Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-11
Data Blocks and the Index System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
   Data Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
   Dense Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16
   Sparse Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-18
Database Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-20
   Dimension Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-21
   Block Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-22
Data Block Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-24
   Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25
   DATACOPY Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-26
   Sparse Dimension Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-27
   Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28
Database Calculation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29
   Input Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-30
   Calculating Dense Dimensions: Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-31
   Calculating Dense Dimensions: Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-32
   Calculating Sparse Dimensions: Customer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-33
   Calculating Sparse Dimensions: Product. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-35

Lesson 13: Creating Calculation Scripts
Calculation Script Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
   Information Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6



xii                                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
                                                                                                     Table of Contents



   Housekeeping Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8
   Baseline Fix Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10
   Normalization Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12
   Main Rollup Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14
   Back Calculation Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-15
Expected Versus Correct Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-16
   Expected Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-17
   Correction of Calculated Percentages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19
   Correction of Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-22
Troubleshooting CALC DIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24

Lesson 14: Controlling the Calculation Process
Top-Down Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2
Focusing Calculations with FIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
Calculating Conditionally with IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
   Boolean Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8
   Syntax Requirements for IF Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10
Comparing FIX and IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-12
Referencing Members Explicitly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-14
Referencing Members Dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-16
   Member Set Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-17
   Relationship Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19
Calculation Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-21
   Temporary Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22
   Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-25


Module 5: Advanced Calculations

Lesson 15: Developing and Testing Calculation Scripts
Script Development Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2
    Calculation Test Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4
    Prototype Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-6
    Pilot Phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-9
Upper-Level Data Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-13
    Aggregating Missing Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-14
    Loading to Leaf Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-19
Intelligent Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-22




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                           xiii
Table of Contents



Lesson 16: Normalizing Data
Allocating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2
Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-6
    Partitioning Calculations by Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
    Developing Normalization Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-10
    Developing Block Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13
Normalizing Rates and Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15
Copying and Clearing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-17


Module 6: Appendices

Appendix A: Aggregate Storage Databases
Enterprise Analytics Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
    Accessing a Wider Application Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
    Combining Block and Aggregate Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
    Delivering End-to-End Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Aggregate Storage Database Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Creating Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
MDX Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
    Identifying the Parts of a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
    Identifying Dimensions and Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
    Selecting Multiple Members. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
Defining the MDX Data Model: Tuples and Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17
    Defining Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18
    Defining Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-20

Appendix B: Analytic Integration Services Overview
Analytic Integration Services and Data Warehousing . . . . . . . . . . . . . . . . . . . . . . . . .                       B-2
   Hub-and-Spoke Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             B-2
   Tiered Analytical Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           B-3
Analytic Integration Services Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 B-4
   Analytic Integration Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        B-5
   OLAP Metadata Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           B-6
   Analytic Integration Services Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            B-6
   Analytic Integration Services Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               B-7
   OLAP Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   B-7
   OLAP Metaoutline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      B-8



xiv                                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
                                                                                                    Table of Contents



Analytic Integration Services Implementation Architecture . . . . . . . . . . . . . . . . . . . . . B-9
   Relational Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-9
   Analytic Integration Services Server and Client. . . . . . . . . . . . . . . . . . . . . . . . . . B-10
   Analytic Services Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10
Data Integration Implementation Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-12
   OLAP Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13
   Metaoutlines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13
OLAP Model Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14
    OLAP Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
    Creating OLAP Models Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
OLAP Metaoutline Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-16
    OLAP Model and OLAP Metaoutline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-16
    Metaoutlines and OLAP Metadata Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17
    Creating Metaoutlines Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17
Creating Applications and Databases Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-18
Creating Analytic Services Databases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
Specifying Data storage Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21
Performing Member and Data Loads. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-23
Creating Drill-Through Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-25
Defining Drill-Through Intersection Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-27
Adding Drill-through Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29
Accessing Drill-Through Reports Using Hyperion Essbase Spreadsheet Add-in . . . B-30
Hybrid Analysis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-32
Hybrid Analysis Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-33
Creating Hybrid Analysis Metaoutlines and Analytic Services Databases. . . . . . . . . B-35
Advanced Relational Access Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-36
Enabling Advanced Relational Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-37
Enabling Relational OLAP Using Analytic Integration Services. . . . . . . . . . . . . . . . . B-38




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                         xv
Table of Contents




xvi                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
M O D U L E    1

Creating Databases                                                         0




Overview
This module provides an overview of OLAP concepts and the Essbase
platform, introduces the primary user interfaces, and teaches basic
dimension design concepts. Based on a given business scenario, you learn
how to create applications, databases, and outlines.
Lessons in this module include:
 • Analytic Services Overview
 • Designing and Creating Applications and Databases
 • Designing Data Descriptor Dimensions
L E S S O N    1

Analytic Services Overview                                               1




Objectives
After completing this lesson, you should be able to:
 • Describe multidimensional analysis
 • Describe Hyperion System 9
 • Describe Analytic Services
 • Identify components of the Analytic Services production environment
                                                                                   Module 1 Creating Databases
Lesson 1 Analytic Services Overview




      Multidimensional Analysis

      Multidimensional analysis: analysis of data from multiple perspectives




                 January Gross Sales
                  for All Products and
                 All Customers in the
                      Current Year




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Multidimensional Analysis
Information is one of the most important assets of a business. Corporate information
analysis offers a road map for strategic planning and enables executive managers to make
informed and timely decisions.
Information analysis provides insight to the past, present, and future of your business; an
understanding of past performance helps you address current concerns, which in turn
helps you plan for future growth. To gain business intelligence, you must analyze data from
many perspectives. For example, it is not enough to know the sales totals for a month, you
must know which customers bought the most and which products sold the least.




1-2                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                     Lesson 1 Analytic Services Overview




    Spreadsheet-Based Analysis

       Data integrity suffers because of user errors or stale data.
       Validating spreadsheet reports wastes time and resources.


    Two reports prepared by two users show two different totals. Which one
     is correct?




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Spreadsheet-Based Analysis
Most businesses have many transactional systems that contain huge numbers of daily
transactions. These fragmented systems force companies to spend too much time
analyzing disconnected environments, most commonly using spreadsheet programs. In
such environments, spreadsheet programs are extremely cumbersome, if not
unworkable, analysis tools; file corruption, user errors, and lack of data synchronization
across disparate systems often lead to different versions of one truth. Businesses
expend their resources developing multiple spreadsheets to answer multidimensional
questions and then waste substantial time and manpower trying to validate reports
against each other.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                     1-3
                                                       Module 1 Creating Databases
Lesson 1 Analytic Services Overview

Legislation and other statutory reporting requirements place enormous pressure on
companies to report with absolute accuracy, and, at the same time, the use of
spreadsheet programs for data analysis is a requirement for most businesses.
Therefore, organizations require a single system that not only satisfies their global
reporting requirements but also provides the multidimensional spreadsheet-based
analysis that executives need to make fast, accurate decisions. The Essbase Analytics
module of Analytic Services was created with these issues in mind; in fact, Essbase
stands for extended spreadsheet database.




1-4                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                       Lesson 1 Analytic Services Overview




    Multidimensional View of Information

      Structures data around natural business concepts.
      Provides foundation for efficient, sophisticated business analysis.




                                     LIGHT
                                THUND
       Accountant                              January              February                  Region Manager
                                           Actual Budget Actual Budget
                                  OEM
                        Sales
                                  Retail
                                  OEM
                       Margin
                                  Retail



     Product Manager                                                                          Financial Analyst

                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Multidimensional View of Information
Enterprise strategic information is structured around natural business concepts and can
be visually represented as a multidimensional array. You can view the same data from
different perspectives, depending on analytic needs.

OLAP
The term OLAP (Online Analytical Processing) describes analysis tools that provide fast
multidimensional analysis of information, enabling businesses to turn the wealth of data
generated by transactional applications into usable business intelligence.
OLAP supports the natural tendency of users to view business results as facts organized
by various dimensions. Implemented in a multiple-user, client-server or multi-tier
environment, OLAP helps you synthesize enterprise strategic information through
comparative, personalized viewing and analysis of historical and projected data.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                  1-5
                                                                                        Module 1 Creating Databases
Lesson 1 Analytic Services Overview




      Dimensional Modeling

       Entity-relation model uses entities and relationships to describe data.
       Dimensional modeling uses measures and dimensions to describe
       data:
        — Measures: numerical data being tracked and analyzed (Sales).
        — Dimensions: business parameters that define a transaction (Time, Product,
          Customer).



          Time          Sales                  Product                                                       Sales




                                                                             Products
                      Customer                                                                       er
                                                                                                 m
                                                                                               to
                                                                                          us
                                                                                         C

                                                                                                      Time

                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Dimensional Modeling
To implement the multidimensional view of information, you define the data that you
require and how it should be organized. You use a data model to represent the data as
the user sees it in the real world.
The data model serves as a bridge between the concepts that comprise real-world
events and processes and the physical representation of these concepts in the database.
The model defines data objects, associations between data objects, and rules, which
govern operations on the objects. To use a common analogy, the data model is
equivalent to an architect’s building plans.
You can use the following data models to describe multidimensional information:




1-6                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                 Lesson 1 Analytic Services Overview

Entity-relation (ER) data model: The ER model views the real world as entities and
relationships. A basic component of the model is the entity-relationship diagram, which
visually represents data objects. The ER model is the most common method used to
build data models for relational databases.

Dimensional data model: The dimensional model describes data through a set of
measures or fact attributes. The set of measures is based on a set of dimensions that
represent the facts. Essbase uses this type of model.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     1-7
                                                                                      Module 1 Creating Databases
Lesson 1 Analytic Services Overview




      Data Cubes

       Analysts prefer to view multidimensional data in cubes rather than in
       relational tables.

       Relational table                                                  Data cube
        Product       Time       Sales                                                         January   February
        Lightbolt     January      166                                      Lightbolt           166        182
        Lightbolt     February     182                                      Thunderball         131        149
        Thunderball   January      131                                             …             …         …
        Thunderball   February     149
        …             …          …                                       1 measure: Sales
                                                                         2 dimensions: Time, Product



       Cube is a metaphor for multidimensional data storage.
       Data is analyzed along only two to three dimensions at a time.


                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Data Cubes
ER and dimensional modeling define data structures for storing data. ER modeling
stores data in two-dimensional tables, whereas dimensional modeling uses data cubes.
A data cube is a multidimensional extension of a two-dimensional table, just as a
geometrical cube is a three-dimensional extension of a square.
A data cube is a multidimensional matrix that facilitates analysis from many perspectives.
You can visualize a three dimensional data cube as a spreadsheet program workbook
that includes identically structured spreadsheets (representing two dimensions) on
multiple uniquely-named tabs (representing the third dimension). Each tab represents a
different data set contained within the spreadsheet’s structure.
Although data cubes are not restricted to three dimensions, visualizing dimensional
cubes of more than three dimensions in spatial or geometrical terms is difficult. For
analysis purposes you usually view details for only two or three dimensions at a time,
while the data cube is indexed along the remaining dimensions.



1-8                                         Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                   Lesson 1 Analytic Services Overview




    Dimension Hierarchies

    You can organize the members of each dimension in a hierarchy.


         Year Tot                            Product                                      Customer

             Quarter 1                          Performance                                    OEM

                January                                Lightbolt                                     IBM

                February                               Thunderball
                                                                                               Retail
                March                           Value
                                                                                                  Apple
             Quarter 2                                 Mavrider                                 Gateway

                April


                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Dimension Hierarchies
in a multidimensional data model, the structural relationships between members within a
dimension define the dimension hierarchy. A typical dimension consists of one or more
members that in turn may consist of other members. For example, one possible
hierarchy in a time dimension is Year > Quarter > Month > Day. Hierarchies also define
relationships that end users see during analytic operations.
      NOTE
      Members that consist of other members define consolidation levels in the
      dimension hierarchy.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                           1-9
                                                                                    Module 1 Creating Databases
Lesson 1 Analytic Services Overview



       Operations in Multidimensional Data
       Models
        Selection (slice and dice) defines a subcube.

            Sales to retail customers during January and
            February by product

        Aggregation (roll up) defines dimension reduction.
            Total sales by product



        Navigation to more detailed data (drill down).
            Supporting data for sales for retail customers
            during Qtr 1

        Visualization operations (pivot).
            Reorientation of the data cube
            Display of a three-dimensional data cube in a
            series of two-dimensional planes
                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Operations in Multidimensional Data Models
The multidimensional data model supports the following cube operations:

Slicing and Dicing
A dimension acts as an index for identifying values in the multidimensional array. Slicing
and dicing are operations that select data from the data cube. In slicing, you select one
member from all but two dimensions, and the remaining dimensions define a two-
dimensional slice of the data cube. In dicing, you select a range of members from more
than two dimensions, and the selection defines a multidimensional subcube.




1-10                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                  Lesson 1 Analytic Services Overview

Rolling Up and Drilling Down
You can roll up (summarize the data cube) by traversing upward through the dimension
hierarchy. As values are combined, cardinalities shrink, and the cube view becomes
smaller. Drilling down is the reverse of rolling up. You traverse from summarized data to
detailed data. To incorporate more detail in your analysis, you can either drill down a
dimension hierarchy or add another dimension to your analysis.

Pivoting
By rotating the data cube, you can view analytic data from multiple perspectives. You
typically pivot to build a custom, two-dimensional analytic report.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     1-11
                                                                                  Module 1 Creating Databases
Lesson 1 Analytic Services Overview




       Sparse and Dense Dimensions

       Multidimensional data sets tend to be sparse:
        Data is not uniformly distributed.
        Data does not exist for the majority of member combinations.
        Certain aspects of multidimensional data sets tend to be predictably
        sparser than others.




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Sparse and Dense Dimensions
Most data sets of multidimensional data models have two characteristics:
 • Data is not smoothly and uniformly distributed.
 • Data does not exist for the majority of member combinations. For example, all
   products are not sold in all areas of the country.
Most multidimensional data sets are inherently sparse: they lack data values for the
majority of member combinations. A sparse dimension is a dimension with a low
percentage of available data positions filled.
Some dimensions in a multidimensional data model may be denser than others. A dense
dimension is a dimension with a high percentage of available data positions filled.




1-12                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                    Lesson 1 Analytic Services Overview



    Hyperion Business Performance
    Management




   Translate strategies into plans



   Monitor execution



   Provide insight to improve
   financial and operational performance



                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Hyperion Business Performance Management
Hyperion Business Performance Management (BPM) is a modular suite of packaged
applications, built on a common Business Intelligence (BI) platform, covering the entire
management cycle of goal setting, modeling, planning, monitoring, analysis, and
reporting. By implementing Hyperion’s BPM system, you are able to effectively link
strategy to plans, monitor execution, and develop meaningful insights to support effective
decision making, improved business performance and compliance with corporate
governance and regulatory requirements.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                  1-13
                                                       Module 1 Creating Databases
Lesson 1 Analytic Services Overview




Hyperion System 9
Hyperion System 9 is the first Business Performance Management system in the market.
System 9 represents the convergence of disparate technologies and is a major milestone
in the BPM category. System 9 provides an enterprise-class deployment foundation and
a pervasive and personalized user experience.
Hyperion System 9 enables companies to understand the past, monitor the present, and
plan for future performance across the enterprise.




1-14                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                            Lesson 1 Analytic Services Overview




    Hyperion System 9 Components
                                   Hyperion System 9 Applications+
     Hyperion System 9 Workspace



                                                       Financial Management
                                                              Planning
                                                          Strategic Finance
                                                       Performance Scorecard
                                   Hyperion System 9 BI+
                                                         Interactive Reporting
                                                          Enterprise Analytics
                                                           Essbase Analytics
                                                             Web Analysis
                                                          Financial Reporting
                                                         Production Reporting
                                                           Enterprise Metrics
                                   Hyperion System 9 Foundation Services
                                                    Master Data Management
                                                    Application Link Advanced
                                                          BI+ Foundation
                                     © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Hyperion System 9 Components
Hyperion System 9 consists of four main components:
 • Hyperion System 9 Applications+ (Applications+)
 • Hyperion System 9 BI+ (BI+)
 • Hyperion System 9 Foundation Services (Foundation Services)
 • Hyperion System 9 Workspace (Workspace)
Applications+ provides comprehensive support for the performance management cycle,
delivering performance scorecarding, modeling, budgeting, planning, forecasting,
financial consolidation, and reporting in an integrated, modular suite.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                          1-15
                                                         Module 1 Creating Databases
Lesson 1 Analytic Services Overview

BI+ stores, protects, and delivers information for a company’s extended enterprise
(employees, customers, suppliers, and partners). It enables you to analyze, transform,
and report data; search for, retrieve, and use documents; run queries, execute and
schedule jobs, and distribute logs.
Foundation Services supports functions that are common to all components.
Application+ and BI+ communicate and share data through Foundation Services.
Hyperion System 9 components can connect to a variety of data sources and are
accessed through a common interface called Workspace. Workspace allows you to
access and interact with Hyperion authored content using BI+ tools as well as third party
documents such as Microsoft Word and Excel files.




1-16                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                    Lesson 1 Analytic Services Overview




    Hyperion Analytic Solution

                               Financial                    Customer and
                             Consolidation                   Profitability
                             and Reporting                    Analysis

              Sales                           Visual Basic                                  Product
             Tracking                             C++                                        Line
               and                                                                          Analysis
             Analysis                                                             Java
                                      Hyperion System 9 BI+
                         Excel                                                    HTML
                                        Analytic Services
                                                                                  XML
            Planning                                                                        Executive
              and                           Web Analysis                                   Information
            Budgeting                    Financial Reporting                                 Systems
                                                                                              (EIS)

                                           Performance and
                                          Variance Reporting


                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Hyperion Analytic Solution
Most traditional database products are application specific, and the proliferation of
application-specific packages results in multiple support for training and development.
With Hyperion System 9 BI+ Analytic Services (Analytic Services) as an application
development environment, you can use the same tool to build multiple databases.
Individual applications are better integrated with each other. Only one environment
needs to be supported for development, deployment, and training.
Analytic Services enable the quick and easy implementation of analytic solutions, add
value to previously inaccessible data, and transform data into actionable information.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                         1-17
                                                         Module 1 Creating Databases
Lesson 1 Analytic Services Overview




Analytic Services Architecture
The Analytic Services product family incorporates powerful architectural features to
handle a wide range of analytic applications across large multi-user environments. The
slide diagram provides a high-level view of the integrated information flow between the
source data and the product components.




1-18                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                     Lesson 1 Analytic Services Overview




    Analytic Services Components

       Base Components:
        — Analytic Services
           — Essbase Analytics Module
           — Enterprise Analytics Module
        — Analytic Administration Services
        — Essbase Spreadsheet Add-in
        — Smart View for Office
        — ESSCMD
        — MaxL DDL
        — MDX
        — C API, VB API, and Java API
       Additional Components:
        — Analytic Integration Services
        — Analytic High Availability Services



                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Analytic Services Components
Analytic Services is a multidimensional database software optimized for planning,
analysis, and management-reporting applications. Analytic Services offers the Enterprise
Analytics module for operational analysis and the Essbase Analytics module for financial
analysis.
Analytic Services uniquely blends an innovative technical design with an open, multi-tier
architecture. The product enables you to extend decision support systems beyond ad
hoc queries and reports on historical performance to dynamic, operational systems that
combine historical analysis and future planning. Analytic Services enables you and
others in the organization to share, access, update, and analyze enterprise data from
any perspective and at any level of detail without learning new tools, query languages, or
programming skills.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   1-19
                                                         Module 1 Creating Databases
Lesson 1 Analytic Services Overview

Essbase Analytics Module: This module of Analytic Services creates block storage
databases, which support dense data sets, interactive user write-back, and complex
financial analytics.

Enterprise Analytics Module: This module of Analytic Services, creates aggregate
storage databases, which drive operational analytics and are optimized specifically for
high dimensionality, extreme sparsity of data, and dimensions with millions of members.

Analytic Administration Services: This database and system administrators'
interface to Analytic Services provides a single-point-of-access console to multiple
instances of Analytic Server. Using Administration Services Console, you can design,
develop, maintain, and manage multiple instances of Analytic Server and multiple
applications and databases. You can preview data from within the console, without
having to open a client application such as Essbase Spreadsheet Add-in. You can also
use custom Java plug-ins to leverage and extend key functionality.

Analytic Integration Services: This provides a metadata-driven environment to
bridge the gap between data stored in Analytic Services databases and transactional
data stored in relational databases. Integration Server drill-though enables business
users to view linked transactional data from Analytic Services reports. The Hybrid
Analysis feature gives business users more detail for decision-making and information
technology (IT) managers more modularity in designing and maintaining large-scale
analytic applications.

Essbase Spreadsheet Add-in: This software program merges seamlessly with
Microsoft Excel. Using Essbase Spreadsheet Add-in, you can access instances of
Analytic Server and perform ad hoc reporting on Analytic Services databases.

Hyperion Smart View for Office: This software program provides a single Microsoft
Office interface for the entire Hyperion System 9 Platform. Using Smart View for Office,
you can perform many of the same functions as Essbase Spreadsheet Add-in and also
integrate live Hyperion System 9 BI+ content into Microsoft Office programs.

ESSCMD: This command-line language performs server operations interactively or
through batch or script files. ESSCMD is a legacy language and will not be enhanced for
new features in future releases.

MaxL DDL: This practical, expressive interface for administering the Essbase system
is one of the two functional domains of the multidimensional database access language
for Essbase. With MaxL DDL, you use statements to make requests; MaxL DDL
statements usually begin with verbs and read like English sentences. MaxL DDL
improves on ESSCMD in that it can interact with the operating system by issuing shell
commands and can be embedded in Perl programs by implementing the Perl module.



1-20                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                 Lesson 1 Analytic Services Overview

MDX: This multidimensional query language is the second of the two MaxL functional
domains. MDX provides the ability to perform advanced data extraction and querying by
means of statements that typically include the verb SELECT.

Analytic Services API: This developers' interface to Analytic Services enables you to
create customized applications in either VB , C, or Java programming languages.

Analytic Deployment Services: This optional service enables multiple instances of
Analytic Server on multiple machines to serve users as one logical server unit, removing
any single point of failure. Deployment Services enables database clustering with load
balancing and fail-over capabilities.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    1-21
                                                                                  Module 1 Creating Databases
Lesson 1 Analytic Services Overview




       Administration Services Console

       Database and system administrators’ interface




       Navigation                                                                               Object
       Panel                                                                                    Window




                                                                                                Message
                                                                                                Panel




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Administration Services Console
Administration Services Console is the common administration interface for Analytic
Services. Database and system administrators use it to manage users and user security,
server options, Analytic Services applications and databases, and database objects. The
interface relies on context-sensitive, right-click shortcut menus to perform most actions
and is organized into three frames: the navigation panel, object window, and message
panel.

Navigation Panel
When you start Administration Services Console, the default navigation tab, Enterprise
View, is displayed. Enterprise View is a graphical hierarchy view of the Analytic Services
environment. You can expand a node on the Enterprise View hierarchy by clicking the
plus sign (+) next to an object. If you double-click an individual object, it opens in the
object window.




1-22                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                   Lesson 1 Analytic Services Overview

In addition to Enterprise View, you can create custom views for specific servers,
applications, or databases to reduce the number of mouse clicks required to navigate to
an object in Enterprise View.

Object Window
This workspace is where objects are displayed after you open them. Administration
Services Console is a multi-window environment, so every object you open stays open in
the object window until you close the object. You can tile objects inside the object window
or switch between objects by using the Organize menu options. Object toolbars are
displayed inside their respective objects. The main toolbar displays shortcuts for opening
and saving files, among others.

Message Panel
The message panel displays system information messages. When you check the
formula syntax of an outline member formula, verification errors are displayed in the
message panel.
       NOTE
       Note: To disable the navigation panel or the message panel, use the View menu.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        1-23
                                                                                   Module 1 Creating Databases
Lesson 1 Analytic Services Overview




       Production Environment Components

        Database objects
         — Outline (.OTL)
         — Load rules (.RUL)
         — Calculation scripts (.CSC)
        Spreadsheet interfaces
         — Essbase Spreadsheet Add-in
         — Smart View for Office
        Analytic Integration Services




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Production Environment Components
The Essbase Analytics production environment is comprised of three principal database
objects for creating and managing your databases. Analytic Services also provides two
interfaces for viewing and analyzing data in Microsoft Excel.
The process of Essbase analysis, at its most basic level, demonstrates the relationships
among components:
 1. Create a database outline, defining database dimensions and hierarchies.
 2. Load data, using load rules to map to the database dimensions.
 3. Calculate data, using calculation scripts.
 4. Analyze calculated data in Excel, using either Essbase Spreadsheet Add-in or Smart
    View for Office.
 5. Alternatively, for an approach that is more integrated with your source data, use
    Analytic Integration Services to create outlines and load data, and to support
    transactional-level detail in your reporting and analysis.

1-24                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                                    Lesson 1 Analytic Services Overview




    Outlines

       Tree structure for dimension hierarchies
       Consolidations and mathematical relationships between members
       Outline Editor




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Outlines
The database outline plays the key role in the life cycle of Analytic Services database
design. Database development begins with creating a database outline.
The outline defines the database dimension hierarchy that describes the structural
relationships between members within dimensions. The tree structure of the outline
enables you to define consolidations between members. For example, a dimension
represents the highest consolidation level in the database outline.
To create and modify the database outline, you use the Outline Editor window in
Administration Services Console.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                  1-25
                                                                                   Module 1 Creating Databases
Lesson 1 Analytic Services Overview




       Load Rules

        Map data sources to a target Analytic Services database
        Are built in the Data Prep Editor
        Can apply to many data sources

                                                                                            Map the header
                                                                                            to Units
                                                                                            in the Accounts
                                                                                            dimension.
                       Map fields to Scenario, Customer,
                       and Product dimensions.




           Remove CustID- from the                                        Ignore field
              Customer name.                                            during data load.
                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Load Rules
Loading data with load rules enables you to deal with unstructured data sources. You can
load data manually or use MaxL to load data in a batch production environment. There
are no fundamental restrictions on the size of data source files or on the number of
records that can be loaded using load rules.
If a data source does not map perfectly to your Essbase Analytics database, you must
format your data source during the data load process by applying data load rules. For
example, you may want to process data in any of the following ways:
 • Ignore certain fields or records in the data source
 • Manage header information, such as ignoring extraneous headers or setting up
   special purpose headers for label identification
 • Change the order of fields by moving, joining, splitting, or creating fields




1-26                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                  Lesson 1 Analytic Services Overview

 • Resolve member uniqueness by replacing member names with valid values
 • Scale data values
 • Overwrite loaded or calculated values
 • Update unrecognized new members without creating error conditions
 • Set header records for missing data values
 • Reject invalid records and continue the data load
Data load rules are a set of operations that Analytic Services performs on data when it
loads the associated data source into the database. Load rules act on data as it is
loaded, without changing the data source. Data load rules are stored in rules files, and
you can use the same rules file with any data source that requires the same set of data
loading rules.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    1-27
                                                                                   Module 1 Creating Databases
Lesson 1 Analytic Services Overview




       Calculation Scripts

       Calculation scripts enable you to perform the following tasks:
        Calculate all or a portion of the database
        Control the order in which dimensions are calculated
        Perform complex calculations




                                                                                            Calculated
                                                                                            Database
             Level 0 Data




                                     Calculation Script

                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Calculation Scripts
A calculation script contains a series of calculation commands, equations, and formulas.
You can use a calculation script to define calculations other than the calculations defined
by the database outline.
You can use a calculation script to specify exactly how you want Analytic Services to
calculate a database. For example, you can calculate part of a database or copy data
values between members or define calculations other than the calculations defined by
the database outline.
You can design and run custom database calculations quickly by separating calculation
logic from the database outline.
The following calculation script calculates only the Actual values in the database:
FIX (Actual)




1-28                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                   Lesson 1 Analytic Services Overview

   CALC DIM(Year, Measures, Market, Product);

ENDFIX
The following calculation script is an example of a conditional calculation:
SET UPDATECALC OFF;

COGS
(
IF (@ISMBR(Forecast))

   COGS = Sales*.25;

ENDIF
)

CALC ALL;
This script calculates forecast cost of goods sold (COGS) as 25% of forecasted sales.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                   1-29
                                                                                      Module 1 Creating Databases
Lesson 1 Analytic Services Overview




       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 an interface with instances of Analytic Server




                                 TCP/IP                                        TCP/IP




                                                 Analytic Server                               Essbase Analytics
            Excel with Essbase                                                                    Database
            Spreadsheet Add-in



                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Essbase Spreadsheet Add-in
Essbase Spreadsheet Add-in is a software program that merges seamlessly with
Microsoft Excel. It enables you to use your spreadsheet application to interface with
multiple instances of Analytic Server. With Essbase Spreadsheet Add-in loaded, you can
retrieve data, create reports, and analyze data. You can also navigate, format, edit, and
calculate data, as well as create customized settings to view data in particular formats.
After Essbase Spreadsheet Add-in is installed, a menu, a toolbar, and keyboard
shortcuts are added to the spreadsheet application. These added controls provide
enhanced commands such as Connect, Pivot, Drill-down, and Calculate. You can access
and analyze data in Analytic Services databases by using mouse clicks and drag-and-
drop operations.




1-30                                        Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                  Lesson 1 Analytic Services Overview




Smart View for Office
Smart View for Office is a Web-deployed, thin-client software program that, like Essbase
Spreadsheet Add-in, is embedded in a client spreadsheet application. Smart View for
Office and Essbase Spreadsheet Add-in provide similar functionality for Analytic
Services: retrieving and analyzing data and creating ad hoc reports. However, Smart
View offers an intuitive user interface and toolbar, provides a single Excel interface for
the entire System 9 platform, and provides integration of Hyperion System 9 BI+ content
with Microsoft Office products.
      NOTE
      Although Smart View provides connectivity for Hyperion Planning and Hyperion
      Financial Management applications prior to Release 9, the Analytic Services
      Smart View provider is available only for Analytic Services Release 9 and higher.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     1-31
                                                           Module 1 Creating Databases
Lesson 1 Analytic Services Overview




Analytic Integration Services
As an alternative to building outlines and load rules natively in Analytic Services, you can
create metaoutlines and data loads in Analytic Integration Services, based directly on
information in external data sources.
Analytic Integration Services is a suite of graphical tools and scalable data integration
services that dramatically reduce the time required to create, deploy, and manage
tailored applications. Integration Services provides a vital link between tailor-made
applications built on the Analytic Services platform and detailed data stored in relational
databases.
A centralized OLAP metadata repository simplifies application administration; promotes
reusability of dimensions, calculations, and business rules; and facilitates delivery of
business-focused applications, driving insight across the enterprise. Built on a flexible,
multi-tier architecture, Integration Services easily scales to accommodate changing
requirements and delivers scalability, performance, and reliability.



1-32                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                Lesson 1 Analytic Services Overview




            Summary
            In this lesson, you should have learned to:
           • Describe multidimensional analysis
           • Describe Hyperion System 9
           • Describe Analytic Services
           • Identify components of the Analytic Services production environment




Hyperion System 9 BI+ Essbase Analytics Bootcamp                               1-33
                                                  Module 1 Creating Databases
Lesson 1 Analytic Services Overview




1-34                           Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    2

Designing and Creating Applications and
Databases                                              2




Objectives
After completing this lesson, you should be able to:
 • Describe the database design process
 • Create applications and databases
 • Create dimensions and members
 • Modify member properties
                                                                                     Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




      Essbase Analytics Implementation Process

             Analysis and Planning

           1.   Identify business results
           2.   Examine data sources
           3.   Analyze sample reports
           4.   Design Essbase Analytics outlines

                              Database Creation

                             5. Create Essbase Analytics outlines
                             6. Create load rules
                             7. Create calculation scripts

                                                   Deployment and Support

                                                  8. Maintain Essbase Analytics outlines
                                                  9. Manage data flow
                                                  10.Analyze information using Hyperion OLAP tools
                                                  11.Provide management and user support

                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Essbase Analytics Implementation Process
An Essbase Analytics implementation includes many steps. The Essbase Analytics
implementation process is a set of guidelines and suggested steps for planning, creating,
and deploying Essbase Analytics databases.
The process is iterative. Analysis of the results of one cycle may stimulate new
questions, leading to newly defined business information requirements. New
requirements may lead to new designs and implementations of the process.




2-2                                        Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                         Lesson 2 Designing and Creating Applications and Databases




    Analysis and Planning

      Identifying business results
        — Create preliminary user analysis
        — Identify all participants
        — Identify IT requirements
        — Document current processes
      Examining data sources
        — Identify all source systems
        — Develop data extract strategies
      Analyzing sample reports
        — Conduct extensive user requirement surveys
        — Rate survey results to determine essentials
      Designing Essbase Analytics outlines
        — Define dimensions, hierarchies, and attributes
        — Define calculation requirements


                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Analysis and Planning
The design and operation of an Analytic Services multidimensional database plays a key
role in creating a well-tuned system that enables you to analyze business information
efficiently. Given the size and performance volatility of multidimensional databases,
developing an optimized database is critical. A detailed plan that outlines data sources,
user needs, and prospective database elements can save you development and
implementation time. During the analysis and planning phase of implementation, three
information-gathering steps lead to the fourth step: synthesizing the information into a
working design.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           2-3
                                                                                  Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




      Identifying Business Results

      A user analysis survey asks the following questions:
       Who will use the completed cube?
       How are users analyzing data now?
       What type of analysis is required from the completed cube?
       Where are the users and administrators located?




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Identifying Business Results
This step of the implementation process sets the groundwork for everything that follows.
In it, you must identify all participants in the implementation process and establish the
responsibilities, deadlines, and project scope of each group of participants. This is a
prime opportunity to conduct preliminary user and hardware surveys and document
current data processes.
Use this step to determine the scope of the database. If your organization has thousands
of product families containing hundreds of thousands of products, you may want to store
data values only for product families. Interview members from each user department to
find out what data they process, how they process data today, and how they want to
process data in the future.




2-4                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                         Lesson 2 Designing and Creating Applications and Databases




Examining Data Sources
An information technology (IT) task force is typically responsible for the majority of the
data examination step, in which all source data systems must be identified and data
extract strategies must be developed.
Examine the current data:
 • Where does each department currently store data?
 • Is data in a form that Analytic Services can use?
 • Do departments store data in a DB2 database on an IBM mainframe, in a relational
   database on a UNIX-based server, or in a PC-based database or spreadsheet?
 • Who updates the database, and how frequently is the database updated?
 • Can individuals who need to update data access the data?




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         2-5
                                                                                   Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




      Analyzing Sample Reports

      Sample reports
       Represent both ad hoc and production-style reports.
       Provide insight to the number, type, and granularity of dimensions.
       Ensure a database design with usable results.
       Provide the best perspective for creating hierarchy relationships.




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Analyzing Sample Reports
Data source analysis provides you with information about data in its raw form, but
analysis of sample reports (that is, reports users want to ultimately create using Analytic
Services data) provides a crucial look at the final requirements and architecture of the
database.
Given a set of sample reports, a design team can determine how many database
dimensions are required, how much detail should be included, and what kind of hierarchy
relationships are required to provide users with the details that they need.
During this step of the implementation, a design team makes decisions about which
features and attributes are necessary and which features and attributes are desirable.
Finalizing a feature-attribute list helps set expectations for the final design and for the
end users, which ensures a database design with usable results.




2-6                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                        Lesson 2 Designing and Creating Applications and Databases




    Designing Essbase Analytics Outlines

    Based on sample reports, user analysis, and other business
     requirements, determine the following:
      Number of dimensions
      Dimension hierarchies
      Metadata granularity
      Database time span
      Functional scenarios (actual, budget, forecast)




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Designing Essbase Analytics Outlines
Outline design is a synthesis of all previously gathered research. In the outline design
step, you make the final decisions about the number of dimensions, the depth and nature
of outline hierarchies, and the database calculation requirements.
The design team documents the preliminary outline design on paper, clearly defining the
following information:
 • Number of dimensions
 • Structure of hierarchies
 • Database time span
 • Functional scenarios to be stored
 • Data storage settings
 • Mathematical requirements for measures data



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                            2-7
                                                       Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases

A design document also usually includes the process and frequency for updates to both
data and metadata (outline structures), as well as the process for automating and
backing up the database.




2-8                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                        Lesson 2 Designing and Creating Applications and Databases




Applications and Databases
Essbase Analytics applications and databases provide Analytic Services with a structure
for organizing processes and related files.

Applications
An Essbase Analytics application is a management structure that contains one or more
Essbase Analytics databases and related files. Essbase Analytics applications reside on
the server where Analytic Server is installed. One server machine can store multiple
Essbase Analytics applications.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    2-9
                                                          Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases

An Essbase Analytics application runs as an ESSSVR process controlled by the Analytic
Server process. When you start Essbase Analytics applications, the Analytic Server
process loads it and all associated databases into memory on the server machine. All
client requests for data, such as data loads, calculations, reports, and spreadsheet lock
and sends, are then handled through the application ESSSVR process. Multiple
application processes can be run concurrently by one Analytic Server instance; in
Windows, a command window is opened for each ESSSVR process that is running. If an
Essbase Analytics application contains multiple databases, all requests to the databases
are managed by the same ESSSVR process.
When you stop the application process, the Analytic Server process unloads all
application information and databases from its memory and closes the application
ESSSVR process.
        TIP
        You may want to start an application process before users connect to its
        databases; if you do so, users may experience improved performance when they
        connect to databases because the application and all associated databases are
        already in memory. Try to manage your server resources by starting only the
        application processes that receive heavy user traffic.



Application Design Choices
When you create an application, you need to make the following design decisions:
 • Create a block storage or aggregate storage application
 • Create a Unicode-mode or non-Unicode-mode application

Block Storage or Aggregate Storage: If you own both the Essbase Analytics and
Enterprise Analytics modules, you need to decide which one to use when you create an
application. In general, you choose Essbase Analytics (blocks storage applications)
when creating models for financial data and Enterprise Analytics (aggregate storage
applications) when creating models for operational data. You can use the following rules
as general guidelines:

 If you...                                               Then choose...
 Have a large number of base dimensions (more than 10)   Enterprise Analytics
 Have an extremely small batch calculation window or     Enterprise Analytics
 many applications to compute in a small window
 Require combinations of very large dimensions           Enterprise Analytics
 Need to use calculation scripts to calculate            Essbase Analytics



2-10                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                          Lesson 2 Designing and Creating Applications and Databases


 If you...                                              Then choose...
 Require write-back for users                           Essbase Analytics
 Require users to perform interactive planning or       Essbase Analytics
 sophisticated allocations

Unicode: The Unicode Standard was developed to enable computers with different
locales to share character data. Unicode provides encoding forms with thousands of bit
combinations, enough to support the character sets of multiple languages
simultaneously. An application is either a Unicode-mode application or a non-Unicode-
mode application. When choosing between Unicode and non-Unicode, keep the
following in mind:
 • Non-Unicode-mode applications support only one character set, which is defined by
   a locale value. The value for the server where Analytic Server is installed must match
   the value for all clients that work with non-Unicode-mode applications.
 • Unicode-mode applications support multiple character sets. The locale value for the
   server where Analytic Server is installed does not have to match the locale value for
   the clients that work with Unicode-mode applications.
 • By default, Analytic Services creates block storage applications in non-Unicode
   mode.
 • Aggregate storage applications do not support the Unicode-mode option.
 • Essbase Spreadsheet Add-in does not support Unicode-mode applications.
 • Smart View for Office supports both Unicode-mode and non-Unicode-mode
   applications.
       NOTE
       For additional information about the Unicode Standard, see www.unicode.org.
       For additional information about Unicode-mode applications, see the Database
       Administrator’s Guide.



Databases
An Essbase Analytics database is a data repository that contains a multidimensional
data storage array.
An Essbase Analytics database consists of database objects that perform actions
against the database, such as calculations or reporting. By default, database objects are
stored in their associated database folder on the Analytic Server machine. You can also
save objects to a client machine or another available network directory. However, you
cannot store, load, or calculate data on a client machine.

Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     2-11
                                                                                   Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




       Creating Block Storage Applications


                                                                        1




                  2


                                                             3




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Block Storage Applications
Before you create a block storage database, you need to create a block storage
application that contains the database and other objects.


To create a block storage application:
 1. In Administration Services Console, select File > New.
         The New dialog box is displayed.
 2. On the Analytic Services tab, select Block Storage Application, and then click OK.
         The Create Application dialog box is displayed.
 3. Perform the following tasks:
   • From the Analytic Server drop-down list, select a server name.




2-12                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                        Lesson 2 Designing and Creating Applications and Databases

   • In the Application name text box, enter the name for the new application.
   • Optional: if the Analytic Server instance has permission and you want to support
     Unicode characters in your application, select Unicode mode to create the
     application as a Unicode-mode application.
          NOTE
          You cannot undo the Unicode mode option.


   • Click OK.
        The Analytic Server process creates the application and updates
        the Enterprise View tab.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                   2-13
                                                                                   Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




       Creating Block Storage Databases


                                                                        1




                  2
                                                             3




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Block Storage Databases
You must create an application before creating databases.


To create a block storage database:
 1. In Administration Services Console, select File > New.
         The New dialog box is displayed.
 2. On the Analytic Services tab, select Database, and then click OK.
         The Create Database dialog box is displayed.
 3. Perform the following tasks:
   • From the Analytic Server drop-down lists, select a server name.
   • From the Application drop-down list, select an application name.



2-14                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                        Lesson 2 Designing and Creating Applications and Databases

   • In the Database name text box, enter the name for the new database.
   • Under Database type, select Normal (default) or Currency.
   • Click OK.
        The Analytic Server process creates the new database and
        updates the Enterprise View tab.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                             2-15
                                                                                 Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




       Server File Structure

       Analytic Server creates a directory for each application and
        database.
                                 %HYPERION_HOME%                                          Transaction control
                                                                                          Outline
                                 %ARBORPATH%                                              Free fragment file
                                                                                          Kernel
                                 Directory for all
                                 applications                                             Database backup
                                                                                          Database file
                                 Bigcorp application
                                 directory
                                                                                              Rules files

                                                                                              Data file
                                                                                              Index file
                                 Sales database
                                                                                          Calculation script
                                 directory
                                                                                          Data source file
                                                                                          Triggers folder



                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Server File Structure
When you create a block storage application, Analytic Services creates a subdirectory
for the application on the Analytic Server machine in the $ARBORPATH\app directory. The
new subdirectory has the name of the application; for example,
C:\Hyperion\essbase\app\Bigcorp.
When you create a block storage database, Analytic Services creates a subdirectory for
the database within the application directory. The new subdirectory has the name of the
database; for example, C:\Hyperion\essbase\app\Bigcorp\Sales.




2-16                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                        Lesson 2 Designing and Creating Applications and Databases




    Design Recommendations

    One database per application is recommended in a production
     environment:
      Messages are logged at the application level, not the database level.
      If an application becomes unavailable, all databases of the application
      become unavailable.
      Server resources are more balanced.


    Exceptions:
      Planning applications
      Currency databases




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Design Recommendations
Although block storage applications accept multiple databases per application, it is
recommended best practice to create only one database for each application for the
following reasons:
 • During processes, Analytic Services logs messages only at the application level.
   There are no database-level process logs. If multiple databases exist in one
   application, Analytic Services logs all process messages for all databases to one log
   file. Multiple database logging makes it difficult to effectively interpret the log.
 • If the administrator terminates an application process or if an application process
   becomes unavailable, all databases of the unavailable application are inaccessible to
   users until the application process is restored.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           2-17
                                                        Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases

 • To effectively manage server resources, balance the database load across multiple,
   independent application processes, rather than using one application process to
   manage requests from multiple databases.
There are two common exceptions to the rule of one database per application:
 • Hyperion Planning applications with multiple plan types automatically create a single
   Essbase Analytics application with multiple databases.
 • If you licensed the currency conversion option for your Essbase Analytics databases,
   you must create a primary database (where both input and converted data is stored)
   and a secondary currency database (where exchange rates are stored) inside one
   application in order to leverage automatic currency conversion.




2-18                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                         Lesson 2 Designing and Creating Applications and Databases




    Outline Structure

    Hierarchy terminology:
       Genealogy                                         Ancestors of
                                                         • Act vs Bud
       Generations                                       • Act vs Fcst
                                                         • Bud vs Fcst                      Descendants
       Levels                                                                               of Scenario
                                                           Siblings, Children of
                                                           Scenario Variances




                           Generation 1                    Level 2 / Level 1


                           Generation 2
                                                                                            Level 0
                                                                         Level 1            (Leaf node)
                           Generation 3


                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Outline Structure
Every dimension in an outline contains a hierarchy of members, with the dimension
name itself at the top of the hierarchy. The composition of a dimension hierarchy is
decided during the analysis and planning phase of the implementation; the number of
levels, number of members, consolidation rules, and properties and attributes of the
members vary with every database design. However, certain naming conventions apply
globally to all hierarchies and facilitate reporting, calculating, security assignment, and
other processes in which you may need to use relationships, rather than names, to
define a set of members.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                          2-19
                                                             Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases

Genealogy
Genealogy terms, based on relationships in a hierarchy, are defined as follows:

 Term              Definition
 Member            A name at any level in the hierarchy, including dimension names
 Parent            A member that has a branch below it (For example, Scenario
                   Variances is a parent member for Act Vs Bud, Act Vs Fcst, and
                   Bud Vs Fcst.)
 Child             A member that has a parent above it (For example, Act Vs Bud,
                   Act Vs Fcst, and Bud Vs Fcst are children of Scenario
                   Variances.)
 Siblings          Child members of the same parent and of the same generation
                   (For example, Act Vs Bud, Act Vs Fcst, and Bud Vs Fcst are
                   siblings.)
 Descendants       All members in branches below a parent (For example, Current
                   Year, Budget, and Scenario Variances, and the children of
                   Scenario Variances are descendants of Scenario.)
 Ancestors         All members in branches above a member (For example,
                   Scenario Variances and Scenario are ancestors of Act Vs Bud.)
 Root              The top member in a branch (For example, Scenario is the root
                   for Current Year and its siblings and for the children of Scenario
                   Variances.)
 Leaf              Members with no children; also referred to as detail members,
                   level 0 members, and leaf nodes (For example, Act Vs Bud,
                   Current Year, and Budget are leaf members.)




2-20                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                         Lesson 2 Designing and Creating Applications and Databases

Generations
The term generation refers to a consolidation level in a dimension. The root is generation
1. Generation numbers increase as you count from the root toward the leaf. In the
example on the slide, Scenario is generation 1, Current Year and its siblings are
generation 2, and the children of Scenario Variances are generation 3. All siblings of a
given parent belong to the same generation; in the following example from the Accounts
dimension, Gross Sales and Discounts are children of Net Sales, and are generation 4:

generation 1
generation 2
generation 3
generation 4
generation 5
generation 5
generation 4
generation 5
generation 5


Levels
The term level also refers to a consolidation level in a dimension; however, levels reverse
the numerical ordering used for generations. Levels count up from the leaf member
toward the root. The root level number varies, depending on the depth of the branch from
which you count. In the example on the slide, Current Year, Budget, and Act Vs Bud are
level 0. All other leaf members are also level 0. Scenario Variances is level 1. Notice that
the level number of Scenario varies, depending on the branch. For the Scenario
Variances branch, Scenario is level 2. For the Current Year branch, Scenario is level 1.
The following example shows part of the Accounts dimension with its levels numbered:
level 4
level 3
level 2
level 1
level 0
level 0
level 1
level 0
level 0




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       2-21
                                                                                   Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




       Creating Dimensions and Members

       • Add child adds a member one level below the selected member.
       • Add sibling adds a member at the level and in the branch of the
         selected member.
       • If the selected member is a dimension, Add sibling adds another
         dimension.




                               Add Child                              Add Sibling




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Dimensions and Members
Because Essbase Analytics implementations differ, a new database outline contains no
dimensions or members. Because you decide the number and names of database
dimensions during the analysis and planning phase of your implementation, the first step
in creating an outline is usually to add all dimension names to the outline. After dimension
names exist, you can add members to dimensions and define dimension hierarchies.




2-22                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                           Lesson 2 Designing and Creating Applications and Databases

The Outline Editor window enables you to control how you build your hierarchies by
providing you two options to add members: Add child and Add sibling. When adding a
new member, these options determine its level and placement in the hierarchy in relation
to a selected member.
       TIP
       Because the Add child option adds a member as the first child of the selected
       member, use Add sibling when you want to add a member to a list of members in
       any position other than the top position. Add sibling adds a member as a sibling to
       the selected member and places the new member after the selected member.



To add dimensions to an outline:
 1. In the Outline Editor window, select the top outline node Outline:dbName.
 2. Select Edit > Add child.
         A text box is displayed under the Outline:dbName node.
 3. Enter a dimension name, and then press Enter.
         A text box is displayed. Entering a name in the box defines
         another dimension.
 4. Repeat step 3 to add additional dimensions.
 5. Press Esc or Enter to close the text box.


To add members to a dimension:
 1. Select a member for the insertion point of the new member.
 2. Select one of the following options:
   • Select Add child to add a child to the selected member.
   • Select Add sibling to add a sibling to the selected member.
         A text box is displayed.
 3. Enter a member name, and then press Enter.
 4. Repeat step 3 to add additional members as siblings of the first member added.
 5. Press Esc or Enter to close the text box.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     2-23
                                                                                    Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




       Moving Dimensions and Members

        Moving a parent also moves its children.
        Pasting a member as a child makes it the first child.
        Pasting a member as a sibling makes it the next sibling.




                           2
                                                                                                  4
                      Cut or Drag



                1                                           3


                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Moving Dimensions and Members
As you continue with the second implementation phase and start to build your outline,
load rules, and calculation scripts, you may find it necessary to move members and
dimensions in the outline. Changes may be needed because the original design does not
meet your requirements or because a mistake needs to be corrected.
Before you move members and dimensions in an outline, consider the following
information:
 • The positions of dimensions and members in an outline can affect performance.
   Moving dimensions and members can affect the performance of calculations and
   retrievals.
 • If you add, delete, or move dimensions or members, Analytic Services restructures
   the database, and you must recalculate the data.
 • If you move or copy a parent member, it retains all of its descendants.



2-24                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                          Lesson 2 Designing and Creating Applications and Databases

If you cut or copy members to the clipboard, you have two options to insert the copies
into the outline: Paste child and Paste sibling. In terms of member placement, these
options work like the Add child and Add sibling options; Paste child places the members
on the clipboard as the first members under the selected parent, and Paste sibling places
the members on the clipboard as the siblings that follow the selected member.


To move members in the outline:
 1. In the Outline Editor window, select the members you want to move.
           TIP
           Use Ctrl+Click or Shft+Click to select multiple members.


 2. Select Edit > Cut.
 3. Select the member to which you want to relate the cut members.
 4. Depending on the relationship you want to create, do one of the following:
   • Select Edit > Paste sibling.
   • Select Edit > Paste child.
           NOTE
           You can also select members and use the mouse to drag them to the desired
           location in the outline. As you drag, icons are displayed under the cursor to
           indicate either Paste child or Paste sibling.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    2-25
                                                                                     Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




       Modifying Member Properties

        Data storage options
        Consolidation options
                                                                                          Member    Member
        Aliases                                                                           Formula   Properties
        Attributes
        User-defined attributes (UDAs)
        Member formulas




                                             Right-click
                                             Shortcut




                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Modifying Member Properties
As you create your outline, you can assign properties to members and dimensions:

Data storage options: These options control whether data is stored for the member
and what data is indexed or calculated if data is not stored. The default setting is Store
Data.

Consolidation options: These options control hierarchy calculations. The default
setting is (+) Addition.

Aliases:     These are alternate names for the member.

Attributes: Both the Attributes and Associations tabs are for assigning members of an
attribute dimension to members of an associated base dimension. Attribute dimensions
are discussed in detail later in this manual.




2-26                                       Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                         Lesson 2 Designing and Creating Applications and Databases

User-defined attributes (UDAs): These are text tags used for grouping members for
calculation, security, or reporting purposes.

Member formulas: These are used to define special calculation requirements.


To access member proper ties:
 1. In the Outline Editor window, select the member whose properties you want to
    change.
 2. Do one of the following:
   • Select Edit > Edit member properties.
   • Right-click the member, and then select Edit member properties.

   • Select the member properties button         .

   • Select the member formula button        .




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                   2-27
                                                          Module 1 Creating Databases
Lesson 2 Designing and Creating Applications and Databases




            Summary
            In this lesson, you should have learned to:
            • Describe the database design process
            • Create applications and databases
            • Create dimensions and members
            • Modify member properties




2-28                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    3

Designing Data Descriptor Dimensions                      3




Objectives
After completing this lesson, you should be able to:
 • Describe data descriptor dimensions
 • Design a time dimension
 • Create aliases
 • Implement Dynamic Time Series
 • Design a scenario dimension
 • Control outline calculations
 • Design an accounts dimension
 • Describe and implement accounts dimension properties
                                                                                  Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




      Data Descriptor Dimensions Overview

      In general, data descriptor dimensions
        Define data in its essentials
        Are manually developed and maintained
        Incorporate variances (both value and percentage differences)
        Are calculation-intensive
        Are densely populated with data



      Typical data descriptor dimensions include Time, Accounts, and
        Scenario.




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Data Descriptor Dimensions Overview
Despite the fact that all block storage database implementations are inherently different,
due to the unique requirements of each implementation, there are ways of measuring
data that are common to nearly all multidimensional data models. These common
structures are called data descriptor dimensions. From a design perspective, data
descriptor dimensions share the following characteristics:

They define data essentials. Types of dimensions that are common to almost every
block storage database outline are time, scenario, and measures (commonly called
accounts). Almost all data fits into some kind of time scheme; most types of analysis
require the comparison of data sets; and all data, whether financial account data or
statistical measures, measures something.




3-2                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                      Lesson 3 Designing Data Descriptor Dimensions

They are usually developed and maintained manually. Because one time structure
differs little from another time structure, administrators can copy a time dimensions from
one outline to another with a minimum of changes. Because scenario dimensions tend to
be small, there are few scenario members to create or maintain. Because the structure of
a typical measures hierarchy is relatively complex, manual development is
recommended.

They incorporate variances. Value and percentage variance analysis most
commonly occurs in scenario dimensions; however, it is not uncommon to see variances
in time and accounts dimensions.

They are calculation intensive. The most complex calculation rules tend to be
located in measures dimensions. Calculations in other dimensions are typically simple
aggregations, however, complex calculations can be incorporated in scenario and time
dimensions.

They are usually densely populated with data. Because data descriptor dimensions
tend to have a high percentage of data points occupied, they are usually configured as
dense dimensions.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       3-3
                                                                                  Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




      Designing Time Dimensions

      Decisions to make:
       What is the lowest-level granularity of data
        — Depends on the type of analysis required
        — Can be very summarized (quarters ) or very detailed (15-minute intervals)
       How many years to track and how to separate them
        — Generic time designs
        — Fiscal year crossover designs




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Designing Time Dimensions
With few exceptions, block storage databases contain time frames for analyzing data.
Variations on time dimensions from one implementation to another are largely due to
differing answers to two design decisions:
 • How granular is the time dimension?
 • How many years of data are represented?




3-4                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                        Lesson 3 Designing Data Descriptor Dimensions

Granularity of Data
Decisions about the granularity (level of detail) in the time dimension are made according
to the type of analysis required from the data set. Although most data is collected
transaction by transaction, there is usually a point of consolidation that provides the most
analytic value. For financial applications, this point is usually at the monthly level, which
leads to a time design with months as the lowest level of detail. Other applications may
require much more detail; for example, a restaurant may want to have a time dimension
in 15-minute intervals in order to track sales during and around mealtimes.

Number of Years and How to Represent Them
In most applications, companies want to track data year over year, so the second major
design decision on how to track time concerns multiple-year analysis. Although there are
many variations on time dimension design, the two most common design approaches
are as follows:
 • Generic time design (multidimensional)
 • Fiscal year crossover design (single dimensional)




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                          3-5
                                                                                  Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




      Generic Time Designs

      The generic time design requires at least two dimensions:
       A time dimension with generic time periods
       Discrete years represented in a scenario dimension or in a separate
       years dimension




                       Two-Dimension                                    Three-Dimension
                          Design                                            Design



                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Generic Time Designs
The generic time design is the most common time model in block storage databases.
This multidimensional design makes the most efficient use of disk space and resources
and, in most cases, provides better performance than any other design. This is called a
generic time design because its primary time dimension contains time periods (days,
months, quarters, and so forth) with no fiscal year identification. A secondary dimension
holds information about fiscal years. The two dimensions in combination provide
complete information about the year and time period. Within the generic time design,
there are two common variations:

Two-dimension design: Fiscal years are represented in combination with another
dimension, usually a scenario dimension.

Three-dimension design: Fiscal years are represented in a separate year dimension.
This is the default time design for Hyperion Planning applications.




3-6                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                               Lesson 3 Designing Data Descriptor Dimensions




    Fiscal Year Crossover Designs

    A fiscal year crossover design
    requires one of the following:
       A continuous, single time
       dimension with year-specific time
       periods
       A continuous, single time
       dimension with duplicate names




                                                           Year-Specific
                                                           Time Periods




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Fiscal Year Crossover Designs
An alternative to the generic design, the fiscal year crossover design is a single-
dimension model in which time periods are specific to a fiscal year. You accomplish this
either by creating unique time period names (as shown on the slide) or by enabling
duplicate names in the time dimension.
       NOTE
       The option to use duplicate names in a fiscal year crossover design is available
       only in Analytic Services Release 9 or higher.


While the fiscal year crossover design provides definite calculation advantages, it can be
less efficient for data storage than the generic time design. As a rule, implement a fiscal
year crossover design only if your analysis or calculations require a continuum for the
time frame, as in the following examples:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                            3-7
                                                         Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

 • You need to forecast prices or costs for a rolling forecast, where the forecast time
   horizon crosses over the end of the fiscal year.
 • You need to create rolling lead or lag calculations that require a single time
   continuum (for example, an advertising drop in any given month that has continuing
   lead generation impact over the six months following the drop).
 • You need to calculate cumulative period-to-date values over a complete range from
   the first time period forward.
 • You need both calendar year and fiscal year hierarchies in a single database.




3-8                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                Lesson 3 Designing Data Descriptor Dimensions




    Creating Member Aliases

    Aliases are
      Used as reporting names
      Used for data source name mapping
      Updated in Member Properties
      Stored in alias tables


    Alias tables are
      Created in Outline Properties
      Limited to 10 per database
      Updated separately
      Displayed one at a time




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Member Aliases
An alias is an alternate name for a member or shared member. For example, the
member Jan on this slide is identified by the short name Jan and the more descriptive
alias January. Aliases are commonly used for the following reasons:
 • To improve the readability of an outline or a report by providing descriptive names
 • To accommodate multi-lingual databases by representing members in other
   languages
 • To facilitate name mapping during data load when data source names do not match
   Analytic Services member names (Data can be loaded to member names or aliases.)




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             3-9
                                                              Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

Aliases are stored in alias tables. The use of tables enables you to set more than one
alias for a member. In the example on the slide, the member Jan has descriptive aliases
in English, French, German, and Italian and also has an alias of P01 to map data coming
from a manufacturing system to the Jan member. You can manually update all aliases of
a member in the Member Properties dialog box.

Alias Tables
Aliases are stored in one or more tables as part of a database outline. An alias table
maps a specific, named set of alias names to member names. When you create a
database outline, Analytic Services creates an empty alias table named Default. You can
create up to nine additional alias tables per outline, for a total of ten.
When you view the outline or retrieve data, you can use the alias table name to indicate
the set of aliases that you want to see. Similarly, when you use load rules to update
aliases, you use the alias table name to indicate the set of aliases that you want to
update.
       NOTE
       You can view or update only one alias table at a time.



To create an alias table:
 1. In Outline Editor, select the Properties tab.
         The outline properties are displayed.
 2. Right-click the Alias tables node, and then select Create alias table.
         The Create Alias Table dialog box is displayed.
 3. Enter the name of your alias table, and then click OK.
         The new alias table name is displayed.




3-10                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                              Lesson 3 Designing Data Descriptor Dimensions




    Implementing Dynamic Time Series

      1                                             2




                                                    3

      Automatically calculates
      the sum of a range of
      level 0 time periods
      Starts with a preset relative
      generation and ends with
      the selected member



                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Implementing Dynamic Time Series
Another feature often included in a time dimension for analytic purposes is the
calculation of period-to-date values. There are two methods to accomplish this analysis
in block storage databases: creating calculated members or enabling Dynamic Time
Series members.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           3-11
                                                          Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

Calculating Period-to-Date Manually
With the first method, you create a hierarchy in the time dimension for each level of
period-to-date analysis that you want to calculate. In each hierarchy, you create
calculated members for each distinct calculation range. For example, in a monthly time
dimension, assume that you require both quarter-to-date and year-to-date analysis. This
analysis results in two additional hierarchies in the time dimension, with a QTD or YTD
total for each month of the year, similar to the following examples (all months not shown):




This model provides the following benefits:
 • Physical hierarchy members are easier for users to find.
 • Data can be loaded to stored members.
 • Stored calculations give you more control over calculation order.
Consider the following when using this model:
 • Additional hierarchies require additional outline setup and maintenance.
 • A greater number of stored members requires increased storage space on disk,
   possibly affecting performance.
 • A greater number of stored calculated members increases batch calculation times.




3-12                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                      Lesson 3 Designing Data Descriptor Dimensions

Specifying Time Dimensions
The second method, enabling the built-in Dynamic Time Series members, requires that
you use a dimension tag to identify a dimension as the outline time dimension. This tag
enables special functionality in the time dimension (Dynamic Time Series), in the
dimension tagged as Accounts (time balances), and in time-related calculation functions
such as @PRIOR and @NEXT.
Consider the following when using the Time dimension tag:
 • You can use the Time dimension tag on only one dimension in an outline.
 • All members in the dimension tagged as Time inherit the time property.
 • You can add time-related members to dimensions that are not tagged as Time (as
   with the years dimension in the generic time design).
 • You can create an outline that does not have a dimension tagged as Time.

Calculating Period-To-Date Dynamically
In order to calculate period-to-date values dynamically, you need to use a Dynamic Time
Series member for a period in the dimension tagged as time. You do not create Dynamic
Time Series members directly in the database outline. Instead, you enable a predefined
Dynamic Time Series member and associate it with a generation number that defines the
beginning of the calculation range. Then, upon retrieval, you specify the last time period
of the calculation range.
For example, if you want to calculate quarter-to-date values, you enable the Q-T-D
member and associate it with the generation of the time dimension that contains
quarterly totals. In the Bigcorp Sales database, the generation containing quarters is
generation 2. After a Dynamic Time Series member is enabled, it is not shown as part of
the regular time dimension hierarchy, but you can see its name indicated next to the
dimension name, as in the following example:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     3-13
                                                          Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

When you want to see a Q-T-D total in a report, you specify the label Q-T-D(EndPeriod);
Analytic Services automatically calculates the sum of a range of level 0 time periods,
starting with the first period in the EndPeriod quarter and ending with EndPeriod, as
shown in the following example:




Because Dynamic Time Series members are not stored, they have no impact on
database size or calculation times. However, they do have the following implications:
 • You cannot load data to Dynamic Time Series members.
 • Users cannot drill down on Dynamic Time Series members.
 • Some calculations return incorrect results when calculated dynamically in Dynamic
   Time Series members.


To set up Dynamic Time Series members:
 1. With the time dimension of your outline selected, click the Time dimension type

   button.


         The Time dimension tag is displayed next to your dimension
         name.
 2. Right-click the dimension tagged as Time, and then select Dynamic time series.
         The Define Dynamic Time Series Members dialog box is
         displayed.
 3. For each Dynamic Time Series member that you want to use, complete the following
    tasks:
   a. Select Enabled.
   b. From the Gen drop-down list, select a generation.
   c. Optional: In the columns provided for the alias tables, enter aliases for the Dynamic
      Time Series member.
 4. Click OK.




3-14                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                               Lesson 3 Designing Data Descriptor Dimensions




    Designing Scenario Dimensions

    Scenarios are the primary tool for variance analysis. They typically
     take one of two forms:
       Scenarios that track data sets
       Scenarios that track processes




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Designing Scenario Dimensions
Although scenario dimensions usually have few members and a minimal hierarchy, their
impact on design and calculation issues is substantial. You typically compare and
compute the most important variances between data sets in the scenario dimension.
With multiple data sets incorporated into one dimension, analysis of differences between
sets becomes extremely fast and efficient.
The data sets in your scenario dimension vary based on the type of database that you
are building, but they usually fall into one of two types: scenarios that track physical data
sets and scenarios that track underlying processes.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                            3-15
                                                                                   Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




       Tracking Data Sets

       Scenarios that track data sets
        Are typical in financial
        applications
        Define the foundation of the
        planning and control process




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Tracking Data Sets
The most common type of scenario dimension, one that is used often in financial
applications, tracks physical data sets and acts as the foundation for the variance planning
and control process. Data sets in this type of dimension can include the following:
 •   Actual: Monthly downloads from the general ledger of actual financial results
 •   Budget: Data for setting standards derived from the annual planning process
 •   Forecast: Estimates of financial performance updated monthly or quarterly
 •   Plan: Long-range estimates of financial performance
 •   What if: Estimates for target setting and complex modeling

In this type of scenario dimension, there are often sequential versions of data sets, as
shown in the slide with the three versions of the Budget data. In production, each new
version begins with a copy of the prior version, which you create using the DATACOPY
calculation script command.



3-16                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                              Lesson 3 Designing Data Descriptor Dimensions




    Tracking Processes

    Scenarios that track processes
       Are typical in forecasting applications
       Define a single data set
       Track adjustments by distinct functional groups




              Tracking Month-End Close                                Tracking Sales Forecasting




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Tracking Processes
A slightly less common design, used primarily in forecasting applications, tracks the
modification of one data set during the steps of internal processes. This scenario
dimension design facilitates tracking of the internal build of a data set as various
functional areas of the company contribute data.
By using a DATACOPY calculation script command, you can begin each successive
scenario with the contents of the prior scenario, incorporating the input of a new
functional group while preserving not only the original data but also every adjustment to
the original data for comparison purposes.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   3-17
                                                                                  Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




       Controlling Outline Calculations

       The database outline contains options that facilitate calculations:
        Consolidation operators
        Member formulas




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Controlling Outline Calculations
Because the primary purpose of a scenario dimension is to store distinct data sets for
variance analysis, setting up variance calculations is an integral step in creating a
scenario dimension. However, before you create variances, you must be familiar with the
tools available in a block stoage outline to facilitate variance calculations.
Block storage databases provide two methods of building calculations into your outline:
member consolidation operators and individual member formulas. You maintain both
options through the Member Properties dialog box.




3-18                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                 Lesson 3 Designing Data Descriptor Dimensions




    Consolidation Operators

    Consolidation operators define how the member rolls up to its parent.
    Valid consolidation operators:
      Addition (+)
      Subtraction (-)
      Multiplication (*)
                                                                                              Excluded from
      Division (/)                                                                            consolidation

      Percent (%)
      Ignore (~)
         Act Vs Bud

             Current Year (+)
                                                          Act Vs Bud = Current Year – Budget
             Budget     (-)

                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Consolidation Operators
Database hierarchies, in addition to defining structural relationships between members,
enable you to define calculations between members by setting consolidation operators.
By default, when you add a member to the outline, the member consolidation operator is
set to Addition (+). You create custom calculations by changing the default consolidation
operator to one of the following consolidation operators:
 • Subtratction (-)
 • Multiplication (*)
 • Percent (%)
 • Ignore (~)




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                              3-19
                                                          Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

The consolidation operator defines how the member rolls up to its parent. For example,
you may want to subtract a member from its sibling, such as subtracting Budget from
Current Year, to define the Act Vs Bud variance.
The Ignore (~) operator identifies the member as exempt from consolidation. For
example, the children of Scenario are tagged as Ignore (~) so that they do not roll up into
Scenario.
       NOTE
       The Percent (%) operator is the mathematecal equivalent of dividing the member
       and then multiplying by 100, returning a whole number instead of a decimal result.




3-20                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                               Lesson 3 Designing Data Descriptor Dimensions




    Member Formulas

       Member formulas define complex computations in the outline.

        "Ending Inventory" = "Opening Inventory" - Sales + Additions;


        Markup = (Retail - Cost) % Retail;


       Calculation script functions return sets of member or data values.

        IF (@ISMBR(Jan))
           "Opening Inventory" = Jan;
        ELSE
           "Opening Inventory" = @PRIOR("Ending Inventory");
        ENDIF;




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Member Formulas
Whenever possible, use consolidation operators in the outline to define natural formulas.
This method is more intuitive to the user, who can drill down to see how a member is
derived. However, if necessary, you can define formulas for members that, because of
their complexity, cannot be defined with only consolidation operators.
Analytic Services provides a comprehensive set of operators and functions that you can
use to construct formula calculations on a block storage database. For example, you can
perform common arithmetic operations or control the flow of formula executions based
on the results of conditional tests. Calculation functions include Boolean functions to
provide conditional tests and mathematical, statistical, and financial functions to perform
specialized calculations.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                            3-21
                                                                                  Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




       Controlling Data Storage

       Member storage options affect how data is stored, calculated, and
        viewed:
        Shared members
        Label only members
        Implied shares
        Dynamic Calc members




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Controlling Data Storage
When you add members to your outline, they have a default storage setting of stored.
Thus, Analytic Services reserves storage space on disk for input or calculated data
related to the members. You can maximize the efficiency of your database by using other
storage options provided by block storage databases. These options reduce the amount
of disk space required to store the data that you need.
You can modify data storage options through the Member Properties dialog box.




3-22                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                              Lesson 3 Designing Data Descriptor Dimensions




    Shared Members

      Do not store data                               Net Sales
      Create an index pointer to a
      stored member                                           Gross Sales (+)

      Are always level 0 members                                       Units                 (+)
      Are positioned after (below)
      the stored member in the                                         List Price            (*)
      outline
                                                              Discounts                (-)

                                                                       Gross Sales (+) Shared Member

                                                                       Discount %            (*)




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Shared Members
The shared member storage property provides a way to re-use data that Analytic
Services has already indexed or calculated. Shared members, instead of storing data in
multiple places, create an index pointer to a stored member. When Analytic Services
encounters a shared member during calculations or retrievals, it references the data in
the associated stored member.
Using shared members enables you to use members repeatedly throughout a
dimension. Analytic Services stores the data value only once, but the value is displayed
in multiple locations. Storing the data value only once offers considerable space saving
as well as processing efficiency.
While the shared member assumes most attributes of the stored member, it has its own
consolidation operator and alias, both of which are independent of the stored member.
This independence enables you to build complex models with calculation dependencies
between members.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                       3-23
                                                          Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

When creating shared members, keep the following in mind:
 • Shared members and the associated stored member must be in the same
   dimension.
 • In the outline, stored members should be above their associated shared members.
 • Stored members can be at any level in the hierarchy.
 • Shared members must be level 0, even if their stored member is not.
 • Shared members do not increase database size.
 • You can have an unlimited number of shared members with the same name.
 • You cannot assign UDAs or formulas to shared members.
 • You cannot associate attributes with shared members.




3-24                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                              Lesson 3 Designing Data Descriptor Dimensions




    Label Only Members

      Do not store data
      Group members to ease navigation and reporting
      Create an index pointer to the first child that stores data


                                                                                           Year Tot

                                      Qtr 1 Qtr 2 Qtr 3 Qtr 4

         Scenario    Label Only        120         125         150         150               545


            Current Year                120         125        150         150               545
                                        110         140        140         170               560
            Budget




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Label Only Members
In some dimensions, you may want to create parent members to group members or to
ease navigation and reporting. For example, Bigcorp Sales has the following Scenario
dimension:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                      3-25
                                                            Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

The members Scenario and Scenario Variances serve an organizational purpose and do
not represent a data set or a variance. Using the label only data storage property for
these members reduces the disk space required for the dimension and improves
database efficiency.
Although a label only member does not store data, when viewed in reports or used in
calculations a label only member has an index pointer to the data for its first stored child,
as shown in the example on the slide.
When assigning the label only storage property, keep the following in mind:
 • Level 0 members cannot be label only.
 • Label only members cannot be calculated.




3-26                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                  Lesson 3 Designing Data Descriptor Dimensions




    Implied Shares

    An implied share is an automatic internal optimization created by
     Analytic Services in the following circumstances:
      A parent has only one child.
      A parent has only one child that consolidates to the parent.


        Firebrand    (+) Stored                                                Budget          (+) Stored

               Firebrand 270 A          (+) Stored                                    Bud Draft 1   (~) Stored

                                                                                      Bud Draft 2   (+) Stored

                                                                                      Bud Final     (~) Stored


    To prevent implied sharing, set the parent’s storage property to Never Share.

                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Implied Shares
The shared member and label only properties define a shared data relationship explicitly,
but some members are shared in certain circumstances even if you do not explicitly set
them as shared. The relationship, called an implied share, is an internal optimization
created by Analytic Services in the following circumstances:
 • A parent has only one child. In this situation, it is implied that the parent and the child
   should contain the same data. Analytic Services ignores the consolidation property
   on the child and stores the data only once, creating an implied shared relationship
   from the parent to the child. In the example on the slide, the parent Firebrand has
   only one child, Firebrand 270 A, so Firebrand shares the value of Firebrand 270 A.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                 3-27
                                                          Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

 • A parent has only one child that consolidates to the parent. If the parent has three
   children, but two of them are marked as (~) Ignore, then the parent and the one child
   that consolidates contain the same data. Analytic Services ignores the consolidation
   property on the child and stores the data only once, creating an implied shared
   relationship from the parent to the child. In the example on the slide, Budget has only
   one child, Bud Draft 2, that consolidates to it. The other children are marked (~)
   Ignore, so Budget implicitly shares the value of Bud Draft 2.
       TIP
       Take advantage of implied shares to facilitate versioning and reduce report
       maintenance: In the example, Budget shares Bud Draft 2 data. When the budget
       is final, the administrator updates the consolidation operators, changing Bud Draft
       2 to (~) Ignore and Bud Final to (+) Addition. Now Budget and any report that
       uses the member name Budget reflects Bud Final data, instead of Bud Draft 2
       data.


If you do not want a member to be shared implicitly, mark the parent as Never Share. In
this case, Analytic Services does not ignore the consolidation operator of the child and
duplicates the child data in the parent member.




3-28                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                             Lesson 3 Designing Data Descriptor Dimensions




    Dynamic Calc Members

    Advantages:                                    Disadvantages:
      Reduce batch database                          May increase retrieval time
      calculation time                               May change calculation order
      Reduce disk storage usage
      Reduce database restructure
      time
      Reduce time required to perform
      a backup




            Precalculated            Data                           Calculated            Report
              Database              Request                          Request

                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Dynamic Calc Members
Dynamic calculation storage options provide flexibility about how and under what
circumstances calculations are performed and data is stored. The immediate benefit of
dynamic calculation is reduction of batch calculation time and reduction of hard drive
storage requirements.
Dynamic calculation options allow outline members to be calculated when requested by
users rather than during the batch calculation process. Calculating some values
dynamically achieves the following advantages:
 • It reduces the batch calculation time of the database because Analytic Services has
   fewer members to calculate.
 • It reduces disk usage because Analytic Services stores fewer calculated data values.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   3-29
                                                         Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

 • It reduces database restructure time. Adding or deleting a Dynamic Calc member
   does not change the database structure, so Analytic Services does not need to
   restructure the database for such additions and deletions.
 • It reduces the time that is required to back up the database. Because database size
   is reduced, Analytic Services requires less time to perform a backup.
Block storage databases provide two dynamic calculation options: Dynamic Calc and
Dynamic Calc and Store.

Dynamic Calc Storage Property
You can tag any calculated member in your outline as Dynamic Calc. Analytic Services
does not calculate the value for a Dynamic Calc member until a user requests it, and
does not store the value for the Dynamic Calc member. Dynamically calculating selected
database values can significantly improve the performance of an overall database
calculation.
When implementing the Dynamic Calc storage property, keep the following in mind:
 • Data values that calculate dynamically can take longer to retrieve. To avoid causing a
   significant impact on user retrieval times, you should usually limit your use of the
   Dynamic Calc option to dense dimensions.
 • Dynamic calculation order differs from batch calculation order. Thus, dynamic
   calculation may produce incorrect results. When you change a member from stored
   to Dynamic Calc, make sure to test calculation results.

Dynamic Calc and Store Option
If you tag a member as Dynamic Calc and Store, Analytic Services defers calculation of
the member until the first time a user requests it. After calculation, Analytic Services
stores the data for the member. Subsequent retrievals of the data value do not require
recalculation, unless Analytic Services detects that the value needs recalculating.
The Dynamic Calc and Store option should be used only in certain circumstances, such
as for sparse dimensions with complex calculations. In most cases, consider using
Dynamic Calc before Dynamic Calc and Store.
       TIP
       For more detailed guidelines on deciding which members to calculate
       dynamically, see the Database Administrator’s Guide.




3-30                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                              Lesson 3 Designing Data Descriptor Dimensions




    Designing Accounts Dimensions

    Design choices are based on input data and sample reports.
     Accounts dimensions may include any of the following:
      Profit and loss accounts
      Balance sheet accounts
      Units, rates, prices, and other assumptions
      Analysis metrics




         Gross Margin =                                                               Gross Margin =
         Net Sales + Cost of Sales                                                    Net Sales – Cost of Sales

                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Designing Accounts Dimensions
The accounts dimension (often called the measures dimension) is generally the most
complex dimension. Your business model resides in the accounts dimension, and the most
complicated and potentially time-consuming calculations occur there.
You can set up your accounts dimension to contain any of the following typical structures:
 • Natural class accounts that define the profit and loss structure or subsets of it as, for
   example, Bigcorp Sales, which includes accounts that comprise the Gross Margin total
 • Balance and cash flow accounts and associated metrics, such as inventory and
   average inventory
 • Unit, rate, and dollar calculations, especially where such calculations involve activity
   driver relationships between members in the dimension
 • Metrics and analysis calculations of all types, including members such as Profit%,
   Margin%, Sales Per Employee, Cost Per Transaction, and Commission%


Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                              3-31
                                                           Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

The calculation structures that you create for your accounts dimension depend largely on
the input data and the final reporting requirements that you defined during the design
phase of your implementation. A common choice in building financial applications is
whether to retain the original signs of natural account balances or to change them.
In the first example on the slide, Net Sales and Gross Margin retain their natural negative
sign, while Cost of Sales is positive. In this case, Cost of Sales inherently offsets Net
Sales, so the formula that you create for Gross Margin in your outline should be as
follows:
Gross Margin = Net Sales + Cost of Sales

However, in the second example, although all three accounts have a positive sign, the
total for Gross Margin implies that Cost of Sales still offset Net Sales. Because the data
in Cost of Sales and Net Sales is positive, you create an explicit offset in the formula for
Gross Margin:
Gross Margin = Net Sales - Cost of Sales




3-32                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                               Lesson 3 Designing Data Descriptor Dimensions




    Consolidation Order

       Consolidation order is defined by the order of members in the outline.
       Essbase calculates data in top-down order.

           Parent                  6.67

            Member 1   (+)           10
                                                     30
            Member 2   (+)           20                                 5
            Member 3   (-)           25              25                                 200

            Member 4   (*)           40                                40                        400

            Member 5 (%)             50                                                     50         6.67

            Member 6    (/)          60                                                          60

            Member 7   (~)           70
                                                  Parent = ((((M1 + M2) – M3) * M4) % M5) / M6

                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Consolidation Order
Before creating your accounts dimension, it is important to understand how Analytic
Services calculates members with different consolidation operators. When you use only
addition and subtraction operators, the order of members in the outline is irrelevant.
However, when you use any other operator, you need to consider member order and its
impact on consolidation.
When siblings have different operators, Analytic Services calculates data in top-down
order. The example shown on the slide illustrates a top-down calculation. Written left to
right, the formula for the parent is as follows:
Parent = ((((Member 1 + Member 2) - Member 3) * Member 4) % Member 5) /
   Member 6




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                              3-33
                                                           Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

As you can see from this example, the consolidation operator of a member identifies the
mathematical operation that Analytic Services performs when applying the member’s
data to the ongoing calculation.
       NOTE
       Using top-down calculation order, Analytic Services ignores the first child of a
       parent if it does not have either the (+) Addition or (-) Subtraction consolidation
       operator.




3-34                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                                       Lesson 3 Designing Data Descriptor Dimensions




    Hierarchy Calculations Versus Formula Design

     Hierarchy Calculations                          Formula Calculations

    3   Net Sales         (+)                        3      Net Sales                (+)

        1    Gross Sales (+)                                1       Gross Sales (+)                 Units * List Price

                  Units               (+)                   2       Discounts                (-)    Gross Sales * Discount %

                 List Price            (*)
                                                            Input Drivers (~)

        2    Discounts          (-)
                                                                    Units                   (~)
                 Gross Sales (+)
                                                                    List Price              (~)
                 Discount %            (*)
                                                                    Discount %              (~)



                                      © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Hierarchy Calculations Versus Formula Design
Dimension calculation order is also top-down; dimension branches are calculated one by
one in top-down order. However, within each branch, Analytic Services calculates the
lowest level calculations first, followed by the related parent calculations. The calculation
continues in this manner until all levels in the first branch are calculated. Analytic
Services then moves to the second branch and repeats the process.
Although, in many cases, consolidation operators and member formulas produce the
same calculated data, you should maximize the use of hierarchy-based calculations and
consolidation operators in building your accounts dimension. The main reasons for this
choice are performance and visibility.

Performance: When consolidating an outline, hierarchy-based calculations are much
faster than member formulas. In the examples on the slide, the hierarchy calculations
design provides faster performance than the formula calculations design.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                          3-35
                                                          Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

Visibility: Hierarchy-based calculations provide visibility for users as they drill down
the accounts hierarchy to see how a value is derived. Formulas obscure visibility of the
calculations and are less intuitive for users. What detail you want your users to see
should be a primary design consideration.
The best-practice design philosophy for building an accounts dimension can be
expressed as follows:
 1. Whenever possible, use hierarchy relationships and consolidation operators for
    outline calculations.
 2. When it is not possible to achieve your desired calculation with consolidation
    operators, use an outline member formula or create a calculation script. For example,
    you may need to use a member formula for an account that calculates commissions
    based on several distinct conditions.
 3. When you need to create a specific hierarchy path for users to drill down in reports,
    do not apply guidelines 1 and 2. Even though the calculation for Gross Margin % in
    the following example can be derived with shared members and consolidation
    operators, your users may not need to see the detail beneath the Gross Margin %
    value.




3-36                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                               Lesson 3 Designing Data Descriptor Dimensions




    Creating Accounts Hierarchies

                                                                          Net Sales           (+)

                                                                                  Gross Sales (+)

                                                                                  Discounts         (-)




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Accounts Hierarchies
A typical challenge when creating your accounts dimension is converting a report in
spreadsheet format into a meaningful outline structure. A few things to keep in mind if
you find yourself in this situation are:
 • A total or subtotal in the spreadsheet becomes a parent member in your outline; the
   children are the elements that produce the total or subtotal.
 • A parent member is displayed above its children in the outline editor, but below its
   children in the spreadsheet.
 • The top member of a hierarchy branch in the outline is often what is called the bottom
   line in a spreadsheet analysis report. In the example on the slide, Gross Margin is the
   final total of all data on the report; in the outline, Gross Margin is the top member of a
   hierarchy branch that includes all other members represented in the report.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                          3-37
                                                                                  Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




       Enhancing Accounts Dimensions

        Time balance accounting
        Expense reporting
                                       Time Balance
                                         Properties




                        Expense                                        Time Balance
                        Property                                       Skip Options




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Enhancing Accounts Dimensions
As with the Time dimension tag, there is an Accounts dimension tag that you can use to
enable additional features:
 • Time balance accounting: to flag measures that do not aggregate over time (for
   example, balance sheet accounts)
 • Expense reporting: to identify favorable and unfavorable variances
You can modify expense and time balance properties with the corresponding toolbar
buttons or in the Member Properties dialog box.




3-38                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                               Lesson 3 Designing Data Descriptor Dimensions




    Time Balance Reporting

      Time balance reporting defines consolidation of members in the
      dimension tagged Accounts across the dimension tagged Time.
      Skip options determine how Analytic Services treats zero and missing
      values.

                                                                                                  Year Tot
                                                                                        Qtr 1

                                                      Jan         Feb        Mar
        Inventory

                                                       20          31          25           20        20
          Opening Inventory   (TB First)
                                                                                                 Qtr1+Qtr2+
                                                       11          10          15           36
          Additions                                                                              Qtr3+Qtr4
                                                       31          25          30           30   Value of Qtr4
          Ending Inventory    (TB Last)


                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Time Balance Reporting
You use time balance to control the consolidation of balance sheet items across time
periods. For accounts, you can set one of the following values for the time balance
property:
 • None: When a member in the accounts dimension represents a value that
   aggregates over time, the corresponding parent in the time dimension is calculated
   based on the consolidation operators and formulas of its children. For example, the
   time balance property for the Additions member is set to the default value, None.
   Thus, Analytic Services calculates the Qtr 1 member in the time dimension as the
   sum of its children (Jan, Feb, and Mar).




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                 3-39
                                                          Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

 • TB First: When a member in the accounts dimension represents the value at the
   beginning of a time period and you want the value carried to the parent in the time
   dimension, set the time balance property of the account to TB First. For example, the
   Opening Inventory member represents the inventory value at the beginning of the
   time period. If the time period is Qtr 1, Opening Inventory represents the inventory at
   the beginning of Jan; that is, Opening Inventory for Qtr 1 and Opening Inventory for
   Jan are the same. Similarly, Year Tot Opening Inventory equals Qtr 1 Opening
   Inventory.
 • TB Last: When a member in the accounts dimension represents the value at the end
   of a time period and you want the value carried to the parent in the time dimension,
   set the time balance property of the member to TB Last. For example, Ending
   Inventory represents the inventory at the end of the time period. If the time period is
   Qtr 1, Ending Inventory represents the inventory at the end of Mar; that is, Ending
   Inventory for Qtr 1 and Ending Inventory for Mar are the same. Year Tot Ending
   Inventory equals Qtr 1 Ending Inventory.
 • TB Average: When you want parent values in the time dimension to represent the
   average value of a time period for a member in the accounts dimension, set the time
   balance property of the member to TB Average.

Skip Option
If you set the time balance as TB First, TB Last, or TB Average, you must set the Skip
option to tell Analytic Services what to do when it encounters missing values or values of
0. The following table describes how each setting determines what Analytic Services
does when it encounters a missing or zero value.

 Setting                       Description
 None                          Zeros and missing values are considered when parent
                               values are calculated. This is the default setting.
 Missing                       #MISSING values are excluded when parent values are
                               calculated.
 Zeros                         Zero values are excluded when parent values are
                               calculated.
 Missing and Zeros             #MISSING values and zero values are excluded when
                               parent values are calculated.




3-40                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                               Lesson 3 Designing Data Descriptor Dimensions




    Expense Reporting

       Members that represent expense must have the Expense Reporting
       tag.
       Analytic Services provides two variance reporting functions:
        — @VAR(mbrName1, mbrName2)
        — @VARPER(mbrName1, mbrName2)


                                         Actual                 Budget               Variance     Variance %
        Gross Sales                        100                    120                       -20     -16.67
        Discounts                          100                    120                       20      16.67


        — Variance equals Actual minus Budget.
            Variance = @VAR(Actual, Budget);

        — Variance % equals Actual minus Budget as a percentage of Budget.
            Variance % = @VARPER(Actual, Budget);
                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Expense Reporting
A typical analytic requirement is the ability to perform variance reporting on actual versus
budget data. When you budget expenses for a time period, you want the actual
expenses to be lower than the budget expenses. When actual expenses are greater than
budget expenses, the variance is unfavorable, or negative. On the other hand, when you
budget nonexpense items, such as revenues, you want actual revenues to be higher
than budget revenues. When actual revenues are less than budget revenues, the
variance is unfavorable.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                               3-41
                                                           Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions

In the example on the slide, Gross Sales (a revenue) and Discounts (an expense) have
the same data values for the actual and budget scenarios. Usually variances are
calculated with a simple difference (Actual - Budget or Budget - Actual). But, in an outline
like Bigcorp Sales, where expenses and revenues have the same sign and offset each
other through outline consolidation operators, a simple difference calculation between
actual and budget data does not reflect favorable versus unfavorable variances correctly.
As you can see in the example, the variance for Gross Sales is negative and the
variance for Discounts is positive.
Dealing with this type of variance calculation issue requires two steps:
 1. All outline members that represent an expense to the company (or any value that is
    determined unfavorable when over budget) must be assigned the Expense Reporting
    tag . For example, Inventory members, Cost of Sales members, and the Discounts
    member each receive the Expense Reporting tag for variance reporting.
 2. Variance calculations must be written with a special function that checks for the
    presence of an Expense Reporting tag and calculates accordingly. Block storage
    databases provide two functions for this purpose: @VAR and @VARPER.
In the example shown on the slide, the formulas for the two scenario variances in the
relevant outline are as follows:
Variance = @VAR(Actual, Budget);

Variance% = @VARPER(Actual, Budget);
The formulas trigger Analytic Services to check for the Expense Reporting tag. If the
account has the tag, Analytic Services transposes the sign of the formula result.




3-42                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 1 Creating Databases
                                    Lesson 3 Designing Data Descriptor Dimensions




            Summary
            In this lesson, you should have learned to:
           • Describe data descriptor dimensions
           • Design a time dimension
           • Create aliases
           • Implement Dynamic Time Series
           • Design a scenario dimension
           • Control outline calculations
           • Design an accounts dimension
           • Describe and implement accounts dimension properties




Hyperion System 9 BI+ Essbase Analytics Bootcamp                            3-43
                                                  Module 1 Creating Databases
Lesson 3 Designing Data Descriptor Dimensions




3-44                           Hyperion System 9 BI+ Essbase Analytics Bootcamp
M O D U L E    2

Building Load Rules                                                           3




Overview
This module introduces load rules for loading data and building
dimensions. It presents a standard methodology for planning dimensions,
based on existing data sources and reporting needs. It examines attribute
dimensions and compares them with other possible design choices. You
create load rules to build database outlines from flat files and relational
data sources. You also identify common problems with source data files,
and learn how to solve them with load rules.
Lessons in this module include:
 • Planning Dimension Design
 • Creating Basic Dimension Build Rules
 • Creating Advanced Dimension Build Rules
 • Creating Attribute Dimensions
 • Loading Data
L E S S O N    4

Planning Dimension Design                              4




Objectives
After completing this lesson, you should be able to:
 • Describe business view dimensions
 • Plan dimensions with label outlines
                                                                                  Module 2 Building Load Rules
Lesson 4 Planning Dimension Design




      Business View Dimension Overview

      Business view dimensions
        Define a specific cut of the data
        Are developed and maintained through automatic processes
        Incorporate alternate rollups using shared members
        Are not calculation-intensive
        Are sparsely populated with data



      The choice of business view dimensions is substantially driven by the
      company’s industry and business practices.




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Business View Dimension Overview
Although most Analytic Services databases have dimensions in common, the power of
Analytic Services comes from the custom-built dimensions that are specific to the
analytic needs of a particular business. These business view dimensions differ from
implementation to implementation. They provide users with a specific cut of the data,
facilitating a multidimensional richness of analysis that extends beyond the information
incorporated in the data descriptor dimensions.
From a design perspective, business view dimensions share the following
characteristics:




4-2                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                  Lesson 4 Planning Dimension Design

They define a specific cut of data. Rather than defining the essentials of the data,
business view dimensions provide information about a specific aspect of your business.
A human resources database might include a dimension with details on employees and
office locations, whereas a sales database might include a customer dimension to track
sales by customer. Other common business views are legal entities, geographical
locations, and products. The choice of which business view dimensions to incorporate in
your design and how to structure your chosen dimensions is driven by your company’s
industry and business practices.

They are usually developed and maintained through automatic processes.
Because business view dimensions often have hundreds or even thousands of members
and many levels in their hierarchies, it is common to create and maintain them by loading
member names and properties with a dimension build rule rather entering member
names and properties directly into the outline.

They incorporate alternate hierarchies by using shared members. Different
functional groups in the company usually require different levels of detail for the same
information. Alternate hierarchies, created using shared members, enable all users to
see the information that they need for analysis.

They are not calculation-intensive. Calculations in business view dimensions are
usually simple aggregated rollups of branches in the dimension hierarchy. There are very
few (or no) complex models, member formulas, or variances.

They are usually sparsely populated with data. Of all dimensions in a block storage
database, business view dimensions have the lowest probability that one or more data
points (one or more member intersections) are occupied. As a result, business view
dimensions are usually configured as sparse dimensions.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       4-3
                                                        Module 2 Building Load Rules
Lesson 4 Planning Dimension Design




Combining Business Views
You can represent each of your business views as a standard dimension in the database,
but be aware as you design your outline that the number of standard dimensions in a block
storage database has a direct impact on database performance. The more standard
dimensions you create, the larger your database and the greater the calculation time.
       TIP
       Block storage databases should have between 4 four and 8 dimensions for best
       performance.


You can fine-tune your database design and more effectively leverage the
multidimensional technology by adhering to the following guidelines:




4-4                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                               Lesson 4 Planning Dimension Design

 • Combine dimensions to avoid interdimensional irrelevance. Irrelevance occurs
   when many members of a dimension are irrelevant across other dimensions. In
   such a situation, you may be able to remove a dimension from the database and
   add its members to another dimension or split the model into separate databases.
 • Consider making dimensions that describe or classify other dimensions attribute
   dimensions. Attribute dimensions are not stored and therefore do not affect
   database size or batch calculation performance.
The following example shows four proposed dimensions for a human resources
database:




Each employee has only one manager and works in only one office, which is naturally
located in only one state. Thus, for each employee, although many combinations per
dimension are possible, only one combination per dimension is valid. The following
methods are only two of many ways to redesign the four dimensions.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     4-5
                                                          Module 2 Building Load Rules
Lesson 4 Planning Dimension Design

Redesigning by Combining Dimensions
You combine dimensions by creating additional hierarchy levels in a single dimension:
staff employees, instead of being in a separate flat dimension, can consolidate to
managers, who consolidate to office locations, which consolidate to states. This variation
reduces database size by eliminating interdimensional irrelevance and also provides a
logical hierarchy for users.




Redesigning with Attribute Dimensions
Because the employee’s manager and office location can be considered a way to
classify the employee, you can convert the manager and office location dimensions into
attributes of the employee dimension. This conversion reduces database size but has
other potentially serious effects on performance. Complete ramifications of using
attribute dimensions are discussed later in this manual.




4-6                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                        Lesson 4 Planning Dimension Design




    Planning with Label Outlines

     Total Products by Family

         Product Families (+)
                                                                         Create generic level
              Product Lines      (+)                                     labels for the Product
                                                                         dimension.
                      Item Number               (+)


          Performance     (+)
                                                                         Document real-world
              Lightbolt         (+)                                      examples of members at
                                                                         each labeled generation.

                        Lightbolt 365 A            (+)




                                  © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Planning with Label Outlines
Business view dimensions can have thousands of members and many potential levels in
their hierarchies. Planning in advance what levels are required is a necessary part of the
implementation process. One planning method is to develop a documented plan, called a
label outline, for planning purposes before starting to load members into the outline.
Label outlines help you define the type of data represented at each level in the
dimension and ensure symmetry within hierarchy branches. The following steps
summarize the process for creating a label outline:
 1. Open an empty outline on a client machine.
 2. Create an outline member name for the dimension that you are analyzing.
 3. Starting from the top of the dimension, add a name for each level (for example,
    Product Families).




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                       4-7
                                                           Module 2 Building Load Rules
Lesson 4 Planning Dimension Design

 4. Starting from the top at a generation parallel to the label hierarchy, add a real-world
    business example of the named level (for example, Performance).
 5. Continue adding layers of labels with parallel examples until you reach the bottom of
    the hierarchy.
 6. Use a finalized version of the label outline as a specification sheet or design
    document.
Constructing a label outline during a design meeting provides a useful planning tool and
also identifies questions, issues, and potential areas of misunderstanding. This planning
method provides the following advantages:

Provides a single visual planning model. Having an abbreviated picture of a
dimension hierarchy in the outline editor provides a concrete example that participants
can examine and discuss.

Exposes nomenclature differences. Working through the structure top-to-bottom
identifies nomenclature differences between functional groups. For example, Finance
calls a particular classification level Product Families, but Manufacturing calls the same
classification level Product Groups. The label outline helps the functional groups decide
which nomenclature to use in the database outline and ensures that all participants
understand the classification of data in Analytic Services.

Discloses conflicting hierarchy perceptions. Working through the structure
identifies differences among functional groups in regard to hierarchy needs. For
example, a 5-level product hierarchy meets the Finance department’s needs because
product costs are recorded at the lowest level (item number), whereas a shallower, less
complex three-level hierarchy meets the Sales department’s need for forecasting.

Highlights sizing, performance, and partitioning considerations. In addition to
enabling the estimation of how many members are likely to be required at each level,
working through the structure stimulates discussion of database size and performance.
Size and performance issues are important to identify early and may suggest that a
single database should be partitioned into multiple databases.




4-8                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                         Lesson 4 Planning Dimension Design




    Designing a Primary Hierarchy

                                                                                                 Primary Hierarchy
       Family Total

            Product Families (+)

                Product Lines        (+)

                         Item Number                 (+)


            Performance      (+)

                 Lightbolt         (+)

                          Lightbolt 365 A               (+)




                                   © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Designing a Primary Hierarchy
The primary hierarchy of a dimension is typically the hierarchy with the most levels of
detail. Ideally, this hierarchy includes all hierarchy elements that you want to share with
alternate hierarchies.
The top member of the primary hierarchy is a generation 2 member, and should
represent a total of all elements in the dimension, as this value is typically shared with
the dimension member name. In the example on the slide, Product is a Label Only
member, which means it shares data with Family Total. This arrangement ensures that,
when your retrieve the product dimension at the top level, you see a total for all products.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                     4-9
                                                                                            Module 2 Building Load Rules
Lesson 4 Planning Dimension Design




       Designing Secondary Hierarchies

       Configuration Total
                                                                                                Secondary Hierarchies
           Configuration     (+)

               Item Number     (+) Shared

           Config A           (+)

                Lightbolt 365 A (+) Shared


       Line Total

           Line Type         (+)

               Product Lines (+) Shared

           New Lines         (+)

                Lightbolt           (+) Shared

                                       © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Designing Secondary Hierarchies
You can use the same label outline procedure for analyzing alternate rollups and for
identifying levels at which member sharing occurs. In the example on the slide, the
Configuration hierarchy includes shared members that index level 0 members in the
primary hierarchy, and the Line hierarchy includes shared members that index level 1
members in the primary hierarchy.
The top member of a secondary hierarchy may or may not represent a total of all
dimension elements and should always be marked (~) Ignore, so that shared members
are not double-counted during the consolidation process.




4-10                                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                Lesson 4 Planning Dimension Design




            Summary
            In this lesson, you should have learned to:
           • Describe business view dimensions
           • Plan dimensions with label outlines




Hyperion System 9 BI+ Essbase Analytics Bootcamp                              4-11
                                                 Module 2 Building Load Rules
Lesson 4 Planning Dimension Design




4-12                          Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    5

Creating Basic Dimension Build Rules                       5




Objectives
After completing this lesson, you should be able to:
 • Describe dimension build load rules
 • Create dimension build load rules
 • Describe and implement dimension maintenance settings
                                                         Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules




Dimension Build Load Rule Overview
Rules are stored sets of operations that Analytic Services performs on data values or on
dimensions and members when it processes a data source. A rules file can contain rules
for loading data, rules for updating dimensions and members, or both. Although you can
load data to databases without using load rules, you must use load rules when you want
to update dimensions and members from information in a data source.

Data Sources
Dimension build data sources contain the information that you load to a database outline.
A data source can contain member names, member aliases, formulas and consolidation
properties, generation and level names, currency names, data storage properties,
attributes, and user-defined attributes (UDAs).




5-2                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                          Lesson 5 Creating Basic Dimension Build Rules

A data source is composed of records, which themselves are comprised of fields and
field delimiters. A record is a structured row of related fields. A field is an individual value.
A delimiter indicates that a field is complete and that the next item in the record is in
another field. Analytic Services reads data sources starting at the top and proceeding
from left to right.
Analytic Services supports the following types of data sources for building dimensions:
 • Text files (flat files) from text backups or external sources
 • SQL data sources
 • Microsoft Excel files with the .XLS extension, Version 4.0 and higher
 • Microsoft Excel files, Version 5.0 and higher
 • Error files generated from a previous dimension build

Dimension Build Load Rules
When you create dimensions with thousands of members or with many alternate
hierarchies, you want to automate the process, not manually add the members.
You use dimension build rules to map dimensions and members from a data source to an
Analytic Services outline. In dimension builds, the rules file tells Analytic Services which
build method to use, specifies hierarchy designations for members, and tells Analytic
Services how to transform members before loading them.
       TIP
       It is best to create a separate rules file for each dimension.


When you execute a dimension build, Analytic Services reads the members in the data
source, changes them based on the rules in the rules file, and loads the changed
members into the outline without changing the original data source. You can use a single
rules file for any data source that requires the same set of rules.
Use load rules to address issues of hierarchy management:
 • Loading complex hierarchies
 • Loading thousands of member at once
 • Sorting, adding, and deleting members
 • Automating hierarchy maintenance with batch processes
You can also use load rules to troubleshoot issues with your data:



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             5-3
                                                         Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

 • Changing data field order
 • Duplicating, parsing, and concatenating fields to construct hierarchies
 • Adding prefixes or suffixes to names to provide clarity and to comply with unique
   member name requirements
 • Creating aliases
      NOTE
      You cannot build dimensions from data sources without load rules.




5-4                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                   Lesson 5 Creating Basic Dimension Build Rules




    Procedure for Creating Dimension Build Rules

     General Setup      1. Open a sample data source.
                        2. Set data source properties.
                        3. Hide raw data (optional).
                        4. Set the view to dimension build fields.
                        5. Associate the rule with a database outline.
                        6. If necessary, format the file.
     Actions            7. If necessary, create a dimension.
                        8. Select the dimension build method.
                        9. Define field properties.
     Completion        10. Validate the rule.
                       11. Save the rule.
                       12. Execute the rule.




                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Procedure for Creating Dimension Build Rules
The twelve steps on the slide summarize the procedure for creating rules to load
members into an outline. Use this as a checklist when you create a dimension build rule.
The steps are divided into three sections: general setup, actions, and completion.
Before beginning the procedure outlined in the following table, you must open the Data
Prep Editor window (select File > Editors > Data Prep Editor). The table shows each step in
the procedure with its corresponding menu path:

 Procedure Step                                                  Menu Path
  1. Open a sample data source.                                  File > Open data file
                                                                 File > Open SQL
  2. Set data source properties.                                 Options > Data source properties
  3. Hide raw data (optional).                                   View > Raw data




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                    5-5
                                                                 Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules


 Procedure Step                                    Menu Path
  4. Set the view to dimension build fields.       View > Dimension build fields
  5. Associate the rule with a database outline.   Options > Associate outline
  6. If necessary, format the file.                Field menu options
  7. If necessary, create a dimension.             Options > Dimension build settings
                                                   (Dimension Definition tab)
  8. Select the dimension build method.            Options > Dimension build settings
                                                   (Dimension Build Settings tab)
  9. Define field properties.                      Field > Properties (Dimension Build
                                                   Properties tab)
 10. Validate the rule.                            Options > Validate
 11. Save the rule.                                File > Save
 12. Execute the rule.                             In Outline Editor: Outline > Update Outline



       TIP
       Do not use the Open toolbar button to open a data source in your load rule; for
       Data Prep Editor to read a data source you must select File > Open data file.




5-6                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                Lesson 5 Creating Basic Dimension Build Rules




    General Setup: Steps 1–6

    Steps 1 through 6 of the procedure ensure you do the following:
       Provide yourself with samples of data on which to base your rule
       Define correct file delimiters
       Identify and ignore header records
       Set the Data Prep Editor view to the correct mode for dimension
       building
       Create an association between the rule and the database outline that
       you want to update




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




General Setup: Steps 1–6
The general setup steps in the procedure are to prepare Data Prep Editor for building the
load rule. You do not have to execute these steps in any particular order, but, if you follow
a standard setup routine, you are less likely to forget an important step. Therefore, it is
recommended you complete the steps in the same order each time you create a load
rule.

Step 1: Open a Sample Data Source
After you open the Data Prep Editor window, you can open data sources such as text
files, spreadsheet files, and SQL data sources. The data source provides a frame of
reference for building the load rule; it is displayed in the Data Prep Editor window so you
can see what needs to be changed and how to create your mappings. The sample data
source that you use to build the rule should have the same format as the actual data
source that you use to update your members.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                            5-7
                                                               Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

To open a text or spreadsheet file:
 1. Select File > Open data file.
           The Open dialog box is displayed.
 2. Do one of the following:
      • For files located in an application or database directory, select the Analytic Server tab.
      • For files located in the file system, select the File System tab.
 3. Browse to the file location, and then select the file.
 4. Click OK.
           Analytic Services reads the data records into Data Prep Editor.

To open a SQL data source:
 1. Select File > Open SQL.
           The Select Database dialog box is displayed.
 2. Select the Analytic Server, application, and database for which you are creating the rule.
 3. Click OK.
           The Open SQL Data Sources dialog box is displayed.
 4. In the SQL data sources list, select the desired data source.
 5. In the Connect text boxes, enter your connection information.
 6. In the SQL Statement text boxes, enter your SQL query.
 7. Click OK/Retrieve.
           Analytic Services reads the queried data records into Data Prep Editor.
         NOTE
         You must configure data source names and ODBC connections before you open
         SQL data sources. For instructions, see the SQL Interface Guide.


Step 2: Set Data Source Properties
This step comprises two sub-steps: selecting a file delimiter for the data source and
identifying and ignoring header records in the data source.




5-8                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                         Lesson 5 Creating Basic Dimension Build Rules

File Delimiter: The character used to separate fields in the data source. By default, a
rules file expects fields to be separated by tabs. You can set the file delimiter to be a
comma, tab, space, fixed-width column, or custom value. You do not need to set file
delimiters for SQL data sources.

Header Records: Records, usually located at the top of the data source, that contain
information describing the data source contents. You must instruct the rule to skip these
records.


To set data source properties:
 1. Select Options > Data source properties.
         The Data Source Properties dialog box is displayed.
 2. On the Delimiter tab, select the appropriate file delimiter.
 3. Select the Header tab.
 4. Under Header lines, for Number of lines to skip, enter the appropriate number.
 5. Click OK.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       5-9
                                                          Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

Step 3: Hide Raw Data (Optional)
By default, the Data Prep Editor window is organized into two frames. As shown in the
following example, the top frame contains your source (raw) data, and the bottom frame
shows how the rule presents the data to Analytic Services.




The two frames enable you to compare the rule results to the original data source.
However, as many steps in the load rule procedure involve opening dialog boxes on top
of the load rule, hiding the source data can give you a better view of the rule information
as you complete the procedure.
You can toggle the raw data panel on and off from the View menu.

Step 4: Set the View to Dimension Build Fields
When developing a load rule, you work in one of the following view modes:
 • Dimension build fields view: Use this view when you create rules to automate
   loading or maintenance of members in the outline.
 • Data load fields view: Use this view when you create rules to load data (for
   example, units and dollars) to members in a database.
Although you may not see a difference in the rule when you change the view mode, it
has a pronounced effect on later steps in the procedure, namely assigning field
properties and validating your rule. The default view in Data Prep Editor is Data load
fields, but you can select the appropriate view from the View menu.




5-10                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                        Lesson 5 Creating Basic Dimension Build Rules

Step 5: Associate the Rule with a Database Outline
You must associate your load rule with the database outline for which you are creating
the rule. Similar to step 4, this step provides no visual cues after completion, but, if you
do not associate your rule with an outline, you cannot successfully construct or validate
the load rule for errors.
Because the association with an outline is not saved as part of the rule, you can use a
load rule created for one database against other databases. For example, if two
databases include the same Product dimension, you can create one load rule and load
the same source data to both databases. However, you must reassociate the load rule
with a database outline every time you open the saved rule file.
You can associate an outline with your load rule from the Options menu.

Step 6: If Necessary, Format the File
If your data source columns are not in the correct order for building the dimension or you
must format the columns in other ways, you can use the following Field menu options to
format data source columns:
 • Move
 • Split
 • Join
 • Create using join
 • Create using text




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        5-11
                                                                                    Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules




       Creating Dimensions: Step 7




       1                                                                                             2




                               3




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Dimensions: Step 7
Analytic Services gives you the option to define a new dimension (its name and
properties) in a rules file instead of adding the dimension manually to the outline. You
may want to use this option in the following circumstances:
 • During the design phase of your implementation, to build load rules for dimensions
   that are not yet added to the outline
 • After you deploy the database and as you maintain dimensions, to delete and rebuild
   a dimension on a regular basis

To create dimensions in a load rule:
 1. Select Options > Dimension build settings.
           The Dimension Build Settings dialog box is displayed.
 2. Select the Dimension Definition tab.
 3. Select Rules File.
 4. In the Dimension text box, enter the dimension name, and then press Enter.

5-12                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                               Lesson 5 Creating Basic Dimension Build Rules




    Selecting the Dimension Build Method: Step 8

      Generation references
      Level references
                                                                                           2
      Parent-child references


                                         3

      1


                                                                                           4




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Selecting the Dimension Build Method: Step 8
Whether you are creating a dimension or adding members to a dimension, you must tell
Analytic Services what build method to use. You must specify a build method for each
dimension that you create or modify in a load rule.
The build method that you select determines the algorithm that Analytic Services uses to
add, change, or remove dimensions, members, and aliases in the outline. The kind of
build method that you select depends on the type of data in the data source.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               5-13
                                                              Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

The three primary build methods for building and maintaining standard dimensions are
generation references, level references, and parent-child references. The following table
provides guidelines to help you select the appropriate build method for the data source:

 Build Method               Type of Data in Each Record       Examples
 Generation references      Top-down data: Each record        Year, Quarter, Month
                            specifies the parent name, the
                            child name, the name of the
                            child of that child, and so on.
 Level references           Bottom-up data: Each record       Month, Quarter, Year
                            specifies the name of the
                            member, the name of its
                            parent, the name of the parent
                            of its parent, and so on.
 Parent-child references    Parent followed by its child:     Year, Quarter
                            Each record specifies the
                                                              Quarter, Month
                            name of the parent and the
                            name of the child, in that
                            order, although other
                            information can also be
                            specified.


To select the dimension build method:
 1. Select Options > Dimension build settings.
         The Dimension Build Settings dialog box is displayed.
 2. Select the Dimension Build Settings tab.
 3. Under Dimension, double-click the dimension for which you are selecting a build
    method.
 4. Under Build method, select the appropriate build method.




5-14                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                Lesson 5 Creating Basic Dimension Build Rules




    Defining Field Properties: Step 9

       Dimension
       Field type                                                                           2

       Field number




                                                                                                3


      1




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Defining Field Properties: Step 9
In a dimension build, each field in the data source is part of a column that describes a
member in the outline. Fields can contain information about member names, member
properties, or attribute associations. In order for Analytic Services to process this
information, you must specify the field type in the rules file. You must specify the
following information when defining fields:
 • Dimension: The dimension to which members of the current column belong
 • Field type: The type of field to expect in the current column, such as a generation
   field or an alias field (The field type you select depends on the data source and the
   build method that you selected in the preceding step.)
 • Field number: The generation or level number of the members in the current column




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                    5-15
                                                            Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

Field Types
The following table gives definitions for the most common field types and the build
methods for which they are valid:

 Field Type          Definition                                      Valid Build Methods
 Generation          The name of a member in the specified           Generation references
                     generation
 Level               The name of a member in the specified level     Level references
 Parent              The name of a parent                            Parent-child references
 Child               The name of a child
 Alias               A member alias                                  Generation, level, and
                                                                     parent-child references
 Property            A member property (For a complete list of
                     valid member property codes, see the
                     Database Administrator’s Guide.)
 Formula             A member formula
 UDA                 A member UDA (user-defined attribute)


Field Numbers
The numbers that you assign to fields depend on the build method and field type that you
select. Use the following table as a guide for assigning field numbers:

 Build Method   Rules for Assigning Field Numbers
 Generation     • Generation 1 (the dimension name) is not valid.
                • If GEN numbers do not start at 2, the members of the first specified
                  generation must currently exist in the outline.
                • GEN numbers must form a contiguous range. For example, if GEN 3
                  and GEN 5 exist, you must also define GEN 4.
                • Group GEN fields sequentially within a dimension; for example:
                    GEN2,PRODUCT       GEN3,PRODUCT       GEN4,PRODUCT
 Level          • Each record must contain a level 0 member.
                • LEV numbers must form a contiguous range. For example, if LEV0
                  and LEV2 exist, you must also define LEV1.
                • Group LEV fields sequentially within a dimension; for example:
                    LEV0,PRODUCT       LEV1,PRODUCT       LEV2,PRODUCT




5-16                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                            Lesson 5 Creating Basic Dimension Build Rules


 Build Method     Rules for Assigning Field Numbers
 Parent-child     If a field type is parent or child, enter 0 (zero) in the Number text box.
 Generation,      Place alias, property, formula, and UDA fields after the member field
 level, and       with which they are associated and specify the same number as the
 parent-child     associated member; for example, an alias field for generation 3
                  products:
                      GEN2,PRODUCT        GEN3,PRODUCT        ALIAS3,PRODUCT


To define dimension build field proper ties:
 1. Select Field > Properties.
         The Field Properties dialog box is displayed
 2. Select the Dimension Build Properties tab.
 3. Under Field definition, complete the following tasks:
   • For Dimension, double-click or enter the name of the dimension that you are
     building.
   • For Field Type, double-click or enter the appropriate type for the selected field.
   • For Field Number, enter the appropriate number for the selected field.
 4. Click Next to continue to the next field, or click OK to finish.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               5-17
                                                                                     Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules




       Validating the Load Rule: Step 10

       Common validation errors:
       “There is an unknown member or no member in
       the field name.”


       “The field type for this field is not valid for the
       build method associated with this field’s
       dimension.”


       “The LEVEL number for this field is not
       contiguous (starting with 0) with other fields’
       LEVEL values.”




                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Validating the Load Rule: Step 10
You must validate your rules file to ensure that the members and dimensions in the rules
file map to the associated outline. While a correct validation does not ensure that the
data source loads properly, an invalid load rule typically results in an incorrect build.




5-18                                       Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                  Lesson 5 Creating Basic Dimension Build Rules

Use the following table as a guide to common validation errors and their resolutions:

 Error Message                                      Resolution
 There is an unknown member or no                   • The view mode is not currently set to dimension
 member in the field name.                            build fields, and Analytic Services is validating
                                                      data load field rules. Change the view mode to
                                                      dimension build fields.
                                                    • Field properties are not defined for the
                                                      specified fields. Define the field properties, or
                                                      set the field to be ignored during dimension
                                                      builds.
 The field type for this field is not valid for     Your field type and build method are an invalid
 the build method associated with this              combination. Change the build method to reflect
 field’s dimension.                                 field designations, or change field designations to
                                                    match the build method.
 The LEVEL number for this field is not             A higher level (or generation) number was
 contiguous (starting with 0) with other            assigned without a supporting lower level.
 fields’ LEVEL values.                              Change the numeric designations to be
                                                    contiguous.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                     5-19
                                                                                    Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules




       Completing the Load Rule: Steps 11 and 12

       Step 11: Save the rule
        Save to Analytic Server
        Save to file system                               2



       Step 12: Update the outline                                                                         3
        Manually in Outline Editor
        Manually by executing a data load
        Automatically with MaxL
                                                        4
        1

                                                                                                           5



                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Completing the Load Rule: Steps 11 and 12
The dimension build load rule procedure ends with saving the rule, either to an instance
of Analytic Server or to a file system location, and finally executing the load rule against a
data source by using one of three methods.

Step 11: Saving the Rule
You can reuse one rules file with multiple data sources and Analytic Services databases.
By selecting the appropriate tab in the Save dialog box, you can choose to save your rule
to a location on an instance of Analytic Server (in a database or application directory) or
to a location in your file system. Analytic Services saves rules files with a .rul extension.




5-20                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                       Lesson 5 Creating Basic Dimension Build Rules

Step 12: Updating the Outline
After your dimension build load rule is complete, you can use it to load dimensions and
members into your outline. You can use any of the following methods to execute a
dimension build load rule:
 • Manually in Outline Editor
 • Manually by executing a data load
 • Automatically with a MaxL script
Of the three choices, only the first gives you the option of discarding the changes to the
outline after Analytic Services executes the rule. After you execute a load rule in the
Outline Editor window, you can close the outline without saving the changes made by the
load. However, when you execute a dimension build through the data load process or a
MaxL script, Analytic Services performs an automatic save and restructure of the
database. During the design phase of an implementation, the Outline Editor method is
commonly used; after database deployment, an automatic update is more common
used.


To update the outline in Outline Editor:
 1. Select Outline > Update Outline.
 2. Select a data source type.
 3. Select source data files.
 4. Select a load rule.
 5. Specify an error file location.
           NOTE
           For SQL data sources, you do not select data files. Instead, you enter your
           SQL username and password in the provided text boxes.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     5-21
                                                                                 Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules




       Configuring Dimension Maintenance Settings

       Considerations for updating a dimension:
        Moving members
        Modifying member properties
        Sorting members
        Selecting member update mode




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Configuring Dimension Maintenance Settings
When updating, rather than creating, dimensions, there are additional considerations
when building load rules.
 • Whether to allow moves of members
 • Whether to allow modification of member properties
 • Whether to sort members
 • Whether to use the data source to modify or replace the dimension




5-22                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                           Lesson 5 Creating Basic Dimension Build Rules




Moving Members
By default, Analytic Services does not move a member in the hierarchy, even when the
outline position of the member differs from the position of the member in the data source.
The following table, which applies only to dimensions with unique member names,
shows the default behavior of each dimension build method when the parent of a
member in a data source record differs from the parent of the member in the outline.

 Build Method              Dimension Build Result
 Generation references     Analytic Services skips the record and writes it to the error file.
                           There is no change to the member
 Level references          Analytic Services skips the record and writes it to the error file.
                           There is no change to the member.
 Parent-child references   Under the new parent, Analytic Services creates a shared member
                           that references the original member.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                 5-23
                                                           Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

For a dimension in which duplicate names are allowed, when data source and outline
positions differ, all three build methods create a duplicate member name under the new
parent.
In some cases, you may want to move members in the hierarchy. In the example on the
slide, the Sales group wants to realign the Lightbolt product line with the Old Lines total.
To realign, you create a load rule with Allow Moves specified in the Dimension build
settings. With Allow Moves selected, Analytic Services moves Lightbolt from New Lines
to Old Lines, instead of returning an error or creating a shared member.




5-24                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                               Lesson 5 Creating Basic Dimension Build Rules




    Modifying Member Properties

    Analytic Services requires explicit commands:
      To update member properties
      To update member formulas
      To replace member UDAs




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Modifying Member Properties
As you maintain your outline, you may find it necessary to change the properties,
formula, or UDA assignments of a member. The Dimension Build Settings dialog box
provides three check boxes for updating member information:
 • Allow property changes: This option enables you to update consolidation
   operators, data storage properties, account properties, and any other element of
   member information that you can assign with a property field. By default, if Analytic
   Services encounters a property field for an existing member in a dimension build
   rule, it returns the error “Property changes for member MemberName not allowed.”
 • Allow formula changes: This option enables you to update member formulas from
   information in a formula field. By default, if Analytic Services encounters a formula
   field for an existing member in your dimension build rule, it returns the error “Formula
   changes for MemberName not allowed.”




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           5-25
                                                            Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

    • Allow UDA changes: This option enables you to replace a member’s existing UDAs
      with the ones listed in the data source. By default, if Analytic Services encounters a
      UDA field for an existing member in your dimension build rule, it creates a UDA and
      leaves the original UDA intact. For example, the customer IBM has a UDA of Class
      A. To change the UDA for IBM to Class L, you must select Allow UDA changes,
      otherwise IBM will be assigned both Class A and Class L UDAs after dimension
      build.
         NOTE
          Before you select Allow UDA changes, you must select Allow property changes.
I




5-26                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                             Lesson 5 Creating Basic Dimension Build Rules




    Sorting Members

      Sort in ascending or descending order
      Sort entire dimensions




                           © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Sorting Members
When you add members to a dimension, you may want to enforce a sequential order. By
default, Analytic Services adds a member as the last child of its parent.
You can have Analytic Services arrange members within a dimension in alphabetical
order (A to Z) or reverse alphabetical order (Z to A).




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         5-27
                                                          Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules

In the following example, the dimension build adds members Lightbolt 125 A and
Lightbolt 715 S out of sequence:




   Existing Hierarchy
                                                            After Dimension Build

You can correct the sequence automatically during the dimension build by applying a
Member Sorting option in the Dimension Build Settings dialog box.
Keep in mind that, when sorting is enabled, Analytic Services applies sorting to every set
of siblings in the dimension that you are building, not only to the members being loaded.
If you applied sorting during the preceding example, Analytic Services would place the
Lightbolt products in the correct sequence but would also move the Configuration Total
hierarchy before Family Total, thus interfering with the shared member references from
Configuration Total to Family Total and changing how users view data.
       TIP
       Because sorting is applied to the entire dimension, you should use it only on
       single-hierarchy dimensions with simple aggregation consolidations. Sorting
       dimensions with multiple hierarchies or complex consolidation paths can have
       unpredictable results.




5-28                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                               Lesson 5 Creating Basic Dimension Build Rules




    Updating Members

    Two load modes:
      Add members to a dimension
      Replace an entire dimension




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Updating Members
Although most dimension maintenance builds simply add members, in some cases you
may want to replace a dimension in its entirety. In these situations, you can select the
Remove unspecified member update option in the Dimension Build Settings dialog box.
When you do, Analytic Services deletes all members of the dimension and rebuilds the
dimension from the information in the data source.
During this process, Analytic Services also deletes all data associated with members that
are deleted and not subsequently rebuilt. Members that are rebuilt retain their data. Use
this option with caution.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           5-29
                                                          Module 2 Building Load Rules
Lesson 5 Creating Basic Dimension Build Rules




            Summary
            In this lesson, you should have learned to:
            • Describe dimension build load rules
            • Create dimension build load rules
            • Describe and implement dimension maintenance settings




5-30                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    6

Creating Advanced Dimension Build
Rules                                                  6




Objectives
After completing this lesson, you should be able to:
 • Create shared members with a load rule
 • Create duplicate members with a load rule
 • Manipulate fields in load rules
 • Create user-defined attributes with a load rule
                                                                                  Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




      Advanced Dimension Build Rules Overview

       Adding shared members                                                               Data Source
                                                                                Class       Customer      Channel
       Processing data sources
                                                                            A              IBM           OEM
                                                                            L              Maniex        Disti
                                                                            …              …             …




           Shared Members

                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Advanced Dimension Build Rules Overview
Although the twelve-step procedure for creating a dimension build rule provides a solid
starting point for creating load rules, you may encounter dimension build tasks or data
source issues that require special consideration:
 • Adding shared members to your outline
 • Processing data sources that are out of order or include member names that do not
   match what you want in your outline




6-2                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                     Lesson 6 Creating Advanced Dimension Build Rules




    Creating Shared Members

      Generation references
      Level references
      Parent-child references




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Shared Members
The data associated with a shared member comes from a stored member with the same
name as the shared member. The shared member creates a pointer to data contained in
the stored member; thus the data is shared between the members and is stored only once.
Adding shared members in Outline Editor is a simple process; you assign the Shared data
storage property to the member. But, the process of using a rules file to build shared
members differs from the process of using a rules file to build stored members; you must
choose the build method and format the data source carefully. You must also consider the
generation and level numbers of the shared members and their related stored members,
because generation and level affect the validity of build methods.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                          6-3
                                                        Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




Generation Build Method
In the example on the slide, the shared member Lightbolt (a child of New Lines) is a
generation 4 member of the Product hierarchy, as is its related stored member (a child of
Performance). You can create members that are shared at the same generation by using
the generation build method. In this example, Performance is the primary parent, and New
Lines is considered a duplicate generation: a generation with shared members for children.
To create shared members by using the generation build method, you need both the
primary parent and the parent of the shared member in your data source. List the primary
parent first, and define the field type for the parent of the shared members as DUPGEN,
using the GEN number of the primary parent.




6-4                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                 Lesson 6 Creating Advanced Dimension Build Rules




Level Build Method
Sometimes you want shared members to roll up into parents of different generations. In
the example on the slide, Lighbolt 365 A is a stored member under Lightbolt (generation
4) and a shared member under Config A (generation 3). Because the parents are at
different generations, you cannot use the generation build method. However, because
both parents are level 1 members, you can use the level build method.
You can create members that are shared at the same level by using the level build
method. In this example, Performance is the primary parent, and Config A is considered
a duplicate level: a level with shared members for children.
To create shared members using the level build method, you need both the primary
parent and the parent of the shared member in your data source. List the primary parent
first, and define the field type for the parent of the shared members as DUPLEV, using
the LEV number of the primary parent.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    6-5
                                                          Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




Parent-Child Build Method
Parent-child references provide the most flexible method for loading and maintaining
shared members. By default, a parent-child build automatically adds shared members,
without the field designations that are required in level and generation builds. The
principal requirements are that a matching stored member exists in the outline and that
the matching member has a parent other than the parent of the shared member that
Analytic Services is currently loading.
Creating and maintaining shared members with parent-child references solves a variety
of sharing issues that are difficult to manage with the generation or level build methods.
The parent-child build method provides the following benefits:
 • Creates shared members automatically without special setup requirements
 • Enables sharing at any level or generation (In the example on the slide, the
   Configuration Total shared members and the Line Total shared members are added
   in one build, despite being shared at different levels or generations.)


6-6                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                 Lesson 6 Creating Advanced Dimension Build Rules

 • Enables building complete secondary rollup hierarchies in one build (When using
   generation and level build methods, the duplicate generation or level parents must
   exist in the outline before the shared member is added; thus, a separate build is
   usually required. In the example on the slide, Analytic Services adds not only the
   shared members but also their ancestors.)
      NOTE
      Selecting Do Not Share in the Dimension Build Settings dialog box disables for
      the selected dimension all sharing in a parent-child build. The Do Not Share check
      box is not selectable for generation or level build methods.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     6-7
                                                                                 Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




      Creating Duplicate Member Outlines



      Duplicate
      Names                                                1


                                                           2




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Duplicate Member Outlines
In some cases, you may have duplicate names for members that are not shared. Analytic
Services Release 9.0 or higher enables you to create duplicate members in your outline.
For example, Bigcorp sells hard drives to Apple as an original equipment manufacturer
(OEM) customer and as a retail outlet customer. The OEM Apple data differs from the
retail Apple data, so creating a shared member is not appropriate. To keep channels and
customers in one dimension, Bigcorp has two options:
1. Create a unique name for each instance of Apple (for example, OEM-Apple and
   Retail-Apple).
2. Enable the duplicate member names option for the outline (available only in Release
   9 and higher).




6-8                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                     Lesson 6 Creating Advanced Dimension Build Rules

By default, outlines require unique names. When you enable duplicate member names in
an outline, Analytic Services can display the same name for two or more members and,
internally, store the names in a qualified format that differentiates the members.
Within a duplicate member outline, you can tag dimensions, generations, and levels as
unique or duplicate to restrict use of duplicate member names. Thus, you can specify
member name uniqueness at a more granular level in a duplicate member outline.

To enable duplicate member names in an outline:
 1. In Outline Editor, select the Properties tab.
 2. For Duplicate member names allowed, select true.
           NOTE
           After you save the outline as a duplicate member outline, you cannot convert
           it back to a unique member outline. Because duplicate member outlines
           require more disk space than unique member outlines, enabling duplicate
           members in an outline can slow database performance.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    6-9
                                                                                  Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




       Qualifying Duplicate Member Names

       Each non-shared member name uniquely identifies a member in the
       database.

                                                            Member Name                     Qualified Name
                                                            Apple                          [OEM].[Apple]
                                                            Dell                           [OEM].[Dell]
                                                            HP                             [OEM].[HP]
                                                            Apple                          [Retail].[Apple]
                                                            Dell                           [Retail].[Dell]
                                                            HP                             [Retail].[Dell]




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Qualifying Duplicate Member Names
Although duplicate member names are displayed in the outline, each non-shared
member name identifies a unique member in the database. Internally, Analytic Services
stores duplicate member names in a qualified format that differentiates the names. You
can view the qualified member name for a duplicate member by opening the outline in
View mode and viewing the Member Properties dialog box.
You can specify a qualified member or alias name in either of the following formats:
 • Qualified: The member name or alias and all ancestors up to and including the
   generation that differentiates the member name or alias from a duplicate member
   name or alias. Each name must be enclosed in brackets ([]); names must be
   separated by periods.




6-10                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                 Lesson 6 Creating Advanced Dimension Build Rules

   In the example on the slide, you can qualify the duplicate names for Apple in the
   Bigcorp Customer dimension as the following:
   [OEM].[Apple]
   [Retail].[Apple]
 • Fully Qualified: The member name or alias and all ancestors up to and including the
   dimension name. Each name must be enclosed in brackets; names must be
   separated by periods.
   In the example on the slide, you can qualify the duplicate names in the Bigcorp
   Customer dimension as the following:
   [Customer].[Channel Total].[OEM].[Apple]
   [Customer].[Channel Total].[Retail].[Apple]
      NOTE
      A qualified name must include all alias names or all member names. You cannot
      mix member names and alias names in a qualified name.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       6-11
                                                                                  Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




       Creating Members with Duplicate Names

       Enabling duplicate member
       names in load rules



                                                    3


                            1

                                                    4




        2




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Members with Duplicate Names
When you create a duplicate member outline, by default all dimensions in the outline are
tagged as unique. Before you can add duplicate members to the outline, you must
enable duplicate members in one or more dimensions.

Generation and Level Names
You can assign names to a generation or level in a dimension and then use the names to
represent all members in the generation or level. You can reference generation and level
names in reports, calculation scripts, and MDX scripts.
When duplicate members are enabled in a dimension, by default all levels and
generations are tagged as duplicate. You must define generation and level names for a
dimension to control member name uniqueness within the dimension; you can tag
particular generation or level names within the dimension as unique.




6-12                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                    Lesson 6 Creating Advanced Dimension Build Rules

For example, Bigcorp wants only unique names in the Customer dimension for all
Channels (generation 3) but unique and duplicate names for individual customers
(generation 4). Bigcorp creates generation names for generation 3 and 4, tagging
generation 3 as unique and generation 4 as duplicate.

Restrictions
The following restrictions apply to creating duplicate member names and aliases in
outlines:
 • Dimension names must be unique.
 • Generation names and level names must be unique.
 • Siblings under a parent member must be unique.


To use load rules to enable duplicate names within a dimension:
 1. In the Dimension Build Properties dialog box, select the Dimension Definition tab.
 2. Right-click the desired dimension, and then select Edit properties.
         The Dimension Properties dialog box is displayed.
 3. Select Member names duplicated in dimension.
 4. Optional. If you want to restrict the use of duplicate names in the dimension to a
    particular level or generation, complete the following steps:
   a. Select the Generation/Level Names tab.
   b. Select Generation or Level.
   c. In the Name text box, define a unique generation or level name.
   d. In the Number text box, enter a generation or level number.
   e. From the Unique drop-down list, select Unique or Duplicate.
   f. As desired, to add additional generation or level names, click New, and then repeat
      steps a through e.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         6-13
                                                                                   Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




       Manipulating Fields

       Arranging fields:                           Group                   Model ID           Line      Type
         Move                               Performance                365-15-150           Lightbolt   ATA
                                            Performance                540-01-100           Lightbolt   SCSI
         Join
                                            …                          …                    …           …
         Split
         Create using join
         Create using text


       Altering fields:
         Replace text
         Add prefixes and suffixes
         Ignore fields

                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Manipulating Fields
Data sources may contain information that is irrelevant or unusable in its original format.
One of the challenges that you encounter as a database developer is how to process an
unformatted data source so that it accomplishes the following objectives:
 • Returns all information needed to build your outline hierarchy
 • Formats names as you want them formatted
 • Conforms to Analytic Services rules for unique names (not required in dimensions
   that enable duplicate names)
Load rules give you a two-step alternative for addressing these issues, by preprocessing
source data before loading it to your database:
 1. Arrange fields by using Field menu options.
 2. Alter fields by using Field Properties dialog box options.



6-14                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                          Lesson 6 Creating Advanced Dimension Build Rules




     Arranging Fields

     Step 1: Arrange fields by using field menu options.

                                                   Data Source
                             Group           Model ID     Line                           Type
                         Performance        365-15-150 Lightbolt                        ATA
                         Performance        540-01-100 Lightbolt                        SCSI
                         …                  …          …                                …




                           Final Arrangement After Load Rule Processing
          Family Total         Group                  Line                      Line Mod Type      el ID
         Family Total      Performance            Lightbolt                 Lightbolt 365 ATA    -15-150
         Family Total      Performance            Lightbolt                 Lightbolt 540 SCSI   -01-100
         …                 …                      …                         …                    …

                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Arranging Fields
Your data source fields may not be in the order required for dimension building, or you
may need to duplicate, parse, or concatenate fields in your data source to produce the
member names that you want in your outline. Rather than changing the data source, you
can build field-arrangement actions into your load rules.
You can use the following Field menu options to arrange fields:

 Function      Description
 Move          Changes the order of fields (For dimension building, fields must be arranged in a
               specific order.)
 Split         Parses fields at a given number of characters
 Join          Joins two or more fields (often used to create unique member names)
 Create Using Joins two or more columns, creating a new field and leaving existing fields intact
 Join         (can also be used to duplicate a single field)
 Create Using Creates fields based on text that you enter (The same text is displayed for all records
 Text         in the data source. Often used to create spacing characters for joined fields.)

Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                           6-15
                                                            Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules

Analytic Services records your field arrangement actions in sequence in the load rule and
follows the recorded sequence of actions every time you execute the rule.

Arranging Fields Example
The example on the slide shows a data source for building the Family Total rollup in the
Bigcorp Sales Product dimension. The following describes the four fields in the data
source:
 • Group: This field maps directly to the product family names (generation 3) in the
   Family Total rollup.
 • Model ID: This field includes three hyphenated numeric codes. The first represents
   the model number, the second the manufacturing location, and the third the size of the
   hard drive. Your Analytic Services database design specifies that you need only the
   model number. Because model numbers are not unique from product line to product
   line, you prefix the model number with the product line name to create unique names.
 • Line: This field maps directly to the product line names (generation 4) in the Family
   Total rollup.
 • Type: This field notes the type of hard drive—Bigcorp hard drives are built in both ATA
   and SCSI interface configuration.
You want to use generation references to convert the data source into a format that builds
the Family Total hierarchy. In the first part of the process, you arrange fields by completing
the following sequence of actions:
 1. Add Family Total, using Field > Create using text.
 2. Move Line, using Field > Move.
 3. Isolate the model number in Model ID, using Field > Split.
 4. Create a duplicate of the Line field, using Field > Create using join.
 5. Add spaces between the line, model number, and type fields, using Field > Create
    using text.
 6. Concatenate the line, model number, type and space fields to create your database
    product name, using Field > Join.

Undoing Field Operations
You can undo the last field operation that you performed by using the Edit > Undo
command. You can also undo field operations if you have performed intervening actions.
Undoing field operations is sequential; you must undo field operations from the last
operation to the first operation. Analytic Services provides a sequential list of field
operations on the Field Edits tab of the Data Source Properties dialog box, and you can
delete the last action listed in the sequence.


6-16                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                           Lesson 6 Creating Advanced Dimension Build Rules




    Altering and Ignoring Fields

                                                                  Step 2: Alter fields by using Field
                                                                  Properties dialog box options.




                                                    Replaced Text


                                                                                                Ignored Field

           Family Total       Group                 Line                     Line Mod Type          el ID
          Family Total    Performance          Lightbolt                   Lightbolt 365 A        -15-150
          Family Total    Performance          Lightbolt                   Lightbolt 540 S        -01-100
          …               …                    …                           …                      …
                                  © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Altering and Ignoring Fields
In addition to arranging fields, you may need to include rules to alter the text from the
data source, either by replacing text, adding prefixes or suffixes, or ignoring superfluous
fields.
Unlike field arrangement options, field alteration settings are defined in the Field
Properties dialog box and are field-specific. Analytic Services provides the following
options to alter fields in the Field Properties dialog box:

 Function             Field Properties Tab                 Description
 Case                 Global Properties                    Alter text case. Options include Original,
                                                           Lowercase, and Uppercase.
 Prefix               Global Properties                    Prefix field values with a text string. Often used to
                                                           create unique names.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                6-17
                                                              Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules


 Function          Field Properties Tab      Description
 Suffix            Global Properties         Suffix field values with a text string. Often used to
                                             create unique names.
 Replace           Global Properties         Replace text in fields with a specified text string.
                                             You can also replace text with no string. Includes
                                             the following options:
                                             • Case-sensitive: Select to construct a
                                               condition based on a case-sensitive string.
                                             • Match Whole Word: Select to replace the text
                                               string only when it occurs as an entire word. If
                                               the text string is embedded in another word, it
                                               is not replaced. For example, you want to
                                               change the field value FIREBRAND 540 A to
                                               FIREBRAND 540 ATA, so you create a rule to
                                               replace A with ATA. Because the word
                                               FIREBRAND contains an A, if you do not select
                                               Match Whole Word, the resulting string is
                                               FIREBRATAND 540 A.
                                             • Replace All Occurrences: Select to replace
                                               multiple instances of a text string in a single
                                               field value. By default, Analytic Services
                                               replaces only the first occurrence.
 Ignore during     Dimension Build           Instruct Analytic Services to skip the field when
 dimension build   Properties                processing the data source.


Altering and Ignoring Fields Example
Continuing the preceding Bigcorp example on arranging fields, after you arrange your
data source fields, you need to alter some fields to map values to your outline. To finish
the process of manipulating fields, you must complete the following tasks:
 • In Field 4 (Line Mod Type), create rules to replace ATA and SCSI with A and S,
   respectively.
 • Instruct Analytic Services to ignore Field 5 (el ID) during dimension builds. This field
   contains the manufacturing location code and hard drive size that are part of the
   model ID number in the original data source; the field is not required in the outline.




6-18                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                  Lesson 6 Creating Advanced Dimension Build Rules




Creating User-Defined Attributes
You can create user-defined attributes for members. A user-defined attribute (UDA) is a
word or phrase about a member. In the example on the slide, each customer in the
Bigcorp Sales outline has a UDA that describes customer class. Class A customers are
major accounts, Class R customers are non-major retail accounts, and Class L
customers are distributor accounts. You can use UDAs in the following places:
 • Calculation scripts. After you define a UDA, you can query a member for its UDA in a
   calculation script. For example, you can create a budget that is 115% of actuals for
   Class A customers, 110% of actuals for Class R customers, and 105% of actuals for
   Class L customers.
 • Data loading. Using a UDA, you can change the sign of a data value as it is loaded
   into the database.
 • Reports. In a report, you can build a list of members with similar UDAs.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                   6-19
                                                        Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules

 • Security filters. Using member UDAs, you can define a user’s access to data and
   metadata.
 • Partition definitions: Using member UDAs, you can define partitions.

Rules for Creating UDAs
Follow these rules when creating UDAs:
 • You can define multiple UDAs per member.
 • You can set the same UDA for multiple members.
 • A UDA name can duplicate a member, alias, level, or generation name.
 • You cannot create a UDA on shared members or members of attribute dimensions.
 • A UDA applies only to the specified member. Descendants and ancestors of the
   member do not inherit the UDA.
 • You can define UDAs manually in the Member Properties dialog box.
 • You can create UDAs with load rules by using the UDA field type in the Dimension
   Build Properties dialog box.
          TIP
          By default, Analytic Services does not update UDAs when you run a
          dimension build. If you want to add a UDA to a member, select Allow property
          changes in the Dimension Build Settings dialog box. If you want to replace the
          UDAs of a member, select Allow property changes and Update UDAs in the
          Dimension Build Settings dialog box.




6-20                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                 Lesson 6 Creating Advanced Dimension Build Rules




            Summary
            In this lesson, you should have learned to:
           • Create shared members with a load rule
           • Create duplicate members with a load rule
           • Manipulate fields in load rules
           • Create user-defined attributes with a load rule




Hyperion System 9 BI+ Essbase Analytics Bootcamp                            6-21
                                                   Module 2 Building Load Rules
Lesson 6 Creating Advanced Dimension Build Rules




6-22                           Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    7

Creating Attribute Dimensions                             7




Objectives
After completing this lesson, you should be able to:
 • Describe attribute dimensions
 • Compare attribute dimensions to other design options
 • Create attribute dimensions with a load rule
                                                                                        Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions




      Attribute Dimension Overview


       Lightbolt


             Lightbolt 365 A Drive Type: Internal, Drive Size: 150


             Lightbolt 365 S Drive Type: Internal, Drive Size: 120


             Lightbolt 540 A Drive Type: External, Drive Size: 150




                                   © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Attribute Dimension Overview
You can use attribute dimensions to retrieve and analyze data not only from the
perspective of dimensions but also in terms of characteristics, or attributes, of the
dimensions.
For example, Bigcorp can analyze product profitability based on product attributes such
as hard drive size, incorporating into the analysis customer attributes such as region or
account manager. Analysts can determine that hard drives with larger disk sizes (greater
than 600 gigabytes) sold to customers in the east are less profitable than anticipated. For
details, they can filter the analysis by specific attribute criteria, including minimum or
maximum sales and profits of multiple products in one region.

Benefits of Using Attribute Dimensions
The following are only a few of the ways analysis by attribute provides depth and
perspective, supporting better-informed decisions:



7-2                                           Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                               Lesson 7 Creating Attribute Dimensions

 • You can select, aggregate, and report on data based on common attributes.
 • By defining attributes as having a text, numeric, Boolean, or date type, you can filter
   data using type-related functions such as AND, OR, and NOT operators and <, >,
   and = comparisons.
            NOTE
            Only text attribute dimensions are supported in Hyperion Planning databases.


 • You can use the numeric attribute type to group statistical values by attribute ranges;
   for example, population groupings such as <500,000, 500,000–1,000,000, and
   >1,000,000.
 • Through the Attribute Calculations dimension, automatically created by Analytic
   Services, you can view sums, counts, minimum or maximum values, and average
   values of attribute data.
 • You can perform calculations using numeric attribute values in calculation scripts and
   member formulas.
      TIP
      Although you can create multilevel attribute hierarchies, these can have a serious
      impact on database and retrieval performance and should be avoided.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       7-3
                                                            Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

 • You can create crosstabs of attribute data for a dimension, and you can pivot and drill
   down for detail data in spreadsheets.
      An attribute crosstab is a report or spreadsheet showing data consolidations across
      attributes of the same dimension. For example, the following crosstab displays
      product drive sizes as rows and drive types as columns. At the intersections, you see
      the net sales for the combinations of drive size and drive type. From this information,
      you can see which size-type combinations were most profitable in January:




         NOTE
         For detailed information about attribute dimensions, see the Database
         Administrator’s Guide.




7-4                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                               Lesson 7 Creating Attribute Dimensions




    Associating Attribute Dimensions

    Attribute dimension association rules:
      Associate with sparse base dimensions.
      Associate with a base dimension before saving the outline.
      Place last in the outline.
      Associate with only one base dimension.




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Associating Attribute Dimensions
In the example on the slide, products have attributes that describe hard drive sizes and
types. In the outline, you see these characteristics as additional dimensions associated
with Product. An attribute dimension has the word Attribute next to its name in the
outline. Additionally, to the right of the Product dimension, the terms Drive Type and
Drive Size show that these attributes are associated with the Product dimension.
A standard dimension is any dimension that is not an attribute dimension. When an
attribute dimension is associated with a standard dimension, the standard dimension is
the base dimension for the attribute dimension.
There are several important rules regarding members of attribute dimensions and their
base dimensions:
 • You can associate only sparse standard dimensions with attribute dimensions.
 • Before you can save an outline to the server, each attribute dimension must be
   associated with a standard, sparse dimension.


Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                  7-5
                                                             Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

 • Attribute dimensions must be the last dimensions in the outline.
 • An attribute dimension can have only one associated base dimension.


To associate an attribute dimension with a base dimension:
 1. In Outline Editor, select a sparse dimension.
 2. For the dimension, open the Member Properties dialog box.
 3. Select the Attributes tab.
 4. In the Other attribute dimensions list box, select the attribute dimension that you want to
    associate.
 5. Click Assign.




7-6                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                              Lesson 7 Creating Attribute Dimensions




    Assigning Attributes to Base Members

    Member association rules:
      For each attribute dimension,                             For each attribute dimension,
      associate no more than one                                associate all attributes at the
      attribute per base member.                                same level in the base
                                                                dimension.
                                                                Associate only level 0 attribute
                                                                members.




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Assigning Attributes to Base Members
When you associate a member of an attribute dimension with a member of a base
dimension, follow these rules:
 • You cannot associate multiple members from one attribute dimension with the same
   base dimension member. For example, the Internal and External drive type cannot
   both be associated with the product Lightbolt 365 A.
 • All base dimension members associated with members of a particular attribute
   dimension must be at the same level. In the example on the slide, all Product
   dimension members that have Drive Type attributes are at level 0. You cannot
   associate THUNDERBALL, which is a level 1 member, with a Drive Type attribute
   because the other members of the Product dimension that have Drive Type attributes
   are level 0 members.
 • You can associate only level 0 attribute members to base members. Although
   attribute dimensions can have multi-level hierarchies, in the base dimension, you
   cannot use attribute parent levels as associated attributes. .

Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   7-7
                                                            Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

To associate an attribute to a base dimension member:
 1. In Outline Editor, for a base dimension member, open the Member Properties dialog
    box.
 2. Select the Associations tab.
 3. In the Available attributes list, expand the desired attribute dimension, and then select
    the desired level 0 attribute.
 4. Click Assign.
         Analytic Services adds the selected attribute to the Associated
         attributes list.




7-8                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                Lesson 7 Creating Attribute Dimensions




    Attribute Calculations Dimension

       System-defined
       Label only
       Dynamic Calc
       Not displayed in Outline Editor




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Attribute Calculations Dimension
When you create the first attribute dimension in the outline, Analytic Services creates the
Attribute Calculations dimension, which includes five members with the default names
Sum, Count, Min (minimum), Max (maximum), and Avg (average). You can use the
members in spreadsheets or reports to dynamically calculate and report on attribute
data, such as the average yearly sales of internal hard drives to OEM customers.
The Attribute Calculations dimension is not visible in the outline. You can see it wherever
you select dimension members, such as in Essbase Spreadsheet Add-in.
The Attribute Calculations dimension has the following properties:
 • System-defined. Analytic Services creates the Attribute Calculations dimension and
   its five members automatically. You cannot add or delete members.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   7-9
                                                         Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

 • Label only. Like all label only dimensions, the Attribute Calculations dimension
   shares the value of its first child, Sum. Effectively, when you view an attribute
   member in a report, you view the Sum calculation whether or not the Sum member is
   displayed.
 • Dynamic Calc. The data in the Attribute Calculations dimension is calculated when a
   user requests it and is then discarded. You cannot store calculated attribute data in a
   database.
 • Not displayed in Outline Editor. The Attribute Calculations dimension is not displayed
   in Outline Editor. Members from this dimension can be viewed in spreadsheets and
   reports and managed on the Properties tab in Outline Editor.
There is no consolidation along attribute dimensions. You cannot tag members from
attribute dimensions with consolidation operators or with member formulas in order to
calculate attribute data.




7-10                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                 Lesson 7 Creating Attribute Dimensions




    Comparative Design Considerations
                                                 Secondary Rollup


         Attribute Dimension
                                                                                             UDAs




                                         Two Standard Dimensions




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Comparative Design Considerations
For the greatest flexibility and functionality, use attribute dimensions to define attribute
data. Using attribute dimensions provides sophisticated, flexible data retrieval, additional
calculation functionality, economy of disk space, and simplicity of design. However, in
some situations, consider one of the following approaches:
 • Create a standard dimension. Additional standard dimensions provide flexibility, but
   they add storage requirements and complexity to a database.
 • Use shared members to create a secondary hierarchy in a standard dimension. This
   is possibly the most common approach to grouping members with similar
   characteristics, but a major disadvantage of using shared members is that the outline
   becomes very large if the categories repeat many members.
 • Add UDAs to members in a standard dimension. Although UDAs provide less
   flexibility than attributes, you can use them to group and retrieve data based on UDA.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                    7-11
                                                             Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

The following table describes design situations for which you should consider alternative
approaches for managing attribute data. .

 If you want to...               Consider...
 Analyze attributes of dense     UDAs or secondary hierarchies
 dimensions
 Perform batch calculations of   Secondary hierarchies or standard dimensions
 data
 Define attributes that vary     Standard dimensions (For example, to track product
 over time or associate          maintenance costs over a period of time, the age of the
 multiple attributes with one    product at the time of maintenance is important. However,
 member                          using the attribute feature you can associate only one age
                                 with the product. You need multiple members in a separate
                                 dimension for each time period that you want to track.)
 Minimize retrieval time with    Batch calculation with secondary hierarchies or standard
 large numbers of base-          dimensions
 dimension members


Each design choice has unique implications in terms of database size, batch calculation
performance, reporting layout, and reporting performance. You can use the comparisons
discussed in the following topics as a guide to deciding which design option works best
for you.




7-12                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                               Lesson 7 Creating Attribute Dimensions



    Design Considerations: Effect on Database
    Size

                Standard         Attribute                    Secondary
              Dimensions       Dimensions                    Hierarchies                         UDAs
           Large impact—     No impact—                    Some impact—                    No impact—
           Database          Data is not                   Additional                      Member
           architecture is   stored.                       consolidation                   properties
           changed                                         nodes are                       require no
           database size     You do not                    stored.                         additional
           is increased.     have to                                                       storage.
                             reference
           During data       attributes in
           load, you must    data loads.
           reference all
           standard
           dimensions.




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Design Considerations: Effect on Database Size
Additional standard dimensions have the greatest impact, increasing database size and
degrading overall performance. As a general rule for block storage databases, a
minimum number of standard dimensions produces the most efficient database design.
Secondary hierarchies also increase database size. Although secondary hierarchies
contain primarily shared members, they also contain non-shared consolidated members
that are typically stored.
Attribute dimensions and UDAs have no impact on database size, as neither requires
Analytic Services to store extra data.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                        7-13
                                                                                 Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions



       Design Considerations: Effect on Batch
       Calculation Performance

               Standard        Attribute                     Secondary
              Dimensions     Dimensions                     Hierarchies                        UDAs
           Large impact—   No impact—                     Some impact—                    No impact—By
           Expanded        Calculations                   Additional                      themselves,
           database        are dynamic.                   consolidation                   UDAs perform
           architecture                                   nodes are                       no inherent
           requires                                       calculated.                     calculations.
           increased
           calculation
           time.




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Design Considerations: Effect on Batch Calculation Performance
Additional standard dimensions also have the greatest impact on batch calculation
performance. The more standard dimensions Analytic Services needs to calculate, the
the more time required for calculation.
Secondary hierarchies also affect batch calculation times, because they contain
consolidated members that need to be calculated across all standard dimensions.
Attribute dimensions and UDAs have no impact on batch calculation performance;
Analytic Services calculates attribute dimensions dynamically, and UDAs have no
inherent calculation properties.




7-14                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                  Lesson 7 Creating Attribute Dimensions



    Design Considerations: Effect on Reporting
    Layout


              Standard             Attribute                           Secondary
            Dimensions            Dimensions                          Hierarchies                 UDAs
          Are easy to use       Are not                             Are easy to use           Are never
          in reports            displayed by                        in reports                displayed in
                                default                                                       reports
          Can make                                                  Are displayed
          reporting difficult   When displayed,                     as alternate              Can be used
          (if too many          behave like                         hierarchy paths           to filter lists of
          standard              standard                            in standard               members
          dimensions)           dimensions                          dimensions




                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Design Considerations: Effect on Reporting Layout
Reports are where the results of your design choices affect the end user. For this reason,
a collection of sample reports is one of your primary outline design tools. During the
analysis phase of your implementation, you must evaluate the effect of your design
choice on report layout.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                   7-15
                                                           Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

Standard Dimensions
In a report, you must reference all standard dimensions. You can create crosstab reports
with standard dimensions by displaying one dimension across the row axis and another
dimension across the column axis. For example, assuming that Customer and Region
Total are both standard dimensions, you can view customer channels in rows and
regions in columns.




Attribute Dimensions
In a report, you do not have to reference attribute dimensions. You can add attribute
dimensions to a report by using selection tools or by entering dimension names into
Excel. When an attribute dimension is displayed in a report, the entire report is calculated
dynamically, making it read-only. You can create crosstabs of two or more attributes for a
base dimension by displaying one attribute in the row axis and another attribute in the
column axis. For example, assuming that Customer is a standard dimension and Region
Total is an attribute dimension, you can view customer channels in rows and regions in
columns, exactly like the previous example.




7-16                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                Lesson 7 Creating Attribute Dimensions

Secondary Hierarchies
As secondary hierarchies are built into standard dimension hierarchies, they are
exposed normally when users drill down in dimensions. Thus, it is simple for users to find
and use them. You cannot create a crosstab report with the secondary hierarchy option.
In the following example, assuming that Region Total and Channel Total are both
hierarchies in the Customer dimension, Region Total and Channel Total are displayed in
the same axis because they are members of the same dimension.




UDAs
UDA values are never displayed in reports. However, you can use them to build lists of
members with similar UDAs by using member selection tools.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     7-17
                                                                                 Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions



       Design Considerations: Effect on Reporting
       Performance

               Standard         Attribute                    Secondary
              Dimensions      Dimensions                     Hierarchies                        UDAs
           Medium to        Large potential               Little impact—                  No impact—
           large impact—    impact—                       Results are                     UDAs do not
           Too many         Attributes are                typically stored                affect retrievals.
           standard         calculated                    and accessed
           dimensions       dynamically,                  as usual.
           slow overall     sometimes
           performance.     causing slow
                            reporting
                            performance.




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Design Considerations: Effect on Reporting Performance
Attribute dimensions have the greatest potential impact on reporting performance, because
all data in a report that displays attributes is calculated dynamically along sparse
dimensions. Thus, Analytic Services must bring multiple data blocks into memory in order
to return the calculations. To mitigate poor reporting performance, use the following
guidelines:
 • Do not use attribute dimensions for information that must be displayed in a large
   percentage of your reports.
 • Do not associate attribute members with an extremely large number of base
   dimension members.
Additional standard dimensions can also affect reporting performance. As data blocks
increase in size and number, Analytic Services needs more time to retrieve data from
them.
Secondary hierarchies and UDAs have no impact on reporting performance.


7-18                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                Lesson 7 Creating Attribute Dimensions




    Building Attribute Dimensions with Load Rules

                                                              1




     2
                                                                                            3




                                               4
                                                                                                 5




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Building Attribute Dimensions with Load Rules
You can use rules files to build attribute dimensions dynamically, to add and delete
members, and to establish or change attribute associations.
Working with attributes involves the three following sequential operations:
 1. If the attribute dimension does not exist, you must create it and associate it with its
    base dimension.
 2. You must build the attribute dimension hierarchy.
 3. You must associate members of the base dimension with members of the attribute
    dimension.
You can use either of the following approaches to perform these operations:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                 7-19
                                                            Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

 • Build the attribute dimension and perform the associations in one rules file. Assuming
   that the base dimension exists, you can build an attribute dimension and associate its
   attributes with the members of the base dimension in a single step. You need only to
   define the attribute associations in the rules file.
 • Build the attribute dimension with one rules file, and then perform the associations in
   another rules file. Assuming that the base dimension exists, you can build an
   attribute dimension and associate its attributes with the members of the base
   dimension in separate steps. Build the attribute dimension as you build a standard
   dimension, and then associate attribute members with members of the base
   dimension. You must use this approach when you build multilevel attribute
   dimensions.


To create attribute dimensions in load rules:
This procedure replaces the procedure for adding a standard dimension in step 7of the
dimension build rule procedure.
 1. In the Dimension Build Settings dialog box, select the Dimension Definition tab.
 2. Right-click the standard dimension to associate with the attribute dimension, and
    then select Edit properties.
         The Dimension Properties dialog box is displayed.
 3. Select the Attribute Dimensions tab.
 4. In the Name text box, enter your attribute dimension name.
 5. From the Type drop-down list, select Text, Numeric, Boolean, or Date.




7-20                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                Lesson 7 Creating Attribute Dimensions




Assigning Attributes to Base Members in Load Rules
Whether you build the attribute dimension and associate the attribute members with the
members of the base dimension in one step or separate steps, you define the field
properties in your load rule the same way.
Every record of the source data must include at least two columns, one for the member
of the base dimension and one for the attribute value of the base dimension member.
You must position the field for the member of the base dimension before the fields for the
members of the attribute dimension. You can create attribute associations by using any
of the three main dimension build methods.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     7-21
                                                           Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions

If attribute dimensions exist in your outline or you defined attribute dimensions in the load
rule, the list of field types includes thenames of the attribute dimensions. To associate
attributes with base dimension members, define the field properties for the attribute
dimension members as follows:
 • Dimension: base dimension
 • Field type: attribute dimension
 • Number: the number used for the associated base dimension members (The
   number varies, depending on the build method.)

Prohibiting the Addition of Attribute Members
By default, Analytic Services adds new members to the attribute dimension as it
associates attributes with base dimension members. If you are associating members
from a multilevel attribute dimension or if your attribute dimension is already built, you
must not allow Analytic Services to add members to the attribute dimension. To prevent
the addition of members, in the Attribute Members area on the Dimension Build Settings
tab of the Dimension Build Settings dialog box, for the base dimension, select “Do not
create members.”

Updating Attribute Associations
You can update attribute associations, but you must first allow association changes. In
Attribute Members area on the Dimension Build Settings tab of the Dimension Build
Settings dialog box, for the base dimension, select “Allow association changes.”




7-22                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                             Lesson 7 Creating Attribute Dimensions




            Summary
            In this lesson, you should have learned to:
           • Describe attribute dimensions
           • Compare attribute dimensions to other design options
           • Create attribute dimensions with a load rule




Hyperion System 9 BI+ Essbase Analytics Bootcamp                              7-23
                                                   Module 2 Building Load Rules
Lesson 7 Creating Attribute Dimensions




7-24                            Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    8

Loading Data                                           8




Objectives
After completing this lesson, you should be able to:
 • Describe the data load process
 • Create a data load rule
 • Load data to duplicate member names
 • Select and reject data records
 • Capture new members during data load
                                                           Module 2 Building Load Rules
Lesson 8 Loading Data




Data Load Overview
When your outline is complete, you can start to load data, that is, numbers, into your
database for analysis. A data source for loading data must contain not only the values
that you want to load but also identification of the location to which Analytic Services
should load the values: a data address that includes one member from every standard
dimension in your outline.
Analytic Services supports the following types of data sources for loading data:
 • Text files (flat files) from text backups or external sources
 • SQL data sources
 • Analytic Services export files (Export files can be loaded without a rules file.)
 • Microsoft Excel files with the .XLS extension, Version 4.0 and higher
 • Microsoft Excel files, Version 5.0 and higher.
 • Spreadsheet audit log files
 • Error files generated from a previous data load

8-2                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                   Lesson 8 Loading Data

Data Sources That Do Not Need a Rules File
If a data source contains all information required to load its data values into the database
and is formatted properly, you can load the data source directly. This kind of load is called a
free-form data load.
To load a data value successfully, Analytic Services must encounter one member from
each dimension before encountering the data value. If Analytic Services encounters a data
value before encountering a member of each dimension, it stops loading the data source.
In the following example, Analytic Services loads the data value 105 into the database with
the members Current Year, Jan, IBM, Lightbolt 365 A, and Units.




                                           l


The most common types of free-form data loading in a production environment are loading
data that you previously exported from an Analytic Services database and sending data
into the database from a spreadsheet.
       NOTE
       For more information about free-form data loads, please see the Database
       Administrator’s Guide.


Data That Requires Load Rules
If your data source does not meet free-form loading requirements, you need to create a
rules file to load it. Use rules files to manage the following tasks:
 • Loading a large number of records simultaneously in a single batch process
 • Mapping the data in the data source to the database by changing strings
 • Overwriting loaded or calculated values or aggregating values during data load
 • Setting header records for missing dimensions
 • Selecting or rejecting records on data load based on key words or values by field
 • Manipulating data formats
 • Automatically updating dimensions with new members without creating error
   messages
 • Scaling incoming data automatically
 • Rejecting an invalid record and continuing the data load


Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         8-3
                                                                                      Module 2 Building Load Rules
Lesson 8 Loading Data




      Procedure for Creating Data Load Rules

             General         1. Open a sample data source.
             Setup
                             2. Set data source properties.
                             3. Hide raw data (optional).
                             4. Set the view to data load fields.
                             5. Associate the rule with a database outline.
                             6. If necessary, format the file.
             Actions         7. Define field properties.
                             8. If necessary, define a data load header for missing
                                 dimensions.
                             9. Select data load values options.
             Completion      10. Validate the rule.
                             11. Save the rule.
                             12. Load data.



                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Procedure for Creating Data Load Rules
The twelve steps on the slide summarize the procedure for loading data into your
database. Use this as a checklist to use when you create a data load rule. The steps are
divided into three sections: general setup, actions, and completion.
Before beginning the procedure outlined in the following table, open Data Prep Editor.
The table shows each step in the procedure with its corresponding menu path:

 Procedure Step                                              Menu Path
  1. Open a sample data source.                              File > Open data file
                                                             File > Open SQL
  2. Set data source properties.                             Options > Data source properties
  3. Hide raw data (optional).                               View > Raw data
  4. Set the view to data load fields.                       View > Data load fields



8-4                                         Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                     Lesson 8 Loading Data


 Procedure Step                                Menu Path
  5. Associate the rule with a database        Options > Associate outline
     outline.
  6. If necessary, format the file.            Field menu options
  7. Define field properties.                  Field > Properties (Data Load Properties
                                               tab)
  8. If necessary, define a data load header   Options > Data load settings (Header
     for missing dimensions.                   Definition tab)
  9. Select data load values options.          Options > Data load settings (Data Load
                                               Values tab)
 10. Validate the rule.                        Options > Validate
 11. Save the rule.                            File > Save
 12. Load data.                                In Enterprise View, right-click the database,
                                               and then select Load data.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               8-5
                                                                                  Module 2 Building Load Rules
Lesson 8 Loading Data




      General Setup: Steps 1–6

       Provide yourself with samples of data on which to base your rule.
       Define correct file delimiters.
       Identify and ignore header records.
       Set Data Prep Editor to the correct mode for dimension building.
       Create an association between the rule and the database outline that
       you want to update.




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




General Setup: Steps 1–6
Like in the procedure for creating dimension build rules, the general setup steps in the
procedure for creating data load rules prepare Data Prep Editor for building the rule. You
do not have to execute these steps in any particular order, but, if you follow a standard
setup routine, you are less likely to forget an important step. Therefore, it is
recommended you complete the steps in the same order each time you create a load
rule. For a detailed description of the general setup steps, read Lesson 5, “Creating
Basic Dimension Build Rules.”




8-6                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                   Lesson 8 Loading Data

Step 1: Open a Sample Data Source
After you open Data Prep Editor, you can open data sources such as text files,
spreadsheet files, and SQL data sources. The data source provides a frame of reference
for building the load rule; it is displayed in Data Prep Editor so you can see what needs to
be changed and how to create your mappings. The sample data source that you use to
build the rule should have the same format as the actual data source that you use to
update your members.

Step 2: Set Data Source Properties
This step comprises two sub-steps: selecting a file delimiter for the data source and
identifying and ignoring header records in the data source.

Step 3: Hide Raw Data (Optional)
By default, Data Prep Editor is organized into two that enable you to compare the rule
results to the original data source. However, because many steps in the load rule
procedure involve opening dialog boxes on top of the load rule, hiding the source data
can give you a better view of the rule information as you complete the procedure.
You can toggle the raw data view on and off from the View menu.

Step 4: Set the View to Data Load Fields
When developing a load rule, you work in one of the following view modes:
 • Dimension build fields view: Use this view when you create rules to automate
   loading or maintenance of members in the outline.
 • Data load fields view: Use this view when you create rules to load data (for
   example, units and dollars) to existing members in a database.
Although you may not see a difference in the rule when you change the view mode,
changing view mode has a pronounced effect on later steps in the procedure, namely
assigning field properties and validating your rule. The default view in Data Prep Editor is
Data load fields.

Step 5: Associate the Rule with a Database Outline
You must associate your rules file with the database outline for which you are creating
the rule. Similar to step 4, this step provides no visual cues after completion, but, if you
do not associate your rule with an outline, you cannot successfully construct or validate
the rules file for errors.
You can associate an outline with your rules file from the Options menu.

Step 6: If Necessary, Format the File
If your data source columns are not in the correct order for building the dimension or you
must format the columns in other ways, you can use Field menu options to format the
data source columns.


Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         8-7
                                                                                   Module 2 Building Load Rules
Lesson 8 Loading Data




      Defining Field Properties: Step 7

      For each field, define a
      data load method and a                                        2
      field name.




                                                                                                      3

        1




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Defining Field Properties: Step 7
Data load rules, like rules for dimension building, rely on the organization of fields in the
data source. To enable Analytic Services to process your data source, you must define
each field in the rules file by selecting the data load method and the field name.

Data Load Method
You can select one of two data load methods: the reference method or the default
method.
 • Use the reference method to map fields that contain unqualified duplicate member
   names or their ancestors.
 • Use the default method to map fields that contain unique member names.




8-8                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                               Lesson 8 Loading Data

Field Names
Data sources can contain member name fields, member data fields, and pure data fields.
The following example shows member name and member data fields.




 • Member name fields identify the member names (or qualified member names, for
   dimensions with duplicate member names) of the specified dimensions. In the Data
   Load Properties dialog box, you must identify member name fields with their related
   dimension name. In the preceding example, the first four fields are member name
   fields and are identified by the relevant dimension names.
 • Member data fields contain numeric data values that are loaded into the intersections
   of the members of the database. In the Data Load Properties dialog box, you must
   identify each member data field with a single member from a dimension. Analytic
   Services determines the member intersection for a data value in a member data field
   as a combination of the member names in the record to the left of the data value and
   the member name in the data value’s field definition. In the preceding example, Jan
   and Feb are member data fields and are identified by specific members of the Year
   Tot dimension. The data value 174 corresponds to the intersection of Prior Year,
   [OEM].[Apple], Lightbolt 365 A, List Price, and Jan.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     8-9
                                                            Module 2 Building Load Rules
Lesson 8 Loading Data

 • Pure data fields also contain numeric data values, but the member intersection for
   the data value is completely defined by the member name fields to the left of the data
   value. In the following example, 200 is the data value that corresponds to the
   intersection of Budget, [OEM].[Apple], Lightbolt 365 A, Jan, and List Price.




           TIP
           A data source can contain member data fields or pure data fields, but not
   A
           both.


To define field proper ties for unique member name or data fields:
 1. Open the Field Properties dialog box.
 2. Select the Data Load Properties tab.
 3. For Data load method, select Default.
 4. Depending on the field type, do one of the following:
   • For a member name field, double-click the related dimension name.
   • For a member data field, expand the dimension and double-click the related
     member name.
   • For a pure data field, select Data field.




8-10                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                                           Lesson 8 Loading Data




    Referencing Missing Dimensions: Step 8

    If necessary, define a data load                             1
    header for missing dimensions.




                                                                                                  2




                                                       3




         Missing Scenario Dimension



                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Referencing Missing Dimensions: Step 8
To load data, Analytic Services requires a reference to every dimension in your
database. Data sources may not contain all dimensions necessary to load data values. If
dimension information is missing from your data source, you can define hidden data load
headers in the load rule to supply the missing information.
Analytic Services determines the intersection for the data value as a combination of the
member name fields in the record to the left of the member data field, the member
names in the field definition, and the member names in the data load header. In the
example on the slide, the data value 174 corresponds to the intersection of [OEM].[IBM],
Lightbolt 365 A, List Price, Jan, and Prior Year.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                            8-11
                                                           Module 2 Building Load Rules
Lesson 8 Loading Data

To define a data load header:
 1. Select Options > Data load settings.
         The Data Load Settings dialog box is displayed.
 2. Select the Header Definition tab.
 3. For Header Name, enter the member name for the data load header, or, under the
    Dimensions node, expand the dimensions and double-click a member name.
           TIP
           You can enter names from multiple missing dimensions. Separate multiple
           names with commas.




8-12                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                                           Lesson 8 Loading Data




    Setting Data Load Values Options: Step 9

    Select data load values options:
      Overwrite, add to, or subtract
      from existing data values
      Change sign on load




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Setting Data Load Values Options: Step 9
Data load rules provide more ways to process data than free-form loads provide. You can
choose how you want a data load to interact with values stored in you database and set
conditions to change the sign on data as it is loaded.

Interacting with Existing Data
By default, Analytic Services overwrites existing values in a database with new values
from the data source. Certain types of data sources may require different processing. For
example:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                            8-13
                                                         Module 2 Building Load Rules
Lesson 8 Loading Data

 • Data sources that contain records that duplicate the intersections of other records. In
   the following example, the data source contains multiple daily records for one
   customer, product, scenario, and account intersection. Because the Period field must
   map to a month, rather than a day, in the Bigcorp Sales database, you must
   aggregate all common records to provide a monthly total for each intersection.




 • Data sources that contain a piece of an iterative, cumulative data load. For example,
   if you receive a file containing weekly values, you can accumulate each weekly value
   to the prior week’s value to create cumulative monthly values in the database.
Load rules provide the option to overwrite, add to existing values, or subtract from
existing values on load. You can change the load values options on the Data Load
Values tab of the Data Load Settings dialog box.
       NOTE
       Using the add or subtract options makes it more difficult to recover from a data
       load interruption, although Analytic Services lists the number of the last row
       committed to the database in the application event log.




8-14                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                 Lesson 8 Loading Data

Changing Sign on Load
If, during the design phase of your implementation, you chose not to keep natural
account balances (such as negative balances for revenues or assets), you may need to
reverse the sign on the data that you load into your database. Sign reversal is a two-step
process:
 1. Assign a UDA to all members (usually accounts) whose data you want to reverse on
    load.
 2. When creating a rule for loading data, open the Data Load Settings dialog box to the
    Data Load Values tab and select the Sign flip option. You must also specify the UDA
    name and the dimension in which the UDA is assigned.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     8-15
                                                                                   Module 2 Building Load Rules
Lesson 8 Loading Data




       Validating the Load Rule: Step 10

       Common validation error:
       “There is an unknown member or
         no member in the field name.”




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Validating the Load Rule: Step 10
You must validate your rules file to ensure that members and dimensions in the rules file
map to the associated outline. While a correct validation does not ensure that the data
source loads properly, an invalid load rule typically results in an incorrect load.
The most common data load rule validation error is “There is an unknown member or no
member in the field name.” This error indicates that no header is defined for the field or
the field needs to be ignored..
        NOTE
        During load rule validation, Analytic Services does not check to see whether all
        dimensions are represented in the data source or the load headers. Therefore,
        when you validate your rule, do your own dimension check.




8-16                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                                            Lesson 8 Loading Data




    Completing the Load Rule: Steps 11 and 12

    Step 11: Save the rule:                          Step 12: Execute the rule:
       Save to Analytic Server                           Manually in Administration Console
       Save to file system                               Automatically with MaxL




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Completing the Load Rule: Steps 11 and 12
The data load rule creation procedure ends with saving the rule, either to an instance of
Analytic Server or to a file system location, and finally executing the load rule against a
data source by using one of two methods.

Step 11: Save the Rule
You can reuse one rules file with multiple data sources and Analytic Services databases.
By selecting the appropriate tab in the Save dialog box, you can choose to save your rule
to a location on an instance of Analytic Server (in a database or application directory) or
to a location in your file system. Analytic Services saves rules files with a .rul extension.

Step 12: Load Data
After your data load rule is complete, you can use it to load data into your database. You
can use either of two methods to load data with load rules:
 • Manually by executing a data load in Administration Services Console
 • Automatically with a MaxL script


Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                             8-17
                                                           Module 2 Building Load Rules
Lesson 8 Loading Data

The first method provides an option to save the list of data sources and associated rules
files as an XML file, so you can reuse the list in the future. If you save the XML file to a
shared network location, other users can open the list that you saved.

To load data in Administration Ser vices Console:
 1. In Administration Services Console, right-click the desired database node.
 2. Select Load data.
 3. Select a data source type.
 4. Select one of the following load modes:
   • Load only processes only data load rules from the rules file.
   • Build only processes only dimension build rules from the rules file.
   • Both processes both dimension build and data load rules from the rules file, in that
     order.
 5. Click Find Data File to select a data source.
 6. Click Find Rules File to select a rules file.
 7. Optional: If you want Analytic Services to stop processing the load if it encounters
    errors, select Abort on Error.
 8. Specify an error file location.
 9. Optional: If you want Analytic Services to overwrite previous errors with new errors,
    select Overwrite.
10. If you selected a SQL data source type, enter the SQL username and SQL
    password.
11. Optional: If you want to load additional data sources, repeat steps 3 through 10.
12. Optional: If you want to save the current list of data sources and associated rules
    files and options, complete the following steps:
   a. Click Save.
         The Save dialog box is displayed.
   b. Select a save location.
   c. Enter a file name for your list.
   d. Click OK.
13. Click OK to load the current list of data sources.



8-18                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                                             Lesson 8 Loading Data




    Loading Data to Duplicate Members

       Provide qualified member names:
         Scenario        Customer                 Product                    Account           Jan
       Current Year   [OEM].[Apple]           Lightbolt 365 A               Units            200
       Current Year   [Retail].[Apple]        Lightbolt 365 A               Units            105
       …              …                       …                             …                …

       Provide ancestor references for duplicate names:

     Scenario      GEN3,”Customer”          GEN4,”Customer”     Product                               Account   Jan
    Current Year   OEM                      Apple           Lightbolt 365 A                          Units      200
    Current Year   Retail                   Apple           Lightbolt 365 A                          Units      105
    …              …                        …               …                                        …          …


                            Reference Method


                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Loading Data to Duplicate Members
To load data to duplicate member names, you must do one of two things:
 • Use the default data load method to provide qualified member names
 • Use the reference data load method to provide ancestor references for duplicate
   names
Either method essentially gives Analytic Services a unique identifier for the duplicate
member name, which is required to load data.

Reference Data Load Method
You can use level or generation references to qualify duplicate member names. You
must provide the generation or level number of the members in the field.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                      8-19
                                                          Module 2 Building Load Rules
Lesson 8 Loading Data

In a data load rule, you should allow multiple member name fields for members of a
dimension only when you use the reference data load method.
You should use the reference data load method only for fields that contain duplicate
member names or their ancestors.


To define field proper ties for duplicate member name fields:
 1. Open the Field Properties dialog box.
 2. Select the Data Load Properties tab.
 3. For Data load method, select Reference.
 4. Complete the following tasks:
   a. Double-click to select the desired reference type (generation or level).
   b. Enter a reference number.
   c. Enter a reference dimension, or, under the Dimension node, double-click a
      dimension name.




8-20                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                                                Lesson 8 Loading Data




    Selecting and Rejecting Records

    Load a subset of data from a data source.

                  Scenario        CustID                    Item Number                    Period   Units
              Current Year   [OEM].[Apple]              Lightbolt 365 A                Jan          158
              Current Year   [OEM].[Apple]              Lightbolt 540 S                Jan          238
              Current Year   [OEM].[Apple]              Thunderball 540 S              Jan          128
              Prior Year     [OEM].[Apple]              Lightbolt 365 A                Jan          128
              Prior Year     [OEM].[Apple]              Lightbolt 540 S                Jan          131
              Prior Year     [OEM].[Apple]              Thunderball 540 S              Jan          132
              Prior Year     [OEM].[Apple]              Roadranger 170 A               Jan          208
              Budget         [OEM].[Apple]              Lighbolt 365 A                 Jan          208
              Budget         [OEM].[Apple]              Lightbolt 540 S                Jan          228
              Budget         [OEM].[Apple]              Thunderball 540 S              Jan          218
              Budget         [OEM].[Apple]              Roadranger 170 A               Jan          128
              …              …                          …                              …            …




                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Selecting and Rejecting Records
By default, Analytic Services accepts all records in a data source. You can perform
operations at a record level, however, to select or reject records by using specific string
or numeric criteria.

Selecting Records
You can specify which records Analytic Services loads into the database by setting
selection criteria. Selection criteria are string and number conditions that must be met by
one or more fields within a record before Analytic Services loads the record. If a field or
fields in the record do not meet the selection criteria, Analytic Services does not load the
record. For example, to load only Current Year from the data source on the slide, create
a selection criterion to load only records in which the first field is Current Year.
You can create selection criteria by selecting Record > Select.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                 8-21
                                                             Module 2 Building Load Rules
Lesson 8 Loading Data

Rejecting Records
You can specify which records Analytic Services ignores by setting rejection criteria.
Rejection criteria are string and number conditions that, when met by one or more fields
within a record, cause Analytic Services to reject the record. If a field or fields in the
record meets the rejection criteria, Analytic Services loads the record. For example, to
reject Budget data from the data source on the slide and load only Current Year and Prior
Year, create a rejection criterion to reject records in which the first field is Budget.

Combining Multiple Select and Reject Criteria
When you define select and reject criteria on multiple fields, you can specify in the Data
Load Values dialog box how Analytic Services combines the rules across fields, that is,
whether the criteria are connected logically with AND or with OR. If you select AND as
your Boolean operator, the fields must match all criteria. If you select OR as your
Boolean operator, the fields must match only one of the criteria. AND is the default global
Boolean setting. For example, to reject only Budget data for the product Roadranger 170
A, select AND as your Boolean operator, and create the following rejection criteria:
 • Field 1: Reject Budget.
 • Field 3: Reject Roadranger 170 A.
       NOTE
       If both selection and rejection criteria apply to a record (that is, you try to select
       and reject the same record), Analytic Services rejects the record.




8-22                                  Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                                                            Lesson 8 Loading Data




    Capturing New Members

       Scenario                 Customer                               Product                Account     Jan
     Current Year    [Distributor].[JC’s Hardware]                 Lightbolt 365 A           Units      200
     Current Year    [Retail].[Apple]                              Lightbolt 365 A           Units      105
     …               …                                             …                         …          …

      Without dimension build rules:



      With dimension build rules:




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Capturing New Members
After you deploy your database, you can expect dimensions to change. When you add
products, customers, or accounts to your transaction systems, you may also need to add
them to your Analytic Services outline. If the dimension build and data load processes are
out of sync, you seei errors during your data loads as Analytic Services tries to load
values to members that do not exist.
For managing the flow of data, you have many options, including the following:
 • Allow data loads to generate error records, which identify new members. Add the
   identified members manually or with a dimension build, and then reload the records in
   the error file. This option is best for slowly-changing dimensions and for environments
   in which corporate processes or ownership issues do not allow other options.
 • Incorporate dimension build rules and data load rules into one rules file. This option is
   good for frequently updated dimensions.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                8-23
                                                                 Module 2 Building Load Rules
Lesson 8 Loading Data

Combining Dimension Builds and Data Loads
If a data source contains new members and their ancestors, you can use one of the three
main build methods (generation, level, or parent-child).
However, if a data source contains new members and does not specify the ancestors of
the new members, Analytic Services must decide where in the outline to add the
members. Rules files provide the following three special build methods for this type of
data source.

 Method                           Description
 Add as sibling of member         Compares the new member to existing members in the
 with matching string             outline by using string matching; for example, a new member
                                  called Lightbolt 810 S is matched to other Lightbolt products.
 Add as sibling of lowest level   Assigns the new member to the lowest level in a hierarchy;
                                  particularly useful if you are loading to a flat dimension list.
 Add as child of (selected        Assigns the new member as a child of a member in the
 member)                          outline; for example, capturing new customers as children of
                                  a member called “Unrecognized Customer.”


When you combine any of the three methods with data load rules, there are some
considerations that don’t apply to regular dimension builds:
 • If your data source contains a mix of new members and existing members, you do
   not want the build to apply to existing members. In Dimension Build Settings, select
   “Ignore conflicts” to avoid error messages for existing members.
 • The methods have different requirements for dimension build properties; on the
   Dimension Build Properties tab of the Field Properties dialog box, select only a
   dimension. Do not select a field type or a field number
 • You define dimension build properties only for fields with new member names. For all
   other fields, select “Ignore during dimension build.”
 • When you execute your data load, you must select Both for the load mode—this
   selection instructs Analytic Services to process the dimension build rules and add the
   new members before processing the data load rules in the rules file.




8-24                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 2 Building Load Rules
                                                          Lesson 8 Loading Data




            Summary
            In this lesson, you should have learned to:
           • Describe the data load process
           • Create a data load rule
           • Load data to duplicate member names
           • Select and reject data records
           • Capture new members during data load




Hyperion System 9 BI+ Essbase Analytics Bootcamp                           8-25
                                           Module 2 Building Load Rules
Lesson 8 Loading Data




8-26                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
M O D U L E    3

Spreadsheet Reporting                                                     8




Overview
In this module, you learn how to use Essbase Spreadsheet Add-in to
connect to Essbase, retrieve and analyze data, and format results. You
learn to troubleshoot common reporting problems, and to use Essbase
Query Designer to create more sophisticated queries and report scripts.
Lessons in this module include:
 • Creating Basic Spreadsheet Add-in Reports
 • Creating Advanced Spreadsheet Add-in Reports
 • Reporting with Smart View for Office
L E S S O N    9

Creating Basic Spreadsheet Add-in
Reports                                                9




Objectives
After completing this lesson, 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
                                                                               Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




      Essbase Spreadsheet Add-in Overview

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




                                                                                              Analytic Services
         Microsoft Excel with                    Analytic Server                                 Database
        Essbase Spreadsheet
               Add-in



                                © 2005 Hyperion Solutions Corporation. All Rights 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 Analytic 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 Analytic Services 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
Analytic Services databases by using mouse clicks and drag operations.




9-2                                        Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                      Lesson 9 Creating Basic Spreadsheet Add-in Reports




    Adding Essbase Spreadsheet Add-in

                      1


                                                                                             3
                                                       2




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Adding Essbase Spreadsheet Add-in
If you manually update your environment settings or if you remove Essbase Spreadsheet
Add-in from the Excel environment, you must use the spreadsheet’s add-in tool to add
Essbase Spreadsheet Add-in to Excel.


To add Essbase Spreadsheet Add-in to Excel:
 1. In Excel, select Tools > Add-Ins.
           NOTE
           You must have a workbook open to access the Add-Ins menu.


 2. Select Hyperion Essbase OLAP Server DLL (non-Unicode), or, if this option is not available,
    do the following:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                 9-3
                                                         Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports

      a. Click Browse.
      b. From the \AnalyticServices\bin directory, select the essexcln.xll file.
             NOTE
             Depending on how software is installed on your PC, the file may not be
             available or may be located in a different directory. Contact the Analytic
             Services system administrator for location information.


      c. Click OK.
 3. Click OK.
           The Essbase Spreadsheet Add-in startup screen is displayed. In
           future Excel sessions, the Essbase Spreadsheet Add-in startup
           screen is automatically displayed after the Excel startup screen.




9-4                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                     Lesson 9 Creating Basic Spreadsheet Add-in Reports




    Essbase Menu and Toolbar

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




                         Essbase Toolbar




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Essbase Menu and Toolbar
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 Analytic Server to retrieve and
navigate data.
Essbase Spreadsheet Add-in features a convenient toolbar that displays buttons for
accessing most of the common Essbase menu commands without opening the Essbase
menu. You can view a short description of a button on the toolbar by moving your cursor
over the button.
Prior to using the Essbase toolbar for Excel, you must install the toolbar by opening an
Excel file that is provided as part of the default Analytic Services 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                           9-5
                                                          Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports

To install the Essbase toolbar:
 1. In Excel, select File > Open.
 2. From the \AnalyticServices\client\sample directory, open the esstoolb.xls
    file.
         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 the esstoolb.xls file.
         You do not need to modify or save the file.




9-6                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                      Lesson 9 Creating Basic Spreadsheet Add-in Reports




    Managing Database Connections

          Connecting to the Database                                Disconnecting from the Database



      1
                                                             1



      2                                  5
                                                             2                                        3

      3                                                                                               4




      4



                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Managing Database Connections
Before you retrieve data, you must connect to a database on an instance of Analytic
Server. When you finish working with the database, you disconnect from the database
and Analytic 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 each on
   multiple worksheets.
 • 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.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                          9-7
                                                      Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports

 • 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 the Analytic Server instance that you want to
    access.
 3. Enter your username and password, and then click OK.
         Application and database names are displayed for the selected
         server.
 4. Select the desired application-database pair.
 5. Click OK.


To disconnect from a database:
 1. Select Essbase > Disconnect.
         The Essbase Disconnect dialog box is displayed.
 2. Select the desired worksheet connection.
 3. Click Disconnect to disconnect the selected worksheet.
 4. Click Close.




9-8                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                    Lesson 9 Creating Basic Spreadsheet Add-in Reports




    Retrieving Data

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


                            1

                                                                            2

                            3
            Excel                        Analytic Server                                   Analytic Services
                                                                                              Database


                4

                           Top-Level Data


                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Retrieving Data
Each time you retrieve information from an instance of Analytic Server, 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 Analytic Services and organizes
    it in a worksheet.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                               9-9
                                                        Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports

When you retrieve data into an empty worksheet, the server returns data from the top
levels of each database dimension. You can use the top-level data as a starting point to
navigate, or drill down, into levels of detailed data. For example, if you retrieve top-level
data from the Bigcorp Sales database, the following five dimensions are displayed: Year
Tot, Accounts, Scenario, Product, and Customer.
       TIP
       You can retrieve data by double-clicking an empty spreadsheet cell, selecting
       Essbase > Retrieve, or clicking the Retrieve button 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.




9-10                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                      Lesson 9 Creating Basic Spreadsheet Add-in Reports



    Representing Multidimensional Data in Two-
    Dimensional Reports

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


                                                              Header Labels


                                                                                             Column
                                                                                             Labels




                  Row Labels                     Data Cells




                               © 2005 Hyperion Solutions Corporation. All Rights 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                      9-11
                                                      Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports

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




9-12                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                    Lesson 9 Creating Basic Spreadsheet Add-in Reports




    Label Scanning

      General rules
      Header rules                                                         Column
                                                                           Labels
      Row and column rules
                                                                           Header
                                                                           Labels
                                                                           Row
                                                                           Labels
                           Header
                           Labels


                                                                                           Column
                                                                                           Labels




                                                                                           Row
                                                                                           Labels
                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Label Scanning
When you submit a data retrieval request, Analytic Services 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, Analytic Services 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, Analytic Services 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
   Analytic Services to resolve a data point.

Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                    9-13
                                                     Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports

 • You must precede all member names that consist of numbers with a single quote. For
   example, if the account number for sales is 14000, enter ‘14000 in the spreadsheet cell.

Header Rules
The following rules apply to the scanning process for the header section:
 • Only one member from a dimension can be displayed.
 • Header members define all data on the page for their dimensions.
 • If a dimension 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,
   Analytic Services 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.




9-14                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                    Lesson 9 Creating Basic Spreadsheet Add-in Reports




    Viewing Members with Duplicate Names


                                                                      Comments Defining Qualified
             Qualified Member Names
                                                                          Member Names




                                                                                           <esskey>[Retail].[Apple]</esskey>
                                                                                           <esskey>[Retail].[Apple]</esskey>




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Viewing Members with Duplicate Names
If your database contains duplicate member names, you can view the qualified name of a
member either directly on the worksheet or by using the Comment functionality of Excel.
The qualified name includes the name of the member and the names of its ancestors up
to the level that fully defines the member.
You can choose to display qualified member names in one or both of the following ways:
 • Show qualified member names on the sheet. If you choose this option, the qualified
   member names for duplicate members are displayed directly on the spreadsheet, as
   in the first example on the slide.
 • Show qualified member names as comments. If you choose this option, cells that
   contain duplicate member names contain a comment indicator. You can hover over
   the indicator and view the qualified member name, as in the second example on the
   slide.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                               9-15
                                                                            Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Manipulating Multidimensional Data

        Multidimensional operations
        — Navigation
        — Pivot
        Editing commands
        — Retain
        — Remove
        — Flashback




                             © 2005 Hyperion Solutions Corporation. All Rights 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.




9-16                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                 Lesson 9 Creating Basic Spreadsheet Add-in Reports

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

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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        9-17
                                                                             Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Navigating Data

        Select Essbase > Zoom In to drill down.




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




        Select Essbase > Zoom Out to drill up.
        Select Essbase > Navigate Without Data to turn automatic data
        retrieval on or off.
                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Navigating Data
You can navigate the 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.




9-18                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                  Lesson 9 Creating Basic Spreadsheet Add-in Reports

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

Navigating Without Data
You use the Navigate Without Data option to perform navigational operations without
retrieving data. This feature is especially useful when dealing with dynamically calculated
members, which Analytic Services 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     • Select Essbase > Zoom In.
 selected member
                               • Double-click the selected member (if mouse button
                                 actions are enabled).

                               • Click     .
 Zoom out (drill up) from a    • Select Essbase > Zoom Out.
 selected member
                               • Double right-click the selected member (if mouse
                                 button actions are enabled).

                               • Click     .
 Zoom in (drill down) on a     Zoom in (drill down) on a header dimension.
 header dimension—
 reposition on rows
 Zoom in (drill down) on a     Press and hold Alt and double-click a header dimension.
 header dimension—
 reposition on columns
 Navigate without data         • Select Essbase > Navigate Without Data.

                               • Click     .




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         9-19
                                                                           Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Retaining and Removing Data Subsets

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




                Keep Only                                                                 Remove Only




                            © 2005 Hyperion Solutions Corporation. All Rights 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.




9-20                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                  Lesson 9 Creating Basic Spreadsheet Add-in Reports

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.

               • Click     .




Hyperion System 9 BI+ Essbase Analytics Bootcamp                               9-21
                                                                            Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Pivoting Data

              Row Group                                    Column Group




                             © 2005 Hyperion Solutions Corporation. All Rights 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.




9-22                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                   Lesson 9 Creating Basic Spreadsheet Add-in Reports




    Managing Worksheet Options

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




                            Options specific to the user environment

                            Style and color formatting options

                            Advanced options

                            Zoom in options

                            Options specific to individual worksheets




                            © 2005 Hyperion Solutions Corporation. All Rights 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                          9-23
                                                                            Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Global Options

       Global options control options specific to the user environment.
        Mouse Actions

        Primary button       Secondary button
        • Retrieve           • Drill up
        • Drill down         • Pivot




        Memory: Enable Flashback
        Mode: Navigate without Data




                             © 2005 Hyperion Solutions Corporation. All Rights 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.




9-24                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                  Lesson 9 Creating Basic Spreadsheet Add-in Reports

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 Analytic Services application and database.
      NOTE
      Use the Limit to Connected Sheets option If you are using Essbase Spreadsheet
      Add-in and Smart View for Office 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 Analytic Services 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         9-25
                                                                                  Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Zoom Options




              Next Level




                                                     Bottom Level


                                                                                                 All Levels
                                   © 2005 Hyperion Solutions Corporation. All Rights 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.




9-26                                          Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                     Lesson 9 Creating Basic Spreadsheet Add-in Reports


 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   Cross the dimension hierarchy horizontally from the selected member
 Level, and Same       rather than drill down vertically from the selected member.
 Generation
 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                            9-27
                                                                             Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Style Options

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




                              © 2005 Hyperion Solutions Corporation. All Rights 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.




9-28                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                  Lesson 9 Creating Basic Spreadsheet Add-in Reports

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.
                         In the example on the slide, parent members of every dimension are
                         displayed with a bold blue font.
 Dimension styles        Set font characteristics and backgrounds for each dimension in your
                         database. When both dimension and member styles apply, the
                         member style takes precedence.
                         In the example on the slide, Jan, Feb, and Mar are displayed with
                         the white font defined for the Year Tot dimension, but Qtr 1 is
                         displayed with the bold blue font defined for parents.
 Data cell styles        Set font characteristics on data cells themselves (not member
                         labels) for distinguishing linked reporting objects, integration server
                         drill-through links, read-only data, and read-write data.



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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               9-29
                                                                            Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




       Display Options




                             © 2005 Hyperion Solutions Corporation. All Rights 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.




9-30                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                  Lesson 9 Creating Basic Spreadsheet Add-in Reports

Suppress
You use the Suppress options to suppress rows that contain missing data or zero values
or to suppress underscore (_) characters in member names. Suppress #MISSING and
suppress zero functionality is defined by row. Entire rows with #MISSING or zero values
are deleted upon retrieval if, under Suppress, you select #Missing Rows and Zero Rows.

Aliases
You can display aliases rather than member names. There are two alias options, which
you can use separately or together:
 • Use Aliases: Use aliases according to the selected alias table. Members with no
   aliases default to the member name.
 • Use Both Member Names and Aliases: Use both member names and aliases for
   row dimension labels. The result may be distracting in rows with multiple grouped
   dimensions. If a member has no alias, the member name is presented twice. This
   feature is not functional for columns.

Duplicate Members
You can display qualified names of duplicate member names. There are two duplicate
member name options, which you can use separately or together:
 • Show Qualified Member Names on Sheet: Analytic Services displays duplicate
   members with their qualified member names.
 • Show Qualified Member Names as Comment: For duplicate members, Analytic
   Services 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: Analytic Services 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        9-31
                                                    Module 3 Spreadsheet Reporting
Lesson 9 Creating Basic Spreadsheet Add-in Reports




            Summary
            In this lesson, you should have learned to:
           • Describe Essbase Spreadsheet Add-in
           • Install Essbase Spreadsheet Add-in
           • Retrieve data into a Microsoft Excel worksheet
           • Manage worksheet options




9-32                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    1 0

Creating Advanced Spreadsheet Add-in
Reports                                                               10




Objectives
After completing this lesson, you should be able to:
 • 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
                                                                            Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




       Preserving Excel Formulas




                             © 2005 Hyperion Solutions Corporation. All Rights 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 Analytic Services
to preserve the formulas.
Collectively, the Formula Preservation options enable you to retain formulas during data
retrievals, keep and remove only operations, and drill operations. In addition, Analytic
Services can replicate formulas for additional members retrieved into the worksheet as
part of a drilling operation.




10-2                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                             Lesson 10 Creating Advanced Spreadsheet Add-in Reports

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

 Option                Description
 Retain on Retrieval   This option preserves formulas on a simple retrieve operation, but
                       Analytic Services deletes formulas without warning for any other retrieve
                       operation, such as during a zoom operation.
 Retain on Keep        This option instructs Analytic Services to preserve formulas when Keep
 and Remove Only       Only or Remove Only is used.
 Retain on Zooms       This option instructs Analytic Services 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               10-3
                                                                            Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




       Replicating Reports with Cascade

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




            Retail                                                                                TOC




                     Apple   Dell               Gateway                  Great             HP   Radio
                                                                         Buys                    Hut
                             © 2005 Hyperion Solutions Corporation. All Rights 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.




10-4                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                           Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Creating Cascade Reports

          1




                                                                                              3




           2




                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Cascade Reports
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 repor t:
 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                  10-5
                                                          Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports

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

       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.




10-6                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                            Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Creating Cascade Reports (continued)




                                                                                            5

                      4




                                                                                     6

                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Cascade Reports (continued)
 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                10-7
                                                                            Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




       Selecting Members from the Outline

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




                                                                                           Saved selection
                                                                                           myselect.sel



                             © 2005 Hyperion Solutions Corporation. All Rights 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 operators, 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.




10-8                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                            Lesson 10 Creating Advanced Spreadsheet Add-in Reports

To define selection rules:
 1. From the Dimension drop-down list, select a dimension.
         The selected dimension and its members are displayed under
         Members.
 2. Under View Method, select one of the following options for copying members to the
    spreadsheet:
   • By Member Name: Enables you to select members and their descendants from
     the dimension hierarchy.
   • By Generation Name: Enables you to select all members of a particular
     generation in the dimension.
   • By Level Name: Enables you to select all members of a particular level in the
     dimension.
   • By Dynamic Time Series: Enables you to select Dynamic Time Series members
     (only for the dimension tagged as Time).
 3. Under Members, select members, and then 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       Inserts members down a column. If you clear the check box,
    Sheet                Essbase Spreadsheet Add-in inserts members across a row.
    Suppress Shared      Suppresses shared members from the results. This option is
    Members              available only when the view method is set to generation or level
                         names.
    Insert List Before   Inserts members before an active cell. If you clear the checkbox,
    Active Cell          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 Analytic
    Server or in your local file system.
 7. Click OK.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             10-9
                                                                               Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Defining Selection Rules

        Year Tot
                                                                  1
                                                                          2
          Qtr 1

              Jan
                                      All Children
                                      and Member
              Feb      All Children
                                                                                                  3
              Mar

          Qtr 2

              Apr
                                                                                              4




                                © 2005 Hyperion Solutions Corporation. All Rights 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.



10-10                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                           Lesson 10 Creating Advanced Spreadsheet Add-in Reports


     Selection Option           Description
     All Descendants and        Selects all descendants of the selected member and the
     Member                     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.
 4. Preview the members that are displayed in the spreadsheet, and then click Close.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    10-11
                                                                              Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




     Applying Additional Rules



                                  1




                                                                            2                    3




                              4
                                                                                             5




                               © 2005 Hyperion Solutions Corporation. All Rights 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.




10-12                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                             Lesson 10 Creating Advanced Spreadsheet Add-in Reports

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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       10-13
                                                                             Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Creating Savable Queries

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




                   Saved Query                                                   Saved Report Script
                  MyQuery.eqd                                                       MyQuery.rep



                              © 2005 Hyperion Solutions Corporation. All Rights 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 Analytic
Server, a report script file (REP). You can store the files on an instance of Analytic 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.




10-14                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                            Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Query Designer Interface


                                                                                           Hint
                                                                                           Frame
    Navigation
    Frame




                                                                                           Properties
                                                                                           Frame




                             © 2005 Hyperion Solutions Corporation. All Rights 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.

Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   10-15
                                                                             Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Creating Basic Queries


                             1


                                                                                        2

                  3




                                                                                                     5

                                                                                                     4




                              © 2005 Hyperion Solutions Corporation. All Rights 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.




10-16                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                            Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Creating Advanced Queries

       Ranking data (top or bottom)
       Filtering data
       Sorting data




                              © 2005 Hyperion Solutions Corporation. All Rights 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)




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                            10-17
                                                                             Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Filtering Data

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




                              © 2005 Hyperion Solutions Corporation. All Rights 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.




10-18                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                            Lesson 10 Creating Advanced Spreadsheet Add-in Reports

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




You want to filter the query so it returns only the top 10 customers who 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:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    10-19
                                                                            Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Sorting Data




                             © 2005 Hyperion Solutions Corporation. All Rights 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




10-20                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                           Lesson 10 Creating Advanced Spreadsheet Add-in Reports




    Retrieving with Report Scripts

    Create dynamic report templates.




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Retrieving with Report Scripts
Analytic Services 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           10-21
                                                            Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports

 • Free-Form: This retrieval mode enables you to enter member names anywhere on
   your spreadsheet and allow Analytic Services 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, Analytic Services can retrieve a list of
members based on hierarchy relationships, instead of reading hard-coded labels. In the
example on the slide, the report script command <ICHILDREN Retail returns Retail and
a list of the current children of Retail. The following table describes the most common
report script commands that you can use for retrievals:

 Command             Description
 <CHILDREN           All children of the specified member
 <ICHILDREN          The specified member and all of its children
 <DESCENDANTS        All descendants of the specified member
 <IDESCENDANTS       The specified member and all of its descendants
 <SIBLINGS           All siblings of the specified member
 <ISIBLINGS          The specified member and all of its siblings


Report script commands are most useful for defining reports on dimensions that change
frequently; they ensure that the most updated list of members is retrieved from the
server. For information on the syntax of report script commands and on guidelines for
developing reports, see the Technical Reference and the Database Administrator’s
Guide.

Preserving Dimension Positions
Template Retrieve is a free-form retrieval mode option that ensures that Analytic
Services does not spontaneously reposition dimensions during retrievals. Additionally,
when Template Retrieve is enabled, the Zoom, Keep Only, Remove Only, and Pivot
options are unavailable. This restriction ensures that end users cannot substantially
change the report layout.




10-22                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                          Lesson 10 Creating Advanced Spreadsheet Add-in Reports




            Summary
            In this lesson, you should have learned to:
           • 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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                10-23
                                               Module 3 Spreadsheet Reporting
Lesson 10 Creating Advanced Spreadsheet Add-in Reports




10-24                          Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    1 1

Reporting with Smart View for Office                   11




Objectives
After completing this lesson, you should be able to:
 • Describe Smart View for Office
 • Configure data sources
 • Customize the Smart View toolbar
 • Manage the point of view
 • Create ad hoc reports
                                                    Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




Smart View Overview
Smart View provides a common Microsoft Office interface for Hyperion System 9
Applications and Business Intelligence tools. Smart View is an interface not only for
Analytic Services but also for Hyperion Financial Management, Hyperion Planning,
Financial Reporting, Interactive Reporting, Production Reporting, and Web Analysis. The
interface enables you to leverage multiple products simultaneously.
This lesson concentrates on using Smart View to access Analytic Services. For
information about other data sources, see the Hyperion System 9 Smart View for Office
User’s Guide.
When Essbase Spreadsheet Add-in and Smart View are installed on the same computer,
you see a menu named Hyperion and a menu named Essbase in the Excel menu bar. By
default, your mouse actions are interpreted as commands to Essbase Spreadsheet Add-
in; for example, double-clicking in a blank spreadsheet opens the Essbase System Login
dialog box for Essbase Spreadsheet Add-in.



11-2                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                     Lesson 11 Reporting with Smart View for Office

By enabling the Essbase Spreadsheet Add-in global option Limit to connected sheets,
you instruct Essbase Spreadsheet Add-in to respond to mouse commands only if you
established a connection through Essbase Spreadsheet Add-in. Otherwise, Smart View
responds to your mouse commands.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                               11-3
                                                                           Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




       Common Features

        Ad hoc retrieve operations
        — Zoom in, zoom out                                                               Essbase
        — Pivot                                                                           Spreadsheet
        — Keep only, remove only                                                          Add-in

        Send data option
        Data calculation
        Display options
        — Indentation                                                                     Smart View
        — Duplicate member names                                                          for Office
        — Aliases
        — Suppress #Missing or zero rows
        Navigate without data option



                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Common Features
Smart View and Essbase Spreadsheet Add-in have many features in common, giving
Smart View a familiar feel for experienced users.

Ad Hoc Retrieve Operations
Ad hoc retrieve operations in Smart View work as they do in Essbase Spreadsheet Add-
in, providing the capability to zoom in, zoom out, pivot, keep only, and remove only.

Submit Data Option
Smart View provides a Submit Data option that writes spreadsheet data back to your
database, similar to the Lock and Send commands in Essbase Spreadsheet Add-in.




11-4                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                      Lesson 11 Reporting with Smart View for Office

Data Calculation
In Smart View, as in Essbase Spreadsheet Add-in, you can execute database
calculations from the menu.

Display Options
Smart View and Essbase Spreadsheet Add-in provide many of the same display options,
including hierarchy indentation, display of duplicate member names and aliases, and
suppression of #MISSING or zero rows.

Navigate Without Data Option
This option, which enables you to navigate through your database hierarchies without
retrieving data, is also available in Smart View.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                  11-5
                                                                             Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




       Unique Features

        Point of view (POV)
        Smart View toolbar
        Functions
        System 9 BI+ integration
        Updated styles
        — Precedence
        — Impacted cells
        Data adjustment
        Scaling
        Customizable undo buffer




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Unique Features
Smart View provides a more intuitive interface than Essbase Spreadsheet Add-in and
provides additional functionality.

Point of View
In Smart View, header dimensions are displayed in a customizable point of view (POV)
toolbar. Using POV Manager, you can save your active POV with your worksheet, so
other users see the POV when they open the worksheet. You can also copy a saved
POV from one worksheet to another.

Smart View Toolbar
Smart View provides a convenient toolbar that displays buttons for accessing most of the
Smart View commands without having to open the Hyperion menu.




11-6                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                        Lesson 11 Reporting with Smart View for Office

Functions
You can use Smart View functions in Excel cells to retrieve data from an Analytic
Services database into an Excel worksheet or to send data from a worksheet back into
an Analytic Services database:
 • HsGetValue: retrieves data from a data source for the dimension members that you
   specify.
 • HsSetValue: sends a data value from a worksheet to a data source for the
   dimension members that you specify.

System 9 BI+ Integration
Smart View enables you to import BI+ content from Financial Reporting, Interactive
Reporting, Production Reporting, and Web Analysis into Microsoft Office. Smart View
supports smart tags in Excel, Word, PowerPoint, and Outlook 2003 to import System 9
BI+ content from Financial Reporting, Interactive Reporting, Production Reporting, and
Web Analysis.

Updated Styles
As in Essbase Spreadsheet Add-in, you can define styles based on member types and
data types. However, in Smart View, you can also change the precedence of defined
styles. Smart View also automatically indicates when data has changed in cells since the
last retrieve. If you prefer Excel format options, the Use Excel formatting option enables
you to enforce Excel fomatting rather than styles in highly formatted reports, and the
Capture formatting option enables you to protect Excel formats for selected data cells in
your report.

Data Adjustment
Smart View provides a data adjustment tool to increase or decrease the value in selected
cells by a percentage or a fixed value.

Scaling
Scaling, a Smart View display option, enables you to view data in a scale other than the
default.

Customizable Undo Buffer
Unlike Essbase Spreadsheet Add-in, which allows only one undo operation, Smart View
enables you to customize how much memory to devote to undo operations. Thus, you
can store multiple undo operations.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      11-7
                                                         Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office

Use the following table as a guide to tasks for which you use Essbase Spreadsheet Add-
in or Smart View:

                                    Essbase
 Task                               Spreadsheet Add-in     Smart View
 Create ad hoc queries                      X                   X
 Execute calculation scripts                X                   X
 Send data to Analytic Services             X                   X
 Create saved queries                       X
 Create report scripts                      X
 Create cascade reports                     X
 Support Unicode-mode                                           X
 applications
 View Analytic Services data in                                 X
 Word, PowerPoint, or Outlook
 Adjust data using built-in tools                               X




11-8                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                                      Lesson 11 Reporting with Smart View for Office




    Smart View Architecture

                                    Smart View Client

                    Data Source          Connection                 Data Model                           Client Tier
                                              XML


                                           HTTP(s)


          Analytic Services        Planning Provider                Financial Management
                                                                           Provider
                                                                                                             Web Tier
              Provider
              Java API            Planning Application              Financial Management                    Application
            Infrastructure               Server                        Application Server                      Tier

                                      TCPIP / DCOM



                              Analytic                  RDBMS                                Data Tier
                              Services


                                   © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Smart View Architecture
Smart View incorporates powerful architectural features to handle a wide range of
analytic applications across large multi-user environments. The slide diagram provides a
high-level view of the integrated information flow between the source data and the Smart
View client.
Because Smart View is a unified Add-in for System 9 products, there are providers for
Analytic Services, Financial Management, and Planning. However, the Financial
Management and Planning Smart View providers exist on the application tier, and are
integrated into the Financial Management and Planning installations. The Analytic
Services Smart View provider exists on the Web tier, and thus requires its own
installation separate from that of Analytic Services.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                          11-9
                                                     Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




Integrating with Microsoft Office
Using Smart View, you can import System 9 BI+ content from Financial Reporting,
Interactive Reporting, Production Reporting, and Web Analysis into Excel, Word, or
PowerPoint. BI+ content can consist of reports, dashboards, and charts:
 • From Financial Reporting and Web Analysis, you can import reports.
 • From Interactive Reporting, you can import charts, dashboards, and reports (first
   page only).
 • From Production Reporting, you can import reports. Importing charts is not supported
   in Release 9.0.




11-10                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                       Lesson 11 Reporting with Smart View for Office

You can also use Microsoft Office smart tags as an alternative way of importing BI+
content and accessing Analytic Services functions. Smart tags are predefined properties
that associate available actions with a keyword. For example, if the end user types
smartview in Word, and then moves the mouse over the text smartview, the smart tag
icon is displayed next to smartview.
Smart View provides the following Analytic Services display functions as smart tag
features:
 • HsGetValue: returns a value from a database cell defined by members you select
 • HsDescription: returns the alias of a selected member (If the selected member has
   no alias, this function returns the value NULL.)
      NOTE
      For information on importing BI+ content into Microsoft Office, see the Smart View
      for Office User’s Guide.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     11-11
                                                    Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




Configuring Data Sources
Before you can use the Smart View client to analyze data, you must configure your data
sources. For Analytic Services, this is a two-part procedure:
 • Configure Analytic Services Smart View Provider: Analytic Services Smart View
   Provider is a service that provides connectivity to one or more standalone Analytic
   Server instances or to analytic clusters, which are groups of analytic services
   databases on one or more instances of Analytic Server. The Analytic Services
   administrator must use Administration Services Console to configure the provider
   before users can establish connections from Smart View clients.
 • Create Analytic Services database connections: In the Smart View client, users
   use Connection Manager to establish connections to individual Analytic Services
   databases.




11-12                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                                Lesson 11 Reporting with Smart View for Office



    Configuring Analytic Services Smart View
    Provider


                                               2                                               5

     1
                                                                               4




                    3                                                                      6




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Configuring Analytic Services Smart View Provider
Analytic Services Smart View Provider is a Web service that provides http connectivity
from Smart View clients to Analytic Server instances. Configuring the provider is a two-
part process in Administration Services Console; you must add an Analytic Services
Smart View Provider instance to the Analytic Services Smart View Providers node, and
then you must add standalone Analytic Server instances or analytic clusters to the
specified provider.
      NOTE
      You can only configure the Analytic Services Smart View Provider to connect to
      Analytic Server instances that are listed under the Analytic Servers node in
      Administration Services Console.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   11-13
                                                      Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office

An analytic cluster is a group of identical Analytic Services databases on one or multiple
instances of Analytic Server. They provide load balancing and failover support so that
connections to the cluster are reliable and highly available. Load balancing enables
requests to one database to be distributed across the analytic cluster. Failover support
detects service interruptions to a database in a cluster and routes requests to other
databases that are available in the cluster.
        NOTE
        To create analytic clusters, you must license the High Concurrency option. For
        information on analytic clusters, see the Analytic Services Smart View Provider
        Installation and Administration Guide.



To configure Analytic Ser vices Smar t View Provider for a
standalone Analytic Ser ver:
 1. In Administration Services Console, select the Smart View Providers node.
 2. Select Actions > Add Smart View Provider.
          The Add Smart View Provider dialog box is displayed.
 3. Do the following:
   a. For Provider Name, enter the name of the server where the provider is installed.
   b. For URL, enter http://<servername>:<portnumber>/smartview/SmartView.
      The following example is the default URL:
            http://localhost:13080/smartview/SmartView
   c. Click OK.
          The new Analytic Services Smart View Provider is displayed
          under the Smart View Providers node.
 4. Expand the new provider node, and then select Standalone Servers.
 5. Select Actions > Create Standalone Server.
          The Add Standalone Server dialog box is displayed.
 6. From the drop-down list, select an Analytic Server instance, and then click OK.




11-14                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                                 Lesson 11 Reporting with Smart View for Office




    Connecting to Analytic Services Databases


                        1



                                                                                            3




                                          2



                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Connecting to Analytic Services Databases
Before you can access Analytic Services data in Smart View, you must create connections
to Analytic Services databases in Connection Manager, which also manages connections
to Financial Management, Planning, and the BI+ reporting repositories.


To connect to an Analytic Ser vices database:
 1. In Microsoft Office, select Hyperion > Connection Manager.
         The Connection Manager dialog box is displayed.
 2. Click Add, and then select from the following options:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                11-15
                                                       Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office

   • Shared Services Provider: Select this option if your Analytic Services Smart View
     Provider is registered with Shared Services. Registering all providers with Shared
     Services gives you a single URL to connect to for a centralized list of providers.
     For example, if you have Financial Management, Planning, and Analytic Services,
     you can register all three Smart View providers with Shared Services, and then,
     from a single Shared Services URL, select any provider.
   • URL Provider: Select this option to enter the URL for a specific Analytic Services
     Smart View Provider.
         The Add Data Source dialog box is displayed.
 3. Do the following:
   a. From the Provider drop-down list, select Hyperion Provider.
   b. From the Location drop-down list, select the Analytic Services Smart View Provider
      URL; or, in the text box, enter the URL, using the following format:
           http://<servername>:<portnumber>/smartview/SmartView

   c. Optional. Select Create as default connection to make the current connection the
      default database connection.
   d. Click Next.
         The Connect to Data Source dialog box is displayed.




11-16                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                                Lesson 11 Reporting with Smart View for Office



    Connecting to Analytic Services Databases
    (continued)



                                                                                           5
                       4




                                   6




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Connecting to Analytic Services Databases (continued)
 4. Enter your Analytic Services user name and password, and then click Connect.
         The Select Database or Repository dialog box is displayed.
 5. From the list, select an Analytic Services database, and then click Next.
         The Add a Connection Name dialog box is displayed.
 6. Define a name and description for the current connection, and then click Finish.
         The connection is now available to select in Connection Manager.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               11-17
                                                                             Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




    Customizing the Smart View Toolbar



                                                                                   Full Toolbar




                                                                      Customized Toolbar: Only
                                                                      Analytic Services Functions




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Customizing the Smart View Toolbar
The Smart View toolbar, which is displayed in Excel automatically after you install Smart
View, provides convenient buttons for accessing many of the Smart View commands
without opening the Hyperion menu.
You can customize the toolbar so that it contains only the buttons relevant to Analytic
Services. In the customization list, a menu, which lists all available toolbar buttons, is
displayed. The icons next to the button names show which buttons are selected, as in
the example on the slide.




11-18                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                        Lesson 11 Reporting with Smart View for Office

The following table describes buttons that you can use with Analytic Services data
sources.

 Button    Name                Description
           Connection          Accesses the Connection Manager dialog box, where you can
           Manager             add, delete, edit, and set data source connections
           Zoom In             Retrieves and expands data from the connected data source,
                               according to the options specified in the Options dialog box
           Zoom Out            Collapses the view to the parent of the currently selected
                               member
           Pivot               Pivots the selected dimension to change its orientation on the
                               worksheet
           Keep Only           Retains only the selected members (in the selected
                               dimensions)
           Remove Only         Removes only the selected members (in the selected
                               dimensions)
           Refresh             Retrieves data from the connected data source into the active
                               workshee.
           Submit Data         Saves data updates in the worksheet to the connected
                               Analytic Services database
           Refresh All         Retrieves all data or images within the Excel workbook, Word
                               document, or PowerPoint slide
           Undo                Restores the previous database view

           Redo                Restores the database view as it was before an undo
                               operation was performed
           POV Manager         Accesses POV Manager, where you can edit a connection
                               point of view, save a point of view to a workbook, copy and
                               paste a saved point of view, or delete a point of view from a
                               workbook
           Function Builder    Accesses Function Builder, which provides a graphical
                               interface for creating functions
           Adjust              Adjusts the value of the selected data cells by a percentage or
                               fixed value
           Options             Accesses the Options dialog box, where you set end user
                               display preferences, including ad hoc options, display options,
                               and cell styles
           Customize           Accesses the toolbar customization list, where you can add or
                               remove toolbar buttons from the Smart View toolbar




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         11-19
                                                                             Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




    Creating Ad Hoc Reports

    In Smart View, all Analytic Services analysis is done in Ad Hoc
      mode:
        Default ad hoc grid
         — Double-click
         — Refresh
        Default layout (varies by database)                                                 Rows

                                                                                        Columns
                                                                                        POV




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Ad Hoc Reports
Smart View ad hoc grids follow the Essbase Spreadsheet Add-in rules of label
placement: at least one row dimension and one column dimension are required. Smart
View lists the remaining dimensions in the POV toolbar, which is comprised of
customizable drop-down lists from the dimensions.
After you connect to a database and open a worksheet, you can open the default ad hoc
grid by double-clicking a cell in the worksheet or by selecting Refresh. The default grid
layout is specific to the database; in the example on the slide, Year Tot and Accounts, the
first and second dimensions in the Bigcorp Sales outline, are the default row and column
dimensions, respectively. The rest of the Bigcorp Sales dimensions are represented in
the POV.




11-20                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                              Lesson 11 Reporting with Smart View for Office




    Pivoting and Zooming

    Pivot




    Zoom




                           © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Pivoting and Zooming
Like Essbase Spreadsheet Add-in, Smart View enables you to zoom in to expand detail,
zoom out to collapse detail, and pivot to move dimensions to a different axis.

Pivoting
With the pivot options, you can move dimensions between rows and columns and move
dimensions in and out of the grid. When you move a dimension to rows or columns, the
system moves the selected dimension to the outermost row or column on the opposite
axis. In the example on the slide, the Pivot to Row option moves the Customer
dimension to the far left side of the grid.
The grid must have at least one dimension on rows and one dimension on columns.
Before you remove a dimension from a grid, you must pivot the replacement dimension
into the grid.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         11-21
                                                            Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office

To pivot a dimension, do one of the following tasks:

 Action                                  Procedure Options
 Pivot a row dimension to a column,      • Select Hyperion > Ad Hoc Analysis > Pivot
 or a column dimension to a row
                                         • Click

                                         • Right-click and drag the dimension to a new axis
 Pivot a column or row dimension to      • From the point of view toolbar, select Options >
 the point of view                         Pivot to POV
                                         • Right-click and drag the dimension to the point of
                                           view toolbar
 Pivot a point of view dimension to a    • From the point of view toolbar select Options > Pivot
 column or row                             to Column or Options > Pivot to Row, and then select
                                           the dimension that you want to move
                                         • Click and drag the dimension from the point of
                                           view toolbar to the column or row axis


Zooming
You can drill down to various levels of data in the grid by expanding members or drill up
to higher levels of data in the grid by collapsing members. For example, if you want to
view data for a specific quarter or month, rather than for the year, you can zoom in on the
Year Tot member to see detail data.
When you zoom in on a member, the member is expanded according to the options
specified in the Options dialog box. The default zoom option is to zoom in to the next
level to retrieve data for the children of selected members, but you can also zoom in to all
levels, or to only the bottom level descendants of the selected member.

 Action                                 Procedure Options
 Zoom in                                • Double-click.
                                        • Select Hyperion > Ad Hoc Analysis > Zoom In.

                                        • Click the zoom in toolbar button        .
 Zoom out                               • Right double-click.
                                        • Select Hyperion > Ad Hoc Analysis > Zoom Out.

                                        • Click the zoom out toolbar button           .




11-22                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                                Lesson 11 Reporting with Smart View for Office




    Setting Ad Hoc Options

    Common options:
      Suppression options
      Indentation options
      Navigate without data
      options
      Mouse operation options
      Zoom options


    Unique options:
      Undo and redo
      customization



                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Setting Ad Hoc Options
The options on the Ad Hoc tab in the Options dialog box control how data is retrieved and
which data is retrieved.
Many of the options are available in both Smart View and Essbase Spreadsheet Add-in.
For example, suppression options, indentation options, navigation without data, mouse
operations, and zoom options have the same effect in Smart View and Essbase
Spreadsheet Add-in. For information about these common options, see Lesson 9 of this
manual or the Smart View for Office User’s Guide.
Smart View offers one option on the Ad Hoc tab that is not available in Essbase
Spreadsheet Add-in: a customizable undo buffer.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           11-23
                                                      Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office

The Flashback undo operation offered by Essbase Spreadsheet Add-in has limitations:
Flashback can undo only the last operation. However, in Smart View, you can undo as
many operations as you specify in the undo buffer.
The number that you specify for the undo buffer is the number of undo and redo
operations allowed. For example, type 10 in the Buffer Size text box to allow 10 undo and
10 redo operations.




11-24                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                               Lesson 11 Reporting with Smart View for Office




    Formatting Data Cells
                                          Properties
      Display tab                         to Modify                                       Control Precedence

      Cell Styles tab




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Formatting Data Cells
To enable you to give your ad hoc grids a more formatted look, Smart View provides a
number of options to format the member names and data cells in a grid. The options are
located on the Display and Cell Styles tabs of the Options dialog box.

Common Features
The following options are common to Essbase Spreadsheet Add-in and Smart View:
 • Replacing Missing Data and Zeroes: These options enable you to replace a
   #MISSING or zero value with a custom value.
 • Cell Styles: Member and data cell styles that you can use to customize the font,
   background, and borders of certain types of members or data.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                               11-25
                                                       Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office

Unique Features
The following options are unique to Smart View
 • Scaling Data: This option enables you to scale the data in your spreadsheet either
   upward or downward, depending on your needs. For example, you can select a scale
   of 3 to scale whole numbers to thousands or select a scale of -2 to scale a decimal to
   a whole number.
 • Applying Number Formatting: You can apply a specific number for decimal
   formatting to your entire grid and select whether to use a thousands separator.
 • Using Excel Formatting: Select the Use Excel Formatting option when you are
   working with highly formatted reports. Excel formatting includes number formats,
   conditional formats, colors, and borders.
   When this option is selected, Smart View preserves the Excel formatting on the
   worksheet during operations, and application styles selected in the Cell Styles tab
   are not applied.
   When this option is not selected, application styles selected in the Cell Styles tab are
   applied.
 • Customizing Cell Styles: the Cell Styles tab of the Options dialog box enables you
   to change the precedence of cell styles for cells that have more than one possible
   style attribute.
   You can define independent styles for Analytic Services, Financial Management, and
   Planning. Additionally, there is a common style folder to define a style for dirty cells
   (cells you have changed since the last retrieve). The dirty cells style is common to all
   data sources.




11-26                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                                  Lesson 11 Reporting with Smart View for Office




    Setting the Point of View

    Default




    Customized




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Setting the Point of View
The point of view toolbar identifies a specific slice of the database for a grid. In a default
ad hoc grid, all but two database dimensions are displayed in the POV at the dimension
level. Although each dimension is displayed as a drop-down list, by default, only the top
dimension member is available for selection.
You can determine which members are displayed in the dimension drop-down lists on
the POV toolbar.


To set the POV:
 1. select the preferred member from each POV dimension drop-down list.
 2. On the POV toolbar, click the refresh button                          .




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             11-27
                                                                               Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




    Selecting Dimension Members



                                                                                        1
                                                                                                        2


                            4


    3
                                         5




                                                                                      6
                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Selecting Dimension Members
You can customize the list of members to be displayed in the POV drop-down boxes,
enabling you to focus on the members that you need for analysis, rather than the whole
dimension.


To select members for a POV drop-down list:
 1. On the POV toolbar, select Options > Select Members.
        A list of POV dimensions is displayed.
 2. Select the preferred dimension.
        The Member Selection dialog box is displayed.
 3. From the dimension hierarchy, select the preferred members.




11-28                                        Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                        Lesson 11 Reporting with Smart View for Office

 4. Click Add.
         The selected members are displayed in the Selection list.
 5. Optional: In the Selection list, select the dimension name, and then click Remove.
 6. Click OK.
         The members in the Selection list are displayed in the POV
         dimension drop-down list.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    11-29
                                                                            Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office



    Saving, Copying, and Deleting the Point of
    View




             Drag




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Saving, Copying, and Deleting the Point of View
Each connection has a default point of view. You can create a personalized default POV
for your active database connection, and then save it to worksheets in a workbook.
When you select the connection in POV Manager, the details of the connection and the
dimension selections or defaults are displayed. For example, when creating a workbook
of sales reports, you want to view only net sales data. You can use POV Manager to
preset Net Sales as your default POV account, then save the personalized POV to the
sales report worksheets.


To create a customized default POV:
 1. In POV Manager, expand the list of active connections.
 2. Select the preferred connection.




11-30                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 3 Spreadsheet Reporting
                                       Lesson 11 Reporting with Smart View for Office

 3. Click Member Selector.
         The Member Selection dialog box is displayed.
 4. Select default members for your preferred dimensions.
 5. Click OK.


To apply the customized POV to a worksheet:
 1. Expand the Saved node to view your open workbooks
 2. From the POVs list in POV Manager, select a customized connection POV.
 3. Complete one of the following tasks:
   • Drag the connection POV to a worksheet in an open workbook.
   • Copy and paste the customized connection POV to a worksheet using the copy
     and paste buttons.


To remove a saved POV from a worksheet:
 1. Select the POV to delete.
 2. Click Delete.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                               11-31
                                                    Module 3 Spreadsheet Reporting
Lesson 11 Reporting with Smart View for Office




            Summary
            In this lesson, you should have learned to:
            • Describe Smart View for Office
            • Configure data sources
            • Customize the Smart View toolbar
            • Manage the point of view
            • Create ad hoc reports




11-32                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
M O D U L E    4

Creating Basic Calculations                                                  11




Overview
In order to design efficient calculations, you must first understand how
Essbase Analytics databases calculate. This module reviews calculation
basics, introduces multidimensional data storage and calculation concepts,
and discusses proper calculation script organization. You learn how to
identify and correct invalid calculations, and how to focus calculations
efficiently. You also learn how to leverage hierarchy relationships in
calculations, and to create script and server variables.
Lessons in this module include:
 • Storing and Calculating Data
 • Creating Calculation Scripts
 • Controlling the Calculation Process
L E S S O N    1 2

Storing and Calculating Data                                               12




Objectives
After completing this lesson, you should be able to:
 • Identify differences between outline calculations and calculation scripts
 • Describe default block storage calculation order
 • Describe data blocks
 • Interpret database statistics
 • Describe when data blocks are created
 • Fully calculate a block torage database
                                                                     Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




       Calculation Overview

        Database values:
         — Input data
         — Calculated data
        Calculation options:
         — Outline calculations
         — Calculation script calculations




                                                                            Calculated
                                 Calculation                                Database         Report
          Input Data



                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Calculation Overview
A database contains two types of values: the values that you enter (input data) and the
values that are calculated from the input data (calculated data). Consider the following
examples:
 • You are a small-company Analytic Services database administrator and developer
   and are responsible for data loading and reporting. You collect monthly sales figures
   for all products and calculate the total sales revenue for each product family.
 • You are a budget analyst in a large company. You enter the budget and actual values
   for the cost of sales for several products in several regions. You calculate the
   variance between budget and actual values for each product in each region.
 • You are a sales manager and Analytic Services power user. Your section of the sales
   database contains retail sales figures and prices for all products. You calculate what
   happens to total margin if you increase the price of one product for retail customers
   by 5%.


12-2                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                 Lesson 12 Storing and Calculating Data

From these examples, you see good reasons for calculating data. Many analyses require
aggregation of detail data members into summary members to spot trends that might not
be noticed if only detaildata was examined. For example, after data is loaded into the
low-level month members Jan, Feb, and Mar, calculation of the Year Tot dimension
produces a high-level value for Qtr 1. Similarly, after low-level values are loaded into
Gateway, Apple, and Dell, calculation of the Customer dimension produces a high-level
value for Retail, and so on.
Another reason for calculating the database is to perform complex business operations,
such as cost allocations, sales or product mix analyses, or what if investigations. Analytic
Services block storage databases tackle these kinds of analyses and provides over 250
functions to help you produce solutions faster.
The process of creating stored calculated values in a block storage database is called
batch calculation, because the process typically occurs as part of one large batch of
operations (loading, calculating, and reporting). Generally, you execute a batch
calculation immediately after you load input data. You can batch calculate block storage
databases two ways: through outline calculations or through calculation scripts.
       NOTE
       Calculation scripts can contain commands that execute outline calculations, but
       outline calculations cannot contain or execute calculation scripts.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       12-3
                                                                   Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




       Outline-Based Calculations

        Used for less complex calculations
        Follow outline relationships or formulas
        Calculate entire database




                                                                                             Calculated
                                                                                             Database
                Input Data



                                                                                           CALC ALL
                                                                                            Default
                                                                                           Calculation
                                              Outline
                                                                                             Script
                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Outline-Based Calculations
Outline calculations represent the simplest method of calculation. In block storage
outline calculations, Analytic Services calculates the database according to the
relationships between members in the database outline and according to member
consolidation operators or formulas.
During a batch process, you initiate outline calculations by executing the default
database calculation; this calculation contains the calculation script command CALC
ALL, which calculates and aggregates the entire database based on the consolidation
operators and formulas in the database outline.




12-4                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                                Lesson 12 Storing and Calculating Data




    Script-Based Calculations

       Calculate all or a portion of the database
       Control the order in which dimensions are calculated
       Perform complex calculations




                                                                                            Calculated
                                                                                            Database
                Input Data




                                           Custom
                                       Calculation Script
                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Script-Based Calculations
A calculation script contains a series of calculation commands, equations, and formulas.
You use calculation scripts to specify exactly how you want Analytic Services to calculate
a block storage database. For example, you can calculate part of a database or copy
data values between members.

When to Execute Calculation Scripts
Calculation requirements are driven by processes that typically include multiple interim
steps. Thus, typically, multiple calculation scripts are developed, each script satisfying
the calculation needs of a process step. The following example demonstrates how
specific calculation scripts fit into the data flow processes for Bigcorp:
 • The budgeting group finalizes the budget for the coming year. The budget
   administrator loads this data into Bigcorp Sales and executes a script to consolidate
   budget data across all products and customers.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                         12-5
                                                  Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data

 • On a monthly basis, actual data for the current year is loaded from extracts
   generated from the IT data warehouse. After data is loaded, the database
   administrator executes a script to consolidate actual data for the current month.
 • The Bigcorp finance group makes adjusting entries through Essbase Spreadsheet
   Add-in. After all adjustments are entered, the database administrator recalculates
   the actual data for the entire year, creating quarterly and yearly totals.
 • Bigcorp corporate expenses, such as advertising and IT salaries, are loaded to the
   total for all products and all customers and then must be allocate to individual
   product-customer combinations based on drivers such as percent of total units sold
   and percent of total revenues.
 • Bigcorp analysts submit reforecasts through the end of the year. Each reforecast is
   based on data for the current month. The senior analyst executes a calculation
   script that copies actual data into a rolling forecast from January through the
   current month, copies the current forecast into the rest of the months, and then
   consolidates the rolling forecast.
 • When all input data is in place, a final script calculates year-over-year actual
   variances, actual variances from budget and forecast, percentages, and analytic
   metrics.

Referencing Outline Calculations in Calculation Scripts
With custom calculation scripts, you can override the default database calculation on a
temporary or permanent basis. In custom calculation scripts, you can refer to
calculation rules defined in the database outline, or you can specify new formulas,
calculation formats, and calculation orders. The two most common calculation
commands that reference outline calculations are CALC ALL and CALC DIM.
 • CALC ALL: Calculates and aggregates the entire database based on the database
   outline. Although this command is the default database calculation, you can also
   use it in a custom calculation script to control procedural calculation steps. In the
   following example, the CALC ALL command is executed after data is copied from
   the Prior Year scenario to the Budget scenario and increased by 10%:
   DATACOPY “Prior Year” to Budget;
   Budget = Budget * 1.1;
   CALC ALL;




12-6                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                Lesson 12 Storing and Calculating Data

 • CALC DIM: Calculates the outline formulas and consolidations associated with each
   member of all the specified dimensions. This command is commonly used in custom
   calculation scripts to control the order in which dimensions calculate. In the following
   example, the data in the Units account is aggregated for all products and all
   customers:
   FIX(Units)
         CALC DIM(Customer, Product);
   ENDFIX

 • AGG: Consolidates database values. An AGG command ignores all member
   formulas; it consolidates only parent-child relationships. This command is commonly
   used to calculate sparse dimensions that are consolidated entirely using addition (+)
   consolidation operators, as it provides faster performance than CALC DIM.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      12-7
                                                                    Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




       Calculation Script Editor




                                                                                            Dimensions and
                                                                                            Members




                                                                                            Functions and
                                                                                            Commands
                   Opening Calculation
                      Script Editor


                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Calculation Script Editor
Calculation scripts are essentially text files that Analytic Server identifies as calculation
scripts because the files have CSC file extensions. You can create calculation script text
files with any text editor. However, Administration Services Console provides a powerful
editor, Calculation Script Editor, to assist you.
The script editor includes a list of dimensions and members and a second list of
calculation functions and commands, which is organized categorically and alphabetically.
To build a script, you can enter calculation commands directly into the text area of the
script editor or use the point-and-click features of the script editor.




12-8                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                                 Lesson 12 Storing and Calculating Data




    Order of Outline Calculations

    CALC ALL calculates
                                     1. Dimension tagged Accounts
    the outline in the
    following order:                 2. Dimension tagged Time


                                                   3. Dense Dimensions                       Optimal Order:
                                                      (outline order)
                                                                                             Largest to
                                                                                             Smallest


                 Optimal Order:
                 Smallest to                      4. Sparse Dimensions
                 Largest                             (outline order)


                                     5. Two-Pass Calculations




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Order of Outline Calculations
For data sets that are at least partially dense, block storage databases maximize
performance by dividing the standard dimensions of a database into two types: dense
dimensions and sparse dimensions. This division enables the database to cope with data
that is not smoothly distributed, speeds data retrieval, and minimizes memory and disk
requirements.
When you execute a default (CALC ALL) database calculation, dense and sparse
dimension designations, in addition to specific dimension properties, determine the order
in which dimensions are calculated. For example, if an outline contains a dimension
tagged as Accounts and a dimension tagged as Time—like Bigcorp Sales does—the
CALC ALL command calculates the database in the following order:
 1. Dimension tagged as Accounts
 2. Dimension tagged as Time



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                              12-9
                                                  Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data

 3. Other dense dimensions (in outline order)
 4. Other sparse dimensions (in outline order)
 5. Members tagged for two-pass calculation (to be discussed in Lesson 13)
If no dimension is tagged as Accounts or if the accounts dimension does not contain a
calculable formula, the default calculation order is the following:
 1. Dense dimensions (in outline order)
 2. Sparse dimensions (in outline order)
As an Analytic Services developer, you are responsible for designing a block storage
database outline that calculates with efficiency and accuracy. As you can see from the
default calculation order, a block storage database outline is more than a navigational aid
for end users; information embedded in the outline reflects the data structure and
efficiency of the database. An understanding of how Analytic Services block storage
databases store and process data is the most important factor in efficient calculation
design.




12-10                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                Lesson 12 Storing and Calculating Data




Data Block Fundamentals
Analytic Services uses two types of internal structures to store and access data in block
storage databases: data blocks and the index system. A data block, which contains a
certain number of data cells, is the basic unit of storage in block storage databases. Each
unique data value can be considered to exist in a cell of a data block. When a user or a
process (such as a calculation) requests a data value, the following process is initiated:
 1. A user or process requests data.
 2. Analytic Services searches the index for the requested data blocks.
 3. Based on the index entries, Analytic Services finds the requested data blocks in the
    database.
 4. Analytic Services brings the requested data blocks into memory.
 5. The user or process views or uses data from cells in the requested data blocks.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     12-11
                                                                    Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




    Data Blocks and the Index System

              Dimension Storage Settings                                                    Physical Data
                                                                                            Stored in Data
                                                                                                Blocks


                                                                                                Year Tot
                                                                                     Accounts




                                                                                       Scenario->Product->Customer




                       Index of Data Blocks
           Block      Scenario            Product       Customer
           1       Current Year        Lightbolt 365 A IBM
           2       Current Year        Lightbolt 365 A Acer
                   …                   …               …
                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Data Blocks and the Index System
The configuration of data blocks and the index system correlates to the configuration of
dimensions as dense or sparse. In most data sets, data tends to follow predictable
patterns of density and sparsity. If you match the patterns correctly when you select your
dense and sparse dimensions, you can store data in a reasonable number of fairly dense
data blocks, rather than in an excessive number of highly sparse data blocks. This
division enables the database to cope with data that is not smoothly distributed, speeds
data retrieval, and minimizes memory and disk requirements.




12-12                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                Lesson 12 Storing and Calculating Data

For example, In the Bigcorp Sales database, Bigcorp does not sell every product to
every customer; therefore, the data set is reasonably sparse because data values do not
exist for many combinations of members of the Product and Customer dimensions. For
example, if IBM does not buy Lightbolt 365 A hard drives, data values do not exist for the
combination IBM->”Lightbolt 365 A”.
      NOTE
      In block storage databases, member combinations are denoted by the cross-
      dimensional operator. The symbol for the cross-dimensional operator is ->.


However, consider combinations of members in the Year Tot and Accounts dimensions:
data values almost always exist for some member combinations on these dimensions.
For example, data values exist for the member combination Units->January, because at
least some products are sold in January. Based on this test, the data set for the Year Tot
and Accounts dimensions is reasonably dense.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    12-13
                                                                     Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




    Data Cells

    Each data cell:
        Is uniquely addressable
        Requires 8 bytes of disk storage


                                                                              166       182   143
                                                                              131       149   120
                                                                              123       150   115
                                                                              100       196   231

                    100 Units of Lightbolt 365 A hard
                    drives sold to IBM in February of
                            the current year




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Data Cells
In block storage databases, each data value is stored in a single cell in the database.
You refer to a data value by specifying its coordinates along each standard dimension. In
the example on the slide, the data value 100 is referenced by the members
Feb->Units->”Current Year”->IBM->”Lightbolt 365 A”.
Each data cell has a unique address, which is composed of one member from each
dimension in the database and which requires 8 bytes of disk storage. Consider the
following example of a small database:

              Stored Members
 Dimension    in Dimension             Storage Type
 Accounts     100                      Dense
 Time         17                       Dense
 Scenario     2                        Sparse



12-14                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 12 Storing and Calculating Data


              Stored Members
 Dimension    in Dimension         Storage Type
 Product      1000                 Sparse
 Customer     1000                 Sparse

In this small database, the number of potential data cells is 3.4 billion; to calculate the
number of potential cells, multiply the number of stored members of one dimension by
the number of stored members of all other dimensions (100 Accounts members x 17
Time members x 2 Scenario members x 1000 Product members x 1000 Customer
members). In larger databases, it is not uncommon to have trillions of potential data
cells.
       NOTE
       Stored members are members with Store Data, Dynamic Calc and Store, or Never
       Share data storage properties.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       12-15
                                                  Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




Dense Dimensions
A standard report can contain tens of thousands of data values, and it would be
extremely inefficient for Analytic Services to deliver each data value into memory, one
eight-byte cell at a time. Instead, for block storage databases, Analytic Services groups
data cells into data blocks composed of your dense dimensions, increasing the amount
of information that can be delivered into memory at one time.
Each data block is a multidimensional array that contains a fixed, ordered location for
each possible combination of dense dimension members. Accessing a cell in the block
does not involve sequential or index searches. The search is almost instantaneous,
resulting in optimal retrieval and calculation speed.




12-16                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                Lesson 12 Storing and Calculating Data

Every data block in a block storage database has the same number of cells, and, after
Analytic Services creates a data block, all cells of the data block exist, regardless of
whether they contain data. For calculation, restructuring, data loading, or reporting, data
blocks move from disk to memory and back to disk in their entirety, so smaller data
blocks generally provide better performance.
To calculate the number of cells in a data block, multiply the number of stored members
of one dense dimension by the number of stored members of each other dense
dimension. The small database in the previous example stores data in blocks of 1700
cells (17 Time members x 100 Accounts members); each block requires 13600 bytes
(1700 cells x 8 bytes) of disk storage. You can control block size by configuring fewer or
more dimensions as dense.
       NOTE
       8 to 100 kilobytes is the optimum block size range for native block storage
       databases. However, performance dictates the block size for a database, and that
       depends not only on data block size, but also on the types of calculations required
       and the available hardware.


For block storage databases, Analytic Services stores data blocks in PAG files
(Essn.pag), which can grow to 2 GB. If Analytic Services requires more than 2 GB to
store data, it creates additional sequential PAG files.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     12-17
                                                   Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




Sparse Dimensions
For block storage databases, Analytic Services creates an index entry for each data
block. The index represents the combinations of sparse standard dimension members
and contains an entry for each unique combination of sparse standard dimension
members for which at least one data value exists. Analytic Services stores index entries
in an IND file (Essn.ind), which is located in the same directory as the PAG files.
Like PAG files, IND files have a maximum file size of 2 GB. When the current IND file
reaches the maximum size, Analytic Services creates another IND file, numbered
sequentially, to store additional index entries. There is no 1-to-1 relationship between the
number of PAG and IND files, and it is not unusual for a single IND file to index multiple
PAG files. For example, a fully-calculated database can have one IND file and ten PAG
files.




12-18                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 12 Storing and Calculating Data

In the example on the slide, loading the data value 100 to the member intersection
Feb->Units->Current Year->IBM->Lightbolt 365 A creates a data block that is indexed as
Current Year->IBM->Lightbolt 365 A. Any additional data for that unique combination of
sparse dimension members is added to the data block. For example, loading a value of
200 to Mar->Units->Current Year->IBM->Lightbolt 365 A adds data to a second cell in
the Current Year->IBM->Lightbolt 365 A data block.
You can calculate the number of potential data blocks for your database by multiplying
the number of stored members of one sparse dimension by the number of stored
members of each other sparse dimension. The sparse dimensions in the previous
example, which has 2 scenarios, 1000 products, and 1000 customers, can potentially
create 2 million data blocks. However, Analytic Services creates only the blocks that it
requires to store data values.

Database Efficiency
The efficiency of the data block and index system is based on two principles:
 • Data blocks are created only for combinations of sparse members that contain data
   (data is stored and calculated only for actual combinations).
 • For combinations of sparse members that do not contain data, no data block is
   created. Therefore, sparse member combinations that you do not use do not require
   disk space or calculation time.
The best dense-sparse configuration for a database stores data in a reasonable number
of mid-sized, densely populated data blocks, rather than in a high number of small,
densely populated data blocks or a small number of large, sparsely populated data
blocks.

Data Block Classification
In the block storage index, Analytic Services classifies data blocks according to two
criteria: block level and type of data.

 Block Level        • Level 0 block: a block in which every sparse member in the index
                      entry of the block is a level 0 member of its dimension (The block in
                      the example on the slide is a level 0 block.)
                    • Upper-level block: a block in which at least one sparse member in
                      the index entry of the block is not a level 0 member in its dimension
 Data Type          • Input block: a block in which data values were loaded during a data
                      load process (The block in the example on the slide is an input block.)
                    • Non-input block: a block entirely populated with data created during
                      a calculation process




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         12-19
                                                                      Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




    Database Statistics

        1




            2




                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Database Statistics
The Database Properties dialog box provides substantial statistical information about
your database and data blocks. You can use this information to benchmark your
configuration choices. The most important sets of information for this process are
dimension properties and block statistics.


To open the Database Proper ties dialog box:
 1. In the navigation panel of Administration Services Console, right-click the database
    node.
 2. Select Edit > Properties.
            The Database Properties dialog box is displayed.




12-20                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                               Lesson 12 Storing and Calculating Data




    Dimension Properties

      Dense-sparse
      configuration
      Members in dimension
      Stored members in
      dimension
                       Attribute
                      Dimension




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Dimension Properties
The Dimensions tab in the Database Properties dialog box is an informational frame that
identifies the dense-sparse configuration, total number of members, and total number of
members stored for each dimension. The Members Stored number is the number that
Analytic Services uses to calculate the size and potential number of data blocks in your
database.
Although attribute dimensions are displayed on the Dimension Properties tab along with
standard dimensions, Analytic Services does not consider them when calculating block
size or number of potential blocks. Attribute dimensions are entirely dynamic, and
therefore the Members Stored number for each attribute dimension is 0 (zero).




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               12-21
                                                                    Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




    Block Statistics

    Benchmark dense-sparse configuration and storage efficiency




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Block Statistics
The Statistics tab in the Database Properties dialog box provides an important set of
block statistics that help you test the efficiency of your configuration settings. The
following table describes each block statistic and explains how to use each statistic for
benchmarking:

 Statistic            Description
 Number of existing   Total number of data blocks in the database at its current state of
 blocks               calculation. Generally, the lower the number of existing blocks when you
                      calculate the lower the calculation time because fewer blocks cycle
                      through memory.
 Block size (B)       The product of the number of stored members of one dense dimension
                      multiplied by the number of stored members of each other dense
                      dimensions multiplied by 8 bytes. Sizes that are too small or too large
                      may adversely affect calculation, storage, and retrieval efficiency.




12-22                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                    Lesson 12 Storing and Calculating Data


 Statistic              Description
 Potential number of    The product of the number of stored members of one sparse dimension
 blocks                 multiplied by the number of stored members of each other sparse
                        dimensions. In most databases, the product is much larger than the
                        number of existing blocks.
 Existing level 0       Number of current data blocks where all sparse members in the index
 blocks                 entry are level 0 members.
 Existing upper-level   Number of current data blocks where at least one sparse member in the
 blocks                 index entry is an upper-level member. In most databases, the ratio of
                        upper-level to level 0 blocks is very high.
 Block density (%)      From a sampling of existing data blocks, the number of cells in blocks
                        that have a value as a percentage of the total number of cells in the
                        block. Because dense-sparse settings should maximize block density,
                        this percentage is key to evaluation of storage and calculation efficiency.
 Percentage of          Number of existing blocks divided by potential number of blocks. Another
 maximum blocks         key statistic for storage and calculation efficiency, this percentage
 existing               measures the sparsity of the database. It is not uncommon for this
                        statistic to be very small (less than 1%), as it is the nature of
                        multidimensional databases to have many combinations without data.
 Compression ratio      Compression efficiency when blocks are stored on disk. Because
                        #MISSING cells are typically compressed, this statistic inversely
                        correlates to block density; as block density increases, the compression
                        ratio decreases.
 Average clustering     Fragmentation level of the data (PAG) files. The maximum value, 1,
 ratio                  indicates no fragmentation. For information on preventing or removing
                        fragmentation, please see the Database Administrator’s Guide.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             12-23
                                                  Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




Data Block Creation
To understand the built-in efficiency of block storage database calculations and to create
efficient calculations, you must understand how and why Analytic Services adds data
blocks to the PAG file. Analytic Services creates data blocks during any one of the
following four processes:
 • Data load
 • DATACOPY command in a calculation script
 • Sparse dimension consolidation
 • Some member formulas




12-24                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                               Lesson 12 Storing and Calculating Data




Data Load
Analytic Services creates data blocks when you load data to sparse member
combinations for which a data block does not exist. Blocks are created upon input, as
part of the data loading process, whether you load using a data source and a load rule or
load directly from a spreadsheet interface.
In the example on the slide, no data blocks exist for Bigcorp Sales. When you send the
sample spreadsheet, Analytic Services creates the Current Year->IBM->Lightbolt 365 A
data block to store the value for Feb->Units. Because no blocks existed prior to this
operation, Analytic Services creates a PAG file to store the new block and an IND file to
store the index entry for the block.
      NOTE
      If no data blocks exist in your database, no PAG or IND files exist in your
      database. Analytic Services automatically creates these files as necessary.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    12-25
                                                  Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




DATACOPY Command
The DATACOPY command copies data values from one subset of the database to another
subset of the database. This command is useful when you must maintain an original set
of data values and perform changes on the copied data set. If necessary, Analytic
Services creates data blocks when you execute a calculation script that contains the
DATACOPY command.
In the example on the slide, you execute a calculation script for Bigcorp Sales that copies
all Current Year data into the Budget scenario. Because a data block for
Budget->IBM->Lightbolt 365 A does not exist, Analytic Services adds it to the PAG file.




12-26                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                               Lesson 12 Storing and Calculating Data




Sparse Dimension Consolidation
Analytic Services creates data blocks when sparse dimensions are consolidated. For
example, in the Bigcorp Sales outline, the customer IBM has two ancestors. Thus, the
data values for IBM are part of two higher-level totals (OEM and Channel Total) that
Analytic Services needs to calculate after you load data to IBM. Because two level-0 IBM
blocks exist, if you execute a CALC DIM command for the Customer dimension, Analytic
Services needs to create four additional upper-level blocks—two ancestor blocks for
each level-0 IBM data block.
Notice that, because you are consolidating only the Customer dimension, only Customer
names change in the index entries for the new blocks. To see higher-level product totals
for each customer, you must also consolidate the product dimension.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                  12-27
                                                                    Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




    Member Formulas

    Data blocks are created from
     member formulas:
        If you assign a constant
        value to a sparse member
        If you assign a non-constant
        value to a sparse member
        AND turn the Create blocks
        on equations setting ON




        SET CREATEBLOCKONEQ ON;
        Acer = IBM * 1.10;


                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Member Formulas
By default, when a calculation formula assigns a non-constant value to a member of a
sparse dimension for which a block does not exist, Analytic Services does not create a
data block. However, you can override this default in your calculation script with the SET
CREATEBLOCKONEQ command
Create blocks on equations is a database property. Although you can change the default
setting to ON, this change is not recommended. Sometimes, you do not want new data
blocks; for example, you do not want data blocks that contain no values. In large
databases, creation and processing of unneeded blocks can increase processing time as
well as storage requirements. The SET CREATEBLOCKONEQ calculation command is
available only in Release 7.0 or higher.
For information on controlling creation of blocks when you work with non-constants and
sparse dimensions, see the Database Administrator’s Guide and the Technical
Reference.



12-28                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                 Lesson 12 Storing and Calculating Data




Database Calculation Process
When you perform a complete database calculation, the level 0 input data of the
database is calculated across every dimension in dense-sparse order. Although Analytic
Services accepts data input at upper levels, most database designers choose to limit
input to level 0 in order to simplify calculation processes. Calculation of upper-level input
data is discussed in Lesson 15 of this manual.
For maximum efficiency, the calculation process should do the following:
 1. Load data to level 0 blocks (Although not actually part of the calculation process, this
    step is necessary before data is calculated.)
 2. Fully calculate level 0 blocks
 3. Create upper-level blocks that are based on fully calculated level 0 blocks




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       12-29
                                                                    Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




    Input Data Load

    1. You load input data.
    2. Analytic Services creates data blocks in memory.
    3. Analytic Services writes data blocks to the PAG file and indexes them
       in the IND file.

                                       Additional
                                     Time Periods




                                                                                            CY->IBM->LB365A


                Input Data for One Block

                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Input Data Load
When you load data, Analytic Services searches first in the index file for the relevant
block entry. If none exists, Analytic Services creates a data block in memory, writes the
input data to the block, and then writes the block into the PAG file, while creating an
index entry in the IND file.
The spreadsheet on the slide represents data for one level 0 input block. When you send
the data to the server, Analytic Services creates a block indexed as Current
Year->IBM->Lightbolt 365 A.
As you can see from the cells with the text #Missing, many data cells in the block are
empty. Units and rates for each month exist as input data, but sales, costs, and quarterly
totals must be calculated.




12-30                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 12 Storing and Calculating Data




Calculating Dense Dimensions: Accounts
The next part of the process is to fully calculate level 0 blocks. The objective is to fill as
many empty cells as possible. To accomplish this objective, you calculate the dense
dimensions, which make up the interior structure of each data block.
In Bigcorp Sales, Accounts and Year Tot are dense dimensions. Based on the optimal
outline calculation order, you use the CALC DIM command shown on the slide to
calculate Accounts first.
Analytic Services fills in dollar amounts, based on the units and rates that you loaded for
each month. This calculation occurs only in existing blocks; Analytic Services is not
required to create data blocks that as a result of formulas in the Accounts dimension.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         12-31
                                                  Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




Calculating Dense Dimensions: Time
Based on the optimal calculation order, the second dense dimension you calculate is the
the dimension tagged as Time. In Bigcorp Sales, this is the Year Tot dimension. You add
the Year Tot dimension to your CALC DIM command, as shown on the slide.
Calculating the Year Tot dimension creates values for cells related to upper-level time
periods, such as Qtr 1 or Year Tot. As with the last calculation, Analytic Services assigns
values only to cells in existing blocks and does not create data blocks.




12-32                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 12 Storing and Calculating Data




Calculating Sparse Dimensions: Customer
After all dense dimensions are calculated, all cells in the input blocks are fully calculated.
At this point, you must initiate a calculation to create upper-level blocks that are based on
the fully-calculated input blocks. You accomplish this objective by calculating your sparse
dimensions.
The sparse dimensions in Bigcorp Sales are Scenario, Customer, and Product.
According to the optimal calculation order, you should calculate these dimensions
calculated in order from smallest to largest. Based on this criteria, you would choose
Scenario to calculate next. However, in the Bigcorp Sales outline, all calculations in the
Scenario dimension are dynamic. Thus, Scenario formulas calculate automatically when
users request data and are not stored or calculated during a batch process. Because
Customer has fewer members and fewer upper-level intersections than Product, you
calculate Customer next, adding the Customer dimension to the CALC DIM command as
shown on the slide.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        12-33
                                                  Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data

Unlike a dense calculation, this sparse calculation requires Analytic Services to create
data blocks for the ancestors of IBM: OEM and Channel Total.
Analytic Services creates these upper-level blocks by aggregating the data of child
blocks. For example, the value for Qtr 1->Units in the OEM block is the sum of
Qtr 1->Units in the IBM, Acer, Apple, AST, Dell, and HP blocks.
   _




12-34                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                 Lesson 12 Storing and Calculating Data




Calculating Sparse Dimensions: Product
In the Bigcorp Sales database, the final dimension you calculate is Product, as shown in
the CALC DIM command on the slide. During this last step, Analytic Services creates not
only upper-level Product blocks in relation to the original input block but also upper-level
Product blocks in relation to the upper-level Customer blocks that were created when the
Customer dimension was calculated.
Analytic Services creates the upper-level Product blocks by aggregating the data of the
child blocks. For example, the value for Qtr 1->Units in the Family Total->OEM block is
the sum of Qtr 1->Units in the Lightbolt 365 A->OEM, LIGHTBOLT->OEM, and
PERFORMANCE->OEM blocks.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      12-35
                                                Module 4 Creating Basic Calculations
Lesson 12 Storing and Calculating Data




            Summary
            In this lesson, you should have learned to:
            • Identify differences between outline calculations and calculation scripts
            • Describe the default database calculation order
            • Describe data blocks
            • Interpret database statistics
            • Describe when data blocks are created
            • Fully calculate a block storage database




12-36                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    1 3

Creating Calculation Scripts                                             13




Objectives
After completing this lesson, you should be able to:
 • Organize calculation scripts
 • Return correct calculation results
 • Troubleshoot incorrect calculation results produced by the CALC DIM
   process
                                                                     Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




       Calculation Script Organization

       Commenting in calculation scripts:
        Improves readability
        Helps organize similar calculations
        Helps you plan calculation sequence



       Comment Syntax
        /* <=---BEGIN COMMENT TAG
        Insert comments between begin
        comment and end comment tags.
        END COMMENT TAG---=> */



                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Calculation Script Organization
When creating a large calculation script, you need to plan the process, creating an
architecture for calculation structure. Creating an architecture gives your calculation
scripts a logical flow and ensures that calculation order and data block construction
provide correct answers and optimal performance.
Calculation script organization begins with commenting—you use comment tags to
create in your calculation script section headers and notations. Notations and section
headers not only help you plan your calculation sequence but also help anyone who
reads your calculation script.
To add comments to your scripts, simply insert text between a begin comment tag ( /* )
and an end comment tag ( */ ). By default, the comment text is displayed in green in
Calculation Script Editor.




13-2                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                Lesson 13 Creating Calculation Scripts

The following calculation script example is organized in six standard sections:
 • Information
 • Housekeeping
 • Baseline fix
 • Normalization
 • Main rollup
 • Back calculation
   /* Information */
   /*
   Script Name: C_ITExp
   Created By:   Alexander Paul Stevens, Hyperion Consultant
   On:           August 19, 2005

   Purpose:           To allocate IT expense to each office based
                      on % of total headcount

   Directions:        1) Set substitution variable CurYear
                      2) Input data: office headcount, corporate IT expense
                      3) Run this calculation script.

   Versions:          Analytic Services 9.0

   Assumptions:       The “Accounts", “Time" and “Years"
                      dimensions are DENSE.
                      The “Locations", “Scenarios", and “Customers"
                      dimensions are SPARSE.

   Comments:          This script can be run an indefinite number of times
                      with the same data and the same results will be
                      obtained each and every time (This is NOT a "one time"
                      script that requires re-loading of static data).

   Revised By:
   On:
   Description:

   */




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                  13-3
                                             Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts

   /* Housekeeping */

          /* Set the calculator cache. */
          SET CACHE HIGH;

          /* Display calculation statistics in application log. */
          SET MSG SUMMARY;

          /* Display calculation completion messages in application log at
          20% intervals. */
          SET NOTICE LOW;

          /* Turn off Intelligent Calculation. */
          SET UPDATECALC OFF;

          /* Enables parallel calculation. */
          SET CALCPARALLEL 4;

   /* Baseline Fix on CurYear, No Customer, and Actual scenario. */
         FIX (Actual, "No Customer", &CurYear)

   /* Normalization */

          /* Calculate total corporate headcount to be used as a basis for
          allocation */
          FIX (Headcount)
             @IDESCENDANTS ("All Offices");
          ENDFIX

          /* Allocate IT Expense loaded to Corp HQ entity to all offices
          based on percent of total headcount. */
          "IT Alloc In" = "Corp HQ"->"IT Exp" *
                (Headcount / Headcount->"All Offices");

          /* Offset IT expense in Corp HQ by the sum of all
          allocated data */
          FIX ("Corp HQ")
             "IT Alloc Out" = @SUMRANGE ("IT Alloc In",
                @IDESCENDANTS("All Offices"));
          ENDFIX

   /* Main Rollup */

          /* Recalculate all dimensions outside the Baseline fix        */
          CALC DIM (Accounts, Time, Locations);



13-4                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                           Lesson 13 Creating Calculation Scripts


   /* Back Calculation */

          /* Correct rates at upper levels */
          (
          "Discount %" = Discounts / Sales;
          "Tax Rate" = Taxes / "Net Income";
          )

   /* End of Baseline Fix */
         ENDFIX




Hyperion System 9 BI+ Essbase Analytics Bootcamp                            13-5
                                                                    Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




       Information Section

       Contains information about
        the script:
        Who created it
        What it does
        How and when to use it




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Information Section
The information section contains basic information about the calculation script. The
section is wholly comment-based, and you can include any information that you feel is
pertinent to correct use of the calculation script. The following is a list of some of the
items that you can include in an information section.
 • Script name
 • Name of the script creator
 • Date that the script was created
 • Purpose of the script
 • Directions on how to set the system before running the script (including, for example,
   setting values for variables or inputting data)
 • Version of the software for which the script was created



13-6                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                             Lesson 13 Creating Calculation Scripts

 • Assumptions about the database (usually including dense-sparse configuration and
   attribute dimension associations)
 • Other comments
 • Revision information—who revised the script, when it was revised, and what was
   revised.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                13-7
                                                                   Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




       Housekeeping Section

        SET commands control
        how the script processes
        Data manipulation
        commands prepare input
        data for calculation




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Housekeeping Section
The housekeeping section sets the stage for the next sequence of calculations to occur.
Two categories of commands are typically used in the housekeeping section: SET
commands and data manipulation commands.

SET Commands
SET commands prepare the calculator to properly process the commands in the rest of
the script. You use SET commands to control, for example, parallel calculation, calculator
cache size, and the display of log messages.
In the example on the slide, the SET commands do the following:
 • SET CACHE HIGH: Instructs the calculation process to use the highest calculator
   cache setting stored in the Essbase.cfg file. Analytic Services uses the calculator
   cache to create and track data blocks during calculation, so increasing calculator
   cache can significantly improve calculation performance.



13-8                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 13 Creating Calculation Scripts

 • SET MSG SUMMARY: Instructs Analytic Services to display summary-level
   messages in the application log of the calculation process. The summary messages
   include statistics on the number of data blocks created, read, and written and on the
   number of data cells calculated during the process.
 • SET NOTICE LOW: Instructs Analytic Services to use the lowest frequency of
   calculation completion notices stored in the Essbase.cfg file.
 • SET UPDATECALC OFF: Turns the intelligent calculator off. When intelligent
   calculation is used, Analytic Services calculates only blocks that were updated since
   the last calculation. Although intelligent calculation increases calculation efficiency by
   reducing the number of blocks calculated, during calculation script development or
   testing, you should turn the intelligent calculator off to ensure full calculation of your
   script each time you run it. Intelligent calculation is discussed in more detail in
   Lesson 15 of this manual.
 • SET CALCPARALLEL 4: Enables parallel calculation across four threads in place of
   the default serial calculation. This setting enables Analytic Services to benefit from
   multiple processors on the server. For information about parallel calculation, see the
   Database Administrator’s Guide and the online Technical Reference.

Data Manipulation Commands
The other type of command commonly found in a housekeeping section involves data
set manipulation; for example, copying actual data into a budget scenario or clearing all
upper-level blocks. The following table describes data manipulation commands:

 Command                         Description
 CLEARBLOCK ALL | UPPER |        For clearing previous input or upper-level data or stored
 NONINPUT | DYNAMIC              dynamic calculations
 CLEARDATA mbrName               For clearing specific members or member combinations
 DATACOPY mbrName1 TO            For copying data sets from one member to another
 mbrName2




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             13-9
                                                                       Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




    Baseline Fix Section

                Beginning of a
                 Baseline Fix




               Internal Fixes




                   Ending of a
                   Baseline Fix


                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Baseline Fix Section
The baseline fix section is found near the top of most calculation scripts and defines the
specific focus of the script (typically defined by subsets of the time or scenario
dimension). There are a number of issues to consider when creating a baseline fix.
Focus on the type of calculation that you are performing:
 • Scenario: Do you want to calculate actual, budget, or forecast data? The baseline fix
   often includes a scenario reference because scenarios typically differ from each
   other in calculation requirements and timing. In the example on the slide, the
   baseline fix focuses on the Actual scenario, leaving all other scenarios uncalculated.




13-10                                       Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                 Lesson 13 Creating Calculation Scripts

 • Time frame: Do you want to calculate only the current fiscal year, only the current
   period, or all time periods? The baseline fix often includes a time qualification
   (especially for financial applications where data is calculated only for the current time
   frame). In the example on the slide, the baseline fix focuses on a substitution variable
   called CurYear, the value of which is set by the administrator. This fix limits the
   calculation to a specific year, leaving all other years uncalculated. Substitution
   variables are discussed in more detail in the next lesson.
 • Other dimensions: Do you need to limit your calculations to subsets of other
   dimensions? Limitation requirements vary greatly from database to database and
   from calculation to calculation. In the example on the slide, the IT expenses are not
   related to customer activity, so baseline fix limits the calculation to a special member
   of the Customer dimension called No Customer.
           NOTE
           Because Analytic Services requires you to reference data across all
           dimensions, it is common practice to add a member like No Customer to a
           dimension to represent data to which the dimension does not apply.


You can include fixes inside the baseline fix to provide a more refined focus. For
example, the normalization section on the slide includes internal fixes to focus
calculations on a specific account or entity.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      13-11
                                                                   Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




    Normalization Section

    Prepare data for
    consolidation:
        Allocate upper-level
        inputs to level 0 blocks
        Make adjusting entries
        Facilitate intercompany
        eliminations




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Normalization Section
You may need to manipulate or normalize data before you perform your main
consolidation. Various circumstances may require you to normalize data:
 • To allocate upper-level input data to level 0 (such as allocating IT expenses originally
   loaded to Corporate HQ to individual offices, as in the example on the slide)
 • To adjust input data (such as adjusting entries during month-end close)
 • To calculate intercompany eliminations
 • To correct or otherwise fix anomalous data (requirements vary depending on your
   database architecture and data load processes)




13-12                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 13 Creating Calculation Scripts

The normalization of IT expenses in the example on the slide is an allocation to individual
offices. Each allocation is based on a percentage (office headcount / total corporate
headcount * 100). Normalization is accomplished in three steps:
 1. Headcount is aggregated across the Locations dimension, up to the All Offices
    member:
   FIX (Headcount)
         @IDESCENDANTS ("All Offices");
   ENDFIX

 2. The input data for total IT Exp is allocated from the Corp HQ location to the IT Alloc In
    account of each individual office. The allocation is based on office headcount divided
    by total headcount:
   "IT Alloc In" = "Corp HQ"->"IT Exp" * (Headcount / Headcount->"All
      Offices");

 3. So IT expenses are not double-counted when the Locations dimension is
    consolidated, the input data for total IT Exp is offset in the Corp HQ location in an
    account called IT Alloc Out:
   FIX ("Corp HQ")
         "IT Alloc Out" = @SUMRANGE ("IT Alloc In", @IDESCENDANTS("All
      Offices"));
   ENDFIX




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       13-13
                                                                     Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




    Main Rollup Section

        Consolidates dimensions outside
        the baseline fix
        Creates major portion of data
        blocks
        Uses CALC DIM or CALC ALL
        commands




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Main Rollup Section
When all normalization calculations are complete, you are ready to consolidate
dimensions with a CALC ALL or CALC DIM command. The major portion of data blocks
are built at this time.
        NOTE
        Because CALC DIM calculates an entire dimension, the CALC DIM command
        cannot include dimensions that are used in the baseline fix section; the purpose of
        the baseline fix is to limit calculations to specific members of a dimension. By the
        same logic, you cannot use CALC ALL inside a fix statement.


The main rollup should calculate dimensions based on the optimal calculation order (that
is, dense dimensions followed by sparse dimensions).




13-14                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                                  Lesson 13 Creating Calculation Scripts




    Back Calculation Section

    Correct rates consolidated incorrectly



                                                                               Discount %
                                                                               aggregated
                                                                               across time




                                                             Rates derived at upper levels




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Back Calculation Section
If you use rates as calculation drivers or store ratio or percentage calculations you need
a back calculation section, to be applied after dimensions are consolidated. When
following the default calculation order, Analytic Services incorrectly aggregates rates,
ratios, and percentages at upper levels in the database. A back calculation derives or
recalculates rates, ratios, and percentages and thus corrects upper-level values.
In the example on the slide, Discount % is aggregated across time by the main rollup. A
back calculation derives the correct Discount % for Qtr 1.
Creation of a back calculation is discussed in more detail later in this lesson.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                  13-15
                                                                   Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




    Expected Versus Correct Results




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Expected Versus Correct Results
How Analytic Services calculates data during the main rollup does not necessarily result
in correct data. Identifying members likely to have incorrect results and correcting their
results is the process of creating a back calculation.
Types of members to watch for:
 • Calculated or input rates (such as prices, cost per unit, and other drivers)
 • Ratio calculations (such as Profit %, Margin %, % of Total, and so forth)
           NOTE
           Dynamically calculated ratio calculations do not require back calculation but
           may require two calculation passes. Dynamic ratios are discussed in more
           detail later in this lesson.




13-16                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                                 Lesson 13 Creating Calculation Scripts




    Expected Behavior


                                                                        CALC DIM (“Customer”,
             CALC DIM (“Year Tot”)                                            “Product”)




                 Level 0 Block                                                     Upper-Level Block
                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Expected Behavior
When designing a back calculation, you must understand how the calculator works
(expected behavior) and appreciate that the calculated results in some circumstances do
not yield correct answers (correct behavior).




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                       13-17
                                                Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts

How your database calculates during the main rollup phase of your calculation (using
CALC ALL or CALC DIM) is its expected behavior; expected behavior is based on outline
design. Using the optimal calculation order, the calculation processes in the following
sequence:
1. The Accounts dimension with its units, rates, dollars, and percentages calculates
   first. This calculation provides correct data in upper-level accounts across level 0
   members in the other dimensions. In the example on the slide, this step creates data
   for the Gross Sales and Gross Margin % accounts in Jan, Feb, and Mar for the level
   0 block.
2. Input and calculated accounts aggregate across all other dimensions in sequence. In
   the example on the slide, when Year Tot is calculated, Gross Sales data in Jan, Feb,
   and Mar correctly aggregates to provide Gross Sales of 104,800 for Qtr 1. However,
   the Gross Margin % and the input List Price in Jan, Feb, and Mar also aggregate for
   a Qtr 1 total of 82% and 600, respectively. When Customer and Product are
   calculated, List Price also aggregates across both of these dimensions, creating
   nonsensical totals for every time period in the “Current Year”->”Family
   Total”->”Channel Total” block.




13-18                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                                   Lesson 13 Creating Calculation Scripts




    Correction of Calculated Percentages

       Calculate dynamically                                               Before Recalculation

       Recalculate
        — Two-pass calculation
        — Back calculation




          After Recalculation or Dynamic Calculation




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Correction of Calculated Percentages
To return correct results for calculated percentages, you must calculate the percentage
or rate formula after you calculate the upper levels in every dimension. In the example on
the slide, you can calculate the correct Gross Margin % in Qtr 1 in the level 0 block by
dividing the Qtr 1 Gross Margin by the Qtr 1 Net Sales. Similarly, in the upper-level block,
you can calculate the correct Gross Margin % for “Family Total”->”Channel Total” by
dividing “Family Total”->”Channel Total”->”Gross Margin” by “Family Total”->”Channel
Total”->”Net Sales”.
There are several methods to correct percentages:




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                   13-19
                                                 Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts

 • Make percentages dynamic. Instead of storing percentage calculations, calculate
   percentage calculations on retrieval, using stored data. This is the easiest and most
   efficient solution, but if you have many dynamic members in your outline, especially
   in multiple dimensions, you may have trouble controlling the dynamic calculation
   order and may still see incorrect results in upper levels. For information about using
   dynamic calculations, see the Database Administrator’s Guide.
 • Tag percentages for two-pass calculation. Because ratios are dependent on the
   calculated values of other members, you can tag them with the two-pass flag, which
   instructs Analytic Services to recalculate their formulas in a second calculation pass
   after the preliminary consolidation. The second calculation pass is automatic when
   you use the CALC ALL command; when using CALC DIM to consolidate dimensions,
   you must include the CALC TWOPASS command to initiate the second calculation
   pass, as in the following example:
   /* The Main Rollup */
   CALC DIM (Accounts, “Year Tot”, Customer, Product);

   CALC TWOPASS;
          TIP
          Never include two-pass calculation and back calculation instructions in the
          same calculation script—both types of calculation require additional
          calculation passes on the data blocks, and using both significantly affects
          calculation performance. Only use two-pass calculation if back calculation is
          not required.


 • Recalculate percentages in a back calculation section. This method is a manual
   version of two-pass calculation. You should use this method if back calculation of
   rates is required in your calculation script. The following example shows a back
   calculation to correct Gross Margin %:
   /* The Main Rollup */
   CALC DIM (Accounts, “Year Tot”, Customer, Product);

   /* The Back Calculation */
   (




13-20                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                               Lesson 13 Creating Calculation Scripts

   “Gross Margin %” = “Gross Margin” / “Net Sales”;
   )

   A member formula, like the one for Gross Margin % in the preceding example, is a
   line in a calculation script that is used to assign a value to a member. However,
   because the formula for Gross Margin % is already stored in the outline, there is no
   need to restate it.
You can simplify the preceding example as follows:
   /* The Main Rollup */
   CALC DIM (Accounts, “Year Tot”, Customer, Product);

   /* The Back Calculation */
   (
   “Gross Margin %”;
   )




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                  13-21
                                                                   Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




    Correction of Rates

                     After Main Rollup




                                                                                  Jan + Feb + Mar




                                                                      After Back Calculation




     “Gross Sales” / Units


        Discounts / “Gross
              Sales”

                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Correction of Rates
With regard to units, rates, and dollars, you can design your data input and calculation
process in either of two ways:
 • Input units and dollars, with derived rates (dollars / units = rate). This method is
   common when you are working with actual data. For example, you input actual units
   sold and actual sales to derive an average list price.
 • Input units and rates, with calculated dollars (units * rate = dollars). This method
   is common in budgeting and forecast applications where you are working with drivers
   rather than actual data. For example, you input budgeted units and a budgeted list
   price to derive budgeted dollars.
With either option, you must derive rates after the main rollup because the main rollup
aggregates rates at upper levels in your dimensions. The method that you use to correct
a rate depends on whether the rate is originally an input rate or a derived rate.




13-22                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 13 Creating Calculation Scripts

Correction of Derived Rates
You use the same options with derived rates (rates calculated based on input dollars and
units) and calculated percentages, discussed in the previous topic:
 • Dynamically calculate the rate
 • Tag the rate for two-pass calculation
 • Recalculate the rate in a back calculation section

Correction of Input Rates
Input rates (rates used in a units * rates = dollars calculation scheme) require a different
calculation approach. Primarily, a different approach is required because input rates,
unlike derived rates, have no inherent member formulas to recalculate after the main
rollup section. As a result, you must correct input rates by using a back calculation
method that essentially overwrites input data with a derived rate formula (rate = dollars /
units). This method is possible because dollars and units aggregate correctly during the
main rollup, even though rates do not.
The following is an example of a back calculation to correct List Price and Discount %
values in the example on the slide:
   /* The Main Rollup */
   CALC DIM (Accounts, “Year Tot”, Customer, Product);

   /* The Back Calculation */
   (
   “List Price” = “Gross Sales” / Units;
   “Discount %” = Discounts / “Gross Sales”;
   )




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      13-23
                                                                     Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




    Troubleshooting CALC DIM

    To ensure multiple calculation                                     Single Calculation Pass Script
    passes:                                              /* The Main Rollup */
        Turn off intelligent calculation                 CALC DIM (Accounts, “Year Tot”,
                                                         Customer, Product);
        Group back calculation                           /* The Back Calculation */
        formulas in parentheses
                                                         “List Price”=“Gross Sales”/Units;
                                                         “Discount %”=Discounts / “Gross Sales”




              Correct Level 0 Block                                        Incorrect Upper-Level Block

                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Troubleshooting CALC DIM
When you consolidate a database using the CALC DIM command, Analytic Services
attempts to calculate the database in one calculation pass. However, for a back
calculation to return correct results, the formulas need to be calculated in a second pass
on the data blocks. To ensure a second calculation pass, you must do the following:
 • Turn intelligent calculation off. Intelligent calculation marks blocks that are
   calculated on the first calculation pass and does not recalculate them on a second
   calculation pass. Intelligent calculation is discussed in more detail in Lesson 15 of
   this manual.
 • Group back calculation formulas inside parentheses (). Grouping formulas inside
   parentheses forces Analytic Services to perform the enclosed back calculation
   formulas in a separate calculation pass.




13-24                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                   Lesson 13 Creating Calculation Scripts

Viewing Calculation Messages
When you calculate a database, Analytic Services automatically displays the calculation
order of the dimensions for each pass through the database and tells you how many
times Analytic Services cycled through the database during the calculation. Analytic
Services displays this information in the application log.


To view the application log:
 1. In the navigation frame in Administration Services Console, right-click the application
    node.
 2. Select View > Log.
         The Log Viewer Options dialog box is displayed.
 3. Select one of the following:
   • To display the entire application log file, select Display log.
   • To display only a specific date, select Starting date, and then, from the drop-down
     list, select a date. .
 4. Click OK.
         Log Viewer is displayed.
 5. To see the most recent log messages, scroll to the end of the log file.

Example: Single-Pass Calculation with Incorrect Results
The Bigcorp Sales database uses an input List Price to calculate Gross Sales, and an
input Discount % to calculate Discounts. These rates require a back calculation to
correct the values aggregated to upper levels. However, the following calculation script
results in a single database pass:
/* Housekeeping */
SET UPDATECALC OFF;

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

/* The Back Calculation */
"List Price" = "Gross Sales" / Units;
"Discount %" = Discounts / "Gross Sales";




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     13-25
                                                  Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts

When you run the preceding calculation script, Analytic Services performs all dense
calculations in input-level blocks, including the formulas for List Price and Discount %.
Then it performs all sparse calculations, creating upper-level blocks in which rates are
aggregated. Among the application log messages for this procedure is the following
message, showing a single calculation pass:
[Thu Aug 25 11:51:56 2005]Local/Bigcorp/Sales/trnadmin/Info(1012669)
Calculating [ Accounts(All members) Year Tot(All members) Accounts(List
   Price,Discount %) Customer(All members) Product(All members)]

Example: Multiple-Pass Calculation with Correct Results
When you enclose the back calculation in the preceding script in parentheses, you force
Analytic Services to perform a second calculation pass. With this modification, Analytic
Services performs the dense calculations in input-level blocks, creates upper-level
blocks, and then, in a second calculation pass, derives List Price and Discount % in all
resulting blocks.
The following example shows the modified script:
/* Housekeeping */
SET UPDATECALC OFF;

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

/* The Back Calculation */
(
"List Price" = "Gross Sales" / Units;
"Discount %" = Discounts / "Gross Sales";
)


Among the application log messages for this procedure is the following message,
showing two calculation passes:
[Thu Aug 25    14:54:17 2005]Local/Bigcorp/Sales/trnadmin/Info(1012669)
Calculating    [ Accounts(All members) Year Tot(All members) Customer(All
   members)    Product(All members)]
[Thu Aug 25    14:54:18 2005]Local/Bigcorp/Sales/trnadmin/Info(1012669)
Calculating    [ Accounts(List Price,Discount %)]




13-26                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                               Lesson 13 Creating Calculation Scripts




            Summary
            In this lesson, you should have learned to:
            • Organize calculation scripts
            • Return correct calculation results
            • Troubleshoot incorrect calculation results produced by the CALC DIM
              process




Hyperion System 9 BI+ Essbase Analytics Bootcamp                               13-27
                                             Module 4 Creating Basic Calculations
Lesson 13 Creating Calculation Scripts




13-28                            Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    1 4

Controlling the Calculation Process                    14




Objectives
After completing this lesson, you should be able to:
 • Describe top-down calculation
 • Focus calculations with FIX statements
 • Calculate conditionally with IF statements
 • Compare FIX and IF calculation processes
 • Reference members explicitly and dynamically
 • Create and use variables in calculations
                                                 Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




Top-Down Calculation
In contrast to spreadsheet formulas, in which every calculated cell needs a formula, the
Analytic Services block storage database calculator has a top-down approach to
calculation. Unless otherwise restricted, every dense member formula in a calculation
script is executed in every data block in the database.
For example, each data block in the Bigcorp Sales database has 17 cells for Net Sales,
one for each time period. The following member formula is executed for each intersection
of Net Sales with a time period in every existing data block:
“Net Sales” = “Gross Sales” - Discounts;

If 5000 data blocks exist, Analytic Services calculates 850,000 cells (17 cells in 5000
blocks) with one line of script. This top-down calculation capability enables you to
accomplish a large amount of computing while writing and debugging only a few lines of
script.



14-2                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                        Lesson 14 Controlling the Calculation Process

A major element of calculation script drafting is understanding how to focus top-down
calculations. Analytic Services provides three principal methods for focusing
calculations:
 • FIX statements
 • IF conditional statements
 • Cross-dimensional operators (->)




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                   14-3
                                                   Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




Focusing Calculations with FIX
FIX is one of three principal methods in block storage database calculations for focusing
the scope of calculations. A FIX statement restricts database calculations to a subset of the
database. All commands nested between the FIX and ENDFIX commands are restricted to
the specified database subset. A complete FIX statement has the following syntax:
FIX (fixMbrs)
Commands;
ENDFIX

The fixMbrs argument is a member name or a list of member names from any number of
database dimensions. fixMbrs can also contain AND and OR operators and member set
functions:
 • AND and OR operators. Use the AND operator when all conditions must be met. Use
   the OR operator when one of several conditions must be met.
 • Member set functions. Use to build member lists.

14-4                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                         Lesson 14 Controlling the Calculation Process

In the example on the slide, the formula for Net Sales is restricted to Budget data blocks
for Retail and its children. The member set function @ICHILDREN is used to dynamically
reference multiple members, and the comma between Budget and @ICHILDREN(Retail)
serves as an AND connector.
When using FIX statements in your calculation script, keep the following in mind:
 • You can nest FIX statements within FIX statements without limitation, as in the
   following example:
   FIX(“Current Year”, Feb)
         FIX(“Net Sales”)
            CALC DIM (Product, Customer);
         ENDFIX
         (“List Price” = “Gross Sales” / Units;)
   ENDFIX

 • Members listed in the fixMbrs argument are not calculated by the FIX statement, but
   serve to focus the calculations inside the FIX statement.
 • If members of a dimension are listed in the fixMbrs argument, you cannot calculate
   members from that dimension in FIX statement commands. In the following example,
   the Year Tot dimension member Jan is one of the fixMbrs arguments. This argument
   uses a Year Tot dimension member to focus calculations, so including Year Tot in the
   CALC DIM command is invalid:
   FIX(“Current Year”, Jan)
         CALC DIM (Accounts, “Year Tot”, Customer, Product);
   ENDFIX




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     14-5
                                                 Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




Calculating Conditionally with IF
The second method for focusing calculations is an IF statement, which performs
conditional tests within a formula. Using an IF statement, you can define Boolean tests,
as well as formulas to be calculated if the test returns either a TRUE or FALSE value.
The syntax for an IF statement is as follows:
IF (condition)
   command;
   [command;]
[ELSEIF (condition)
   command;]
[ELSE
   command;]
ENDIF




14-6                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                        Lesson 14 Controlling the Calculation Process

The condition argument is a formula or function that returns a Boolean value of TRUE (a
nonzero value) or FALSE (a zero value). The following are examples of valid conditions:
 • “Net Sales” > 10000: Returns a TRUE result if Net Sales is over 10000
 • Units == 1000: Returns a TRUE result if Units is equal to 1000
          TIP
          Use double equal signs (==) in conditions to test for equality. In calculation
          scripts, a single equals sign (=) assigns a value to a member.


 • @ISMBR(Jan): Returns a TRUE result if the member being calculated is Jan (The
   function @ISMBR is one of many Boolean functions available for conditional testing.)
You can include additional conditions by adding an ELSEIF branch to the IF statement,
and you can also define commands to be executed when none of the conditions are true
by including an ELSE branch in the IF statement.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      14-7
                                                                  Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




       Boolean Functions

                                                 TRUE            Is the current           FALSE
                                                                 product level
                                                                       0?



                    TRUE         Is the current                                                No
                                                                FALSE
                                  customer a                                               calculation
                                 child of OEM?


                                               TRUE                 Is the current         FALSE
    Discounts=“Gross Sales” *                                        customer a
    “OEM Disc%”;                                                   child of Retail?



                      Discounts=“Gross Sales” *                                    Discounts=“Gross Sales” *
                      “Retail Disc%”                                               “Discount %”;




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Boolean Functions
Each Boolean function is a test that returns TRUE or FALSE (1 or 0, respectively). You
can use Boolean functions in conjunction with the IF command to provide a conditional
test that is based on characteristics of the current member combination.
For example, if you want to restrict calculation to level 0 members of a dimension, you
can use @ISLEV(dimName, 0) for the conditional test in your IF statement. If one of the
function parameters is a cross-dimensional member—for example,
@ISMBR(Jan->Budget)—all parts of the cross-dimensional member must match all parts
of the current cell to return a value of TRUE.




14-8                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                          Lesson 14 Controlling the Calculation Process

The example on the slide is a diagram of the IF logic in the following statement, which
uses Boolean functions for conditions. The questions on the slide represent the logical
test Analytic Services performs when it encounters each Boorlean function:
IF(@ISLEV(Product,0))
   IF (@ISCHILD(OEM))
      Discounts = “Gross Sales” * “OEM Disc%”;
   ELSEIF (@ISCHILD(Retail))
      Discounts = “Gross Sales” * “Retail Disc%”;
   ELSE
      Discounts = “Gross Sales” * “Discount %”;
   ENDIF
ENDIF

All Boolean functions start with @IS, indicating a conditional test. The following quick-
reference table shows the most commonly used Boolean functions. For details about
each function, see the online Technical Reference.

 Function                    Condition Tested
 @ISCHILD(member)            Whether the current member is a child of member
 @ISDESC(member)             Whether the current member is a descendant of member
 @ISICHILD(member)           Whether the current member is a child of member or is member
 @ISIDESC(member)            Whether the current member is a descendant of member or is
                             member
 @ISGEN(dimension,           Whether the current member of dimension is in generation
 generation)
 @ISLEV(dimension, level)    Whether the current member of dimension is in level




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        14-9
                                                                     Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




    Syntax Requirements for IF Statements

        IF Statement in an Outline Member Formula




                                      Units
                                      (
                                      IF(@ISMBR(Budget))
                                              Units = "Prior Year" * 1.1;
                                              "List Price" = "Prior Year" * 1.25;
                                              "Discount %" = "Prior Year" * .90;
                                      ENDIF
                                      )

                                                       Same IF Statement in a Calculation Script
                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Syntax Requirements for IF Statements
In the outline, an IF statement can assign values to members in addition to the member
that you are calculating. For example, in the outline member formula shown on the slide,
an IF statement for the member Units assigns a value not only to Units but also to List
Price and Discount %. When Analytic Services calculates Units, it evaluates the
condition in the IF statement, and then assigns values to all three accounts.
When used in calculation scripts, IF statements must be enclosed in a calculation
member block. A calculation member block relates a group of formulas to a single
member, thus creating a process similar to the one described in the preceding example,
where a single member formula assigns values to multiple members. The syntax
requirements for a calculation member block are as follows:
 • You must enclose IF statements in parentheses.




14-10                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                       Lesson 14 Controlling the Calculation Process

 • You must precede the open parentheses with a single anchor member name (without
   a semicolon). As a best practice, use the member specified in the first member
   formula calculated inside the block as the anchor member.
          TIP
          Each calculation member block represents a separate calculation pass on the
          data blocks, so, for the sake of efficiency, collect all IF statements in one
          calculation member block. You can enclose an unlimited number of IF
          statements in a calculation member block.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                 14-11
                                                                   Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




    Comparing FIX and IF

    The calculations produce the same results, but which is faster?

        Units                                                   FIX (Sep)
        (                                                          Units=@PRIOR(Units, 1);
        IF(@ISMBR(Sep))                                         ENDFIX
           Units=@PRIOR(Units, 1);
        ENDIF                                                   FIX (Oct)
                                                                   Units=@PRIOR(Units, 2)*1.1;
        IF(@ISMBR(Oct))                                         ENDFIX
           Units=@PRIOR(Units, 2)*1.1;
        ENDIF
        )

                                                                                            Units
                                                                                 Aug       100
                                                                                 Sep       100
                                                                                 Oct       110


                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Comparing FIX and IF
With some exceptions, you can execute the same commands with FIX and IF
statements. The guidelines for when to use FIX and when to use IF are performance-
related. Using IF when you should use FIX or FIX when you should use IF has a serious
impact on calculation performance. The performance differences between the
statements are determined by how many data blocks are affected and how many
calculation passes are required.

Data Blocks Processed
FIX statements are index-driven; thus, the members on which you fix determine which
data blocks are brought into memory for the purpose of calculating the commands inside
the FIX statement.
For example, in Bigcorp Sales, the Scenario dimension is sparse. Therefore, in the
following script, only data blocks with Current Year as part of their index entry are
brought into memory for calculation; data blocks for Forecast, Budget, and Prior Year are
bypassed.

14-12                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                         Lesson 14 Controlling the Calculation Process

FIX (“Current Year”)
   CALC DIM (Accounts, “Year Tot”, Product, Customer);
   (
   “List Price” = “Gross Sales” / Units;
   )
ENDFIX
       TIP
       While fixing on sparse dimension members limits the data blocks to be calculated,
       fixing on dense dimension members does not—dense dimension members exist
       in every data block.


By contrast, IF is not index-driven; IF statements are interpreted formulas, executed
inside a calculation member block. Thus, all data blocks are brought into memory when
IF logic is applied, regardless of whether the condition is based on sparse or dense
dimension members.

Calculation Passes
Each FIX statement represents one calculation pass. Similarly, each calculation member
block is one calculation pass. However, because a single calculation member block can
contain an unlimited number of IF statements, you can evaluate multiple conditions in
one pass. This behavior becomes especially important when you evaluate multiple
dense dimension conditions.
In the example on the slide, the calculations produce the same result: In September,
Units is equal to August units, and, in October, Units is equal to 110% of August units.
If you use the IF example, all data blocks are brought into memory, and, as each block is
processed, Analytic Services assigns values to September and October. If you use the
FIX example, two statements and, thus, two passes through the database are required.
During each pass, all data blocks are brought into memory because Year Tot is a dense
dimension. Obviously, in this situation, an IF statement results in much better
performance than a FIX statement.

Other Considerations
IF statements must be executed within a calculation member block. Within a calculation
member block, you can execute only member formulas. Thus, in an IF statement, you
cannot use calculation commands such as CALC ALL, CALC DIM, AGG, or FIX.
However, you can use IF statements as commands inside FIX statements.
Keep the following guidelines in mind:
 • Use FIX statements when the arguments are members of sparse dimensions.
 • Use IF statements when the arguments are members of dense dimensions.
 • To reduce the number of calculation passes, use IF statements even with sparse
   dimensions.

Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    14-13
                                                 Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




Referencing Members Explicitly
The third method for focusing the scope of calculations is using cross-dimensional
operators to reference specific member combinations.
FIX and IF statements are typically used to focus a series of member formulas. Cross-
dimensional operators are used within a single member formula. The syntax rules for
using cross-dimensional operators are as follows:
 • A cross-dimensional operator is a minus sign (-) followed by a greater-than sign (>),
   with no space between the signs.
 • Cross-dimensional operators connect members from different dimensions (for
   example, “Current Year”->Units->Jan). No spaces are allowed between member
   names and cross-dimensional operators.
 • The order of members has no bearing on calculation. Jan->Units operates the same
   as Units->Jan.



14-14                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                         Lesson 14 Controlling the Calculation Process

 • A cross-dimensional statement can have only one member from each dimension.
   There can be as many members in the statement as there are dimensions.
Used in formulas, the cross-dimensional operator focuses the calculation on specific
member combinations. In the example on the slide, Bigcorp analysts want to calculate
the ratio of product units sold to individual customers to the product units sold to all
customers. Using the following formula, you facilitate cross-block calculations and
ensure that the denominator in the ratio calculation comes from a Channel Total block:
“Unit Mix by Cust” = Units / Units->”Channel Total”;

Analytic Services uses the members of the cell currently being calculated for any
dimensions that are not referenced explicitly in the cross-dimensional statement. For
example, when Analytic Services calculates Unit Mix by Cust for January in the Current
Year->Acer->Lightbolt 365 A data block, it executes the following calculation:
Units->Jan->”Current Year”->Acer->”Lightbolt 365 A” / Units->Jan-
   >”Current Year”->”Channel Total”->”Lightbolt 365 A”

The member names in italics are specific to the current cell and change as the cell being
calculated changes.
      NOTE
      The formula for Unit Mix by Cust is a calculated percentage that is dependent on
      upper-level consolidated data. You must therefore follow the rules for calculated
      percentages when considering the calculation order of the formula. For more
      information about calculated percentages, see Lesson 13 of this manual.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    14-15
                                                  Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




Referencing Members Dynamically
Although the cross-dimensional operator is useful for fixed references in calculations,
many common calculations require a more dynamic approach. Analytic Services has an
inherent understanding of member position and member relationships within the
dimension hierarchy and provides two categories of functions that take advantage of this
understanding:
 • Member set functions: Generate lists of members based on input values
 • Relationship functions: Find values in related members based on the position of
   the current member
In the example on the slide, Bigcorp analysts want another Unit Mix ratio, but Unit Mix by
Chan is based on the units of the current customer in relation to the units of the channel
of the current customer; OEM customers in relation to the OEM total, Retail customers in
relation to the Retail total, and so on. You can provide the ratio that Bigcorp analysts
want by using member set functions or relationship functions.


14-16                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 14 Controlling the Calculation Process




    Member Set Functions

       Generate a list of members for calculation
       Are commonly used as arguments in FIX statements and other
       functions


                 FIX(@ICHILDREN(OEM))
                    “Unit Mix by Chan” = Units / Units->OEM;
                 ENDFIX

                 FIX(@ICHILDREN(Retail))
                    “Unit Mix by Chan” = Units / Units->Retail;
                 ENDFIX

                 FIX(@ICHILDREN(Distributor))
                    “Unit Mix Chan” = Units / Units->Distributor;
                 ENDFIX




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Member Set Functions
A member set function returns a list of members, based on the function that you use and
the member that you specify in the function. When you use a member set function as
part of a formula, Analytic Services generates the list of members dynamically from the
outline hierarchy before the calculation begins. The list is based on the specified member
and is independent of the current member being calculated.
Member set functions are commonly used as arguments in FIX statements, because
they provide a way to reference many members without specifying every member name.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           14-17
                                                     Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process

The following quick-reference table shows the most commonly used member set
functions. For details about each function, see the online Technical Reference.

 Function                       Return Value
 @ALLANCESTORS(member)          All ancestors of member (including ancestors of shared
                                member)
 @CHILDREN(member)              Children of member
 @DESCENDANTS(member,           All descendants of member or all descendants of
 distance)                      member down to an optional specified distance
 @SIBLINGS(member)              Siblings of member
 @UDA(dimension, UDA)           Members of dimension that have UDA


A member set function that starts with an “I” (for example, @ICHILDREN or @ISIBLINGS)
includes the input member in the list of members that it generates.
The script example on the slide shows how to return a correct Unit Mix by Chan ratio for
each channel: In each of multiple FIX statements, focus on a channel and its children by
using the member set function @ICHILDREN. Inside the FIX statement, calculate Unit Mix
by Chan with an explicit reference to the channel that is the focus of the current FIX
statement.
While this approach returns correct results, it requires many lines of repetitive script and
has a higher maintenance cost—if you add a channel to your outline, you must add a FIX
statement to your script. In this instance, relationship functions provide a better solution.
        NOTE
        Another way to generate a list of members is to use generation or level ranges,
        which return a sequential set of members, all from one dimension and all residing
        at the same level or generation. The : operator returns level-based ranges, and
        the :: operator returns generation-based ranges. For example, in Bigcorp Sales,
        Jan:Dec returns all level 0 time periods from Jan through Dec. The statement
        IBM::Gateway returns all generation 4 customers from IBM through Gateway.




14-18                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 14 Controlling the Calculation Process




    Relationship Functions

    Reference values related to the current member:
      Parents
      Ancestors at a specific level or generation


         “Unit Mix by Chan” = Units /
         @ANCESTVAL(Customer,3,Units);



                                                             Generation 3
                                                              Customers




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Relationship Functions
Relationship functions look up specific values in the database based on the current cell
location and a series of input parameters. They have an implicit current member
argument; that is, they are dependent on the position of the member currently being
calculated.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           14-19
                                                  Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process

The following quick-reference table shows the most commonly used relationship
functions. For details about each function, see the online Technical Reference.

 Function                       Return Value
 @ANCESTVAL(dimension,          Value of member from the GenLevNum (generation or level
 GenLevNum [, member])          specification) ancestor of the current member of dimension.
                                For example, @ANCESTVAL(Product, 3, “Net Sales”)
                                returns the Net Sales account value from the generation 3
                                ancestor of the current Product member.
 @PARENTVAL(dimension [,        Value of member from the parent of the current member of
 member])                       dimension. For example, @PARENTVAL(Customer, Units)
                                returns the Units account value from the parent of the
                                current Customer member.


In the Unit Mix by Chan example for Bigcorp Sales, you want to divide each customer’s
units by the total units for the customer’s channel, and you want to reflect a value of
100% for each channel. Because all customer channels are generation 3 members of
the Customer dimension, you can accomplish both objectives with the following line of
script, which uses a relationship function:
“Unit Mix by Chan” = Units / @ANCESTVAL(Customer, 3, Units);

For example, when Analytic Services calculates Unit Mix by Chan for January in the
Current Year->Acer->Lightbolt 365 A data block, it executes the following calculation:
Units->Jan->”Current Year”->Acer->”Lightbolt 365 A” /
   Units->Jan->”Current Year”->OEM->”Lightbolt 365 A”

And, when Analytic Services calculates Unit Mix by Chan for January in the Current
Year->Gateway->Thunderball 540 S data block, it executes the following calculation:
Units->Jan->”Current Year”->Gateway->Thunderball 540 S /
   Units->Jan->”Current Year”->Retail->”Thunderball 540 S”




14-20                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                  Lesson 14 Controlling the Calculation Process




    Calculation Variables

    Temporary Variables
     VAR RetDisc = 1.005
     FIX(@CHILDREN(Retail))
         Discounts = Discounts * RetDisc;
     ENDFIX




    Substitution Variables
     FIX(@CurYear)
         “Cur Mo Vs Prior” = @VAR( &CurrMonth, &PriorMonth);
     ENDFIX




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Calculation Variables
In the calculation process, Analytic Services supports two types of variables:
 • Temporary variables: store the results of intermediate calculations (supported only
   in calculation scripts)
 • Substitution variables: substitute for a text or numeric value stored on Analytic
   Server (supported in calculation scripts and other interfaces)




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           14-21
                                                                    Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




    Temporary Variables

        Store intermediate calculations
        Reduce script complexity
        Improve performance


                                   VAR




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Temporary Variables
You can declare temporary variables and set their values in calculation scripts to store
the results of intermediate calculations.
Values stored in temporary variables exist only while the calculation script is running;
thus, you cannot report the values of temporary variables.
The benefit of using temporary variables is two-fold:
 • You need to create and validate a complex formula only once, in your variable
   definition, rather than repeating and re-validating the formula multiple times in one
   calculation script.
 • Analytic Services calculates a complex formula only once for each data block,
   regardless of how many times the script references the formula, thereby reducing
   calculation time.




14-22                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                         Lesson 14 Controlling the Calculation Process

Setting up and using temporary variables involves three steps:
 1. Declare variables. In the housekeeping section of the calculation script, use the
    VAR (not @VAR) command and a variable name of your own construction. For
    example, you develop a script in which you want to create a variable numeric
    constant for TaxRate. In the script, you allocate budget data for multiple accounts
    based on a standard allocation ratio, so you create a variable to temporarily store the
    allocation ratio. In the following example, both variables are declared.
   /* Housekeeping */
   /* Declare Variables */
   VAR TaxRate;
   VAR AllocUnits;

 2. Assign values to variables. For a numeric-constant variable, you can assign a
    value when you declare the variable or in a member formula. For variable definitions
    that reference member names in the outline, the definition must follow the syntax
    rules of calculation member blocks. In the following example, the TaxRate variable is
    assigned a numeric value in the housekeeping section, but the allocation ratio is
    defined later in the script in a calculation member block.
   /* Housekeeping */
   /* Declare and Define Variables */
   VAR TaxRate = .0825;
   VAR AllocUnits;
   ...

   Units
   (
   AllocUnits = Units / Units->”Family Total”->”Channel Total”;
   )

 3. Use predefined variable values in subsequent member formulas. After you
    define a variable, you can use the variable name wherever the variable definition is
    required. In the following example, taxes are calculated using the TaxRate variable,
    and costs are allocated using the AllocUnits variable.
   /* Housekeeping */
   /* Declare and Define Variables */
   VAR TaxRate = .0825;
   VAR AllocUnits;
   ...
   Units
   (
   AllocUnits = Units / Units->”Family Total”->”Channel Total”;



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     14-23
                                                Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process

   “Material Costs” = “Material Costs”->”Family Total”->”Channel Total”
       * AllocUnits;
   “Labor Costs” = “Labor Costs”->”Family Total”->”Channel Total” *
       AllocUnits;
   “Overhead Costs” = “Overhead Costs”->”Family Total”->”Channel Total”
       * AllocUnits;
   ...
   )

   Taxes = “Profit” * TaxRate;




14-24                            Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                                   Lesson 14 Controlling the Calculation Process




    Substitution Variables

         Act as global placeholders
         Are supported in calculation scripts, reports, and other interfaces
         Reduce maintenance

                                                                                     3       4   5

     1




                                             2


                                                                                         6


                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Substitution Variables
Substitution variables act as global placeholders for information that changes regularly.
For example, in a calculation script, if you want to calculate the current month, you have
to update the script manually every month. With a substitution variable, such as
CurMonth, set on the server, the value identified as the current month is changed each
month. You use the variable name in your calculation script, and the information is
dynamically updated when you run the calculation.
Unlike temporary variables, you can use substitution variables not only in calculation
scripts but also in reporting interfaces. Analytic Services Release 9.0 and higher also
supports the use of substitution variables in the following areas:
 • Outline member formulas
 • Security filters
 • Partition definitions



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                     14-25
                                                   Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process

 • MDX statements
 • Rules file specifications for data source name (DSN) definitions when using SQL
   Interface
 • Rules file field definitions
The benefit of using substitution variables for values that change over time is that you
maintain the variable in one place, rather than in multiple calculation scripts,
spreadsheets, reports, formulas, and security definitions; thus, you reduce maintenance
requirements.

Creating and Setting Substitution Variables
You can create and set substitution variables on instances of Analytic Server by using
Administration Services Console, MaxL, or ESSCMD. Set the variable at any of the
following levels:
 • Analytic Server: provides access to the variable from all applications and databases
   on an instance Analytic Server
 • Application: provides access to the variable from all databases within the
   application
 • Database: provides access to the variable only from the specified database


To create and set substitution variables in Administration
Ser vices Console:
 1. In the navigation frame of Administration Services Console, right-click an Analytic
    Server name.
 2. Select Edit > Variables.
         The Substitution Variables dialog box is displayed.
 3. Do one of the following:
   • For a server-level variable, do not select anything from the application and
     database drop-down lists.
   • For an application-level variable, select an application from the application drop-
     down list, but do not select anything from the database drop-down list.
   • For a database-level variable, select an application and database from the drop-
     down lists.
 4. In the Variable text box, enter a variable name.



14-26                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 4 Creating Basic Calculations
                                          Lesson 14 Controlling the Calculation Process

 5. In the Value text box, enter a variable value.
 6. Click Set.

Using Substitution Variables in Calculations
To reference substitution variables in calculation scripts, enter the substitution variable
name prefaced with an ampersand (&) in any place that you would use a regular member
name. When you execute the calculation script, Analytic Services automatically
substitutes the substitution variable value for the substitution variable and then performs
the calculation.
For example, you set up substitution variables called CurMonth and NextMonth for
Bigcorp Sales. You use the variables to create a calculation for the Rolling Forecast
scenario that copies actual data into time period members from Jan through the current
month and copies forecast data into time period members from the next month through
Dec, creating a moving forecast horizon:
FIX (Jan:&CurMonth)
   DATACOPY “Current Year” TO “Rolling Forecast”;
ENDFIX

FIX (&NextMonth:Dec)
   DATACOPY Forecast TO “Rolling Forecast”;
ENDFIX




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     14-27
                                                Module 4 Creating Basic Calculations
Lesson 14 Controlling the Calculation Process




            Summary
            In this lesson, you should have learned to:
            • Describe top-down calculation
            • Focus calculations with FIX statements
            • Calculate conditionally with IF statements
            • Compare FIX and IF calculation processes
            • Reference members explicitly and dynamically
            • Create and use variables in calculations




14-28                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
M O D U L E    5

Advanced Calculations                                                        14




Overview
In this module, you are introduced to advanced calculation concepts. You
learn best practices for the calculation development cycle, how to handle
upper-level data loading, and how intelligent calculation processes data
compared to regular calculation. You are also introduced to the process of
normalizing data, how to develop normalization tables and cube diagrams,
and the different ways to allocate data.
Lessons in this module include:
 • Developing and Testing Calculation Scripts
 • Normalizing Data
L E S S O N    1 5

Developing and Testing Calculation
Scripts                                                      15




Objectives
After completing this lesson, you should be able to:
 • Develop calculation scripts
 • Describe methods of working with upper-level data loads
 • Describe intelligent calculation
                                                      Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts




Script Development Process
When you draft calculation scripts, avoid developing and testing them on your full
database. Because of the complexities of calculating in a multidimensional environment,
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 Analytic Services data structure, where calculation dependencies
   are complex and multidimensional impacts may not be immediately obvious.




15-2                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                 Lesson 15 Developing and Testing Calculation Scripts

 • Real-world data is often more difficult to audit than test data. During initial
   development of 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
   real-world data.
The calculation script development process has two phases:
1. Prototype Phase: You develop scripts and test them for baseline accuracy.
2. Pilot Phase: You test scripts for performance and capture of exception conditions.
          TIP
          After you finish building your outline, you should separate the calculation
          script development process from the load rule development process to avoid
          cross-contamination of the data sets required for the processes.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      15-3
                                                                              Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts




       Calculation Test Cycle

                                                           1

                                             CLEARBLOCK ALL;

                                                                                             2
                 Changed
                Calculation
                  Script                                Test
                                                        Cycle




                                         4                                     3




                               © 2005 Hyperion Solutions Corporation. All Rights 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 Analytic Services calculates every possible result for your calculation
script, you can turn off intelligent calculation. Intelligent calculation interferes with
subsequent calculations if Analytic Services has marked a particular data block as
calculated.
It is common practice to disable intelligent calculation with the SET UPDATECALC OFF
command in the housekeeping section of your script.
The full impact of intelligent calculation is discussed in more detail later in this lesson.



15-4                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                  Lesson 15 Developing and Testing Calculation Scripts

Implementing Test Cycles
Every time you change your script and need to test calculation results, follow these
steps:
 1. Clear all data from the database.
 2. Load calculation test data.
 3. Execute your calculation script.
 4. Audit your calculation results.
If you follow this formalized test cycle every time you test a calculation script, you ensure
the following:
 • 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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        15-5
                                                                             Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts




       Prototype Phase




                                                                                            Input Sheet




          Audit Sheet




                              © 2005 Hyperion Solutions Corporation. All Rights 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.




15-6                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                   Lesson 15 Developing and Testing Calculation Scripts

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 take too much time to calculate
and audit.


To create a simple data set for prototyping:
 1. In Excel, create a spreadsheet workbook with one or more input worksheets that
    represent a focused set of accounts to be tested against a representative cross-
    section of sparse dimension members.
           TIP
           In your input worksheets, use only members to which you load data. For
           example, if Qtr 1 is a calculated member, do not reference Qtr 1 in your input
           sheet. If your input levels vary, you can create multiple input spreadsheets in
           one workbook.


 2. Enter your test data into the blank input sheets.
           TIP
           For easier auditing, use multiples of 100 or 1000 or similar simple numbers for
           which it is easy to trace a series of calculation dependencies.



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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         15-7
                                                        Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts

 • 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, add an equals sign (=)
   before the number—this converts the number to an Excel formula.)
 • Comparison of Analytic Services calculation results and expected calculation results:
   Excel formulas calculating the difference between Analytic Services results and static
   data (This section enables you to quickly and easily see where Analytic Services
   results vary from expected results.)
You can implement these three sections on one audit worksheet, or create an audit
worksheet for each section.

Implementing Draft and Test 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:
 • Create a separate calculation script with only the command CLEARBLOCK ALL to clear
   your database. This way, you can complete the entire calculation test cycle from
   Excel, using the capabilities of Essbase Spreadsheet Add-in or Smart View 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 Essbase Spreadsheet Add-in to lock and send the data on your input sheets, or
   use Smart View to submit data.
 • Before you execute your prototype calculation script, retrieve from your Analytic
   Services calculation results audit sheets. With this retrieval, you verify the input data
   that you loaded.
 • After calculation, use the Flashback feature in Essbase Spreadsheet Add-in or the
   Undo feature in Smart View to revert to the input data in your spreadsheet.




15-8                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                  Lesson 15 Developing and Testing Calculation Scripts




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.
The following tips can help you optimize the performance of your calculation scripts:



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        15-9
                                                          Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts

 • Minimize the number of calculation passes in your script. Two calculation passes on
   a given set of data blocks require twice as much time as one pass, so use the pilot
   phase to ensure that all calculations that can be grouped are performed in a single
   pass.
 • For each calculation pass, minimize the number of blocks that Analytic Services
   calculates. If Analytic Services does not need to calculate every existing data block,
   use FIX statements to focus calculation on only the necessary blocks.
 • Revise sparse and dense storage settings to reflect your final calculation
   requirements.
 • Revise dynamic calculation (versus batch calculation) approaches to reflect your final
   calculation requirements.
 • Determine whether your calculation returns correct results with intelligent calculation
   turned on, thus minimizing the number of data blocks required for calculation. The full
   ramifications of intelligent calculation are discussed later in this lesson.

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 typically require rules files to load. Also,
the volume of real data tends to be significantly higher than the volume of test data, a
difference that increases calculation times.
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 operations that you ordinarily follow in production. For example,
upload data from the G/L, make outline modifications, and then run your calculation.



15-10                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                 Lesson 15 Developing and Testing Calculation Scripts

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 like the following
example, which clears the database, loads data files, and then runs a calculation script.
The entire process is spooled to a log file, which shows database statistics before and
after calculation.
/****************************************************************/
/* This MaxL script clears and then loads data to the                               */
/* Bigcorp Sales database for testing calculation scripts.                          */
/* Variables:                                                                       */
/* $1 = user name                                                                   */
/* $2 = password                                                                    */
/****************************************************************/

/* ****************************************/
/* CREATE PROCESS LOG AND LOGIN TO SERVER */
/* ****************************************/

spool on to 'c:\temp\output.txt';
login $1 $2 on 'localhost';

/* ***********************************************************/
/* Activate and then clear data from Bigcorp Sales database */
/* ***********************************************************/

alter system load application 'Bigcorp';
alter application 'Bigcorp' load database 'Sales';
alter database 'Bigcorp'.'Sales' reset;

/* ***************************************/
/* Load data files                       */
/* ***************************************/

import database 'Bigcorp'.'Sales' data
   from server text data_file 'Actual'
   using server rules_file 'Loadcorp'
   on error write to 'c:\temp\acterr.txt';

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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     15-11
                                                  Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts

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

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

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

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

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

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

/* ********************************/
/* Close out process log and exit */
/* ********************************/

spool off;

exit;




15-12                            Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                    Lesson 15 Developing and Testing Calculation Scripts




    Upper-Level Data Loads

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




                             © 2005 Hyperion Solutions Corporation. All Rights 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 to protect the data when you consolidate.
Analytic Services 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 (This process is
   discussed in detail in Lesson 16.)




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           15-13
                                                                            Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts




    Aggregating Missing Values

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


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




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Aggregating Missing Values
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, Analytic Services 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.
One of the ways to handle upper-level data loads during the calculation process is to
instruct Analytic Services not to aggregate missing values during hierarchy calculations.
This instruction protects upper-level data that has no data below it in the hierarchy.

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




15-14                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                 Lesson 15 Developing and Testing Calculation Scripts

 • Default database setting: New databases by default do not aggregate missing
   values. You can change the default setting on the General tab of the Database
   Properties dialog box.
 • Calculation script: You can use the command SET AGGMISSG ON|OFF to control the
   aggregation of missing values on a script by script basis. This command overrides
   the default database setting and is typically included in the housekeeping section of
   the script.
            TIP
            As a best practice, you should set aggregate missing values on as a database
            default and turn it off selectively in your calculation scripts.



Performance Implications
When you aggregate missing values during hierarchy consolidations (SET AGGMISSG
ON), calculation performance is significantly enhanced for the following reasons:
 • Dense calculations within a data block: Cell aggregations that can be performed
   multiple ways are summed only once. In the following example, Analytic Services
   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,
   Analytic Services calculates the cell only once, using the consolidation path of the
   dimension that it calculates last.

                          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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                  15-15
                                                     Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts

 • 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, Analytic Services uses only the 4+8 formula because it requires fewer blocks.

                         Dell   HP    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 upper-
level 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.




15-16                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                  Lesson 15 Developing and Testing Calculation Scripts

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 represents the total for all products (Family Total) and all customers (Channel
Total). The following input sheet loads Other CGS data to the Current Year->Family
Total->Channel Total data block.




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



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     15-17
                                                      Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts


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

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




The incorrect totals for Gross Margin are due to calculation order: The Accounts
dimension calculates first, creating Gross Margin totals in both level 0 bocks. When
Customer and Product are calculated, Analytic Services 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, after the main rollup. This problem can occur frequently when you
work with multi-level inputs. If you have a large number of multi-level inputs that force
you to recalculate data at upper levels, you consider a method other than protecting
upper-level loads by not aggregating missing values for handling upper-level input data.




15-18                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                    Lesson 15 Developing and Testing Calculation Scripts




    Loading to Leaf Nodes

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




                                                         Level 0 placeholder for
                                                         Family Total input data




                                                         Level 0 placeholder for
                                                         Channel Total input data




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Loading to Leaf Nodes
Another method of handling upper-level input values is to avoid loading data to upper
levels at all. 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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           15-19
                                                      Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts

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




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




You run the following calculation script. Because you no longer need to protect upper-
level input data, you turn the aggregate missing values setting on for better performance.
/* Housekeeping */
SET UPDATECALC OFF;
SET AGGMISSG ON;

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

/* The Back Calculation */
(


15-20                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                 Lesson 15 Developing and Testing Calculation Scripts

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

Your audit sheet shows the following correct results:




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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                   15-21
                                                                             Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts




    Intelligent Calculation

    Only marked data blocks are recalculated.




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Intelligent Calculation
When you perform a full calculation of your database, Analytic Services tracks which
data blocks have been calculated. If you then load a subset of data, you can choose to
calculate only the input data blocks and their related ancestors, rather than recalculating
the entire database. This process is called 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.

Data Block Marking
Intelligent calculation works based on data-block marking. When intelligent calculation is
activated, blocks are marked clean or dirty in the index file during normal processes.
 • Clean blocks: blocks that do not require calculation
 • Dirty blocks: blocks that require calculation



15-22                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                  Lesson 15 Developing and Testing Calculation Scripts

When intelligent calculation is activated, Analytic Services looks for only dirty data blocks
during calculation.
       NOTE
       Intelligent calculation marks entire data blocks clean or dirty, and not cells. For
       example, in a database with a dense time dimension, data loads are typically
       incremental by month. When you load data to March the entire data block is
       marked dirty by intelligent calculation and therefore all time periods are
       recalculated.



Guidelines for Using Intelligent Calculation
Intelligent calculation can provide significant performance benefits in certain situations
but requires you to vigilantly maintain the clean and dirty status of your data blocks to
avoid skipping the wrong blocks on calculation. Because of this potential, be very careful
when using intelligent calculation, and be sure to read about it in detail 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 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 period, allocation rates and adjusting entries may be
   updated multiple times. Use intelligent calculation to see the results of updates
   without recalculating the entire database.
 • In budget or forecasting applications, many users typically update units and drivers
   on a regular basis. In such applications, a short calculation time is imperative for
   users to analyze the impact of their updates.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       15-23
                                                    Module 5 Advanced Calculations
Lesson 15 Developing and Testing Calculation Scripts




            Summary
            In this lesson, you should have learned to:
            • Develop calculation scripts
            • Describe methods of working with upper-level data loads
            • Describe intelligent calculation




15-24                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
L E S S O N    1 6

Normalizing Data                                       16




Objectives
After completing this lesson, you should be able to:
 • Describe and plan normalization
 • Allocate data with calculation scripts
 • Copy and clear data
                                                                               Module 5 Advanced Calculations
Lesson 16 Normalizing Data




       Allocating Data

       Upper-Level Input Allocation

                                                1




                                                                                              100%
                 2                                                                        3



          15%     45%     40%                                                     15%          45%   40%




                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Allocating Data
As mentioned in Lesson 15, a method of handling upper-level input data is to allocate or
push down the data that you load to dependent level 0 data blocks, so you can
consolidate normally. However, allocations are not restricted to distributing upper-level
input data—you can use the methods described here to distribute totals loaded to level 0
data blocks across other level 0 data blocks. When you allocate data, you typically use
the following steps.
 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.
 3. Consolidate data using a CALC ALL or CALC DIM statement (For upper-level input
    data, the statement overwrites the original input).




16-2                                       Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                              Lesson 16 Normalizing Data


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


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

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

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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           16-3
                                                         Module 5 Advanced Calculations
Lesson 16 Normalizing Data

Alternatively, you can define temporary variables in your calculation script to temporarily
store percentages, 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;

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




16-4                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                             Lesson 16 Normalizing Data

In Bigcorp Sales, Material Variances is loaded to the total for all products and all
customers. To allocate this total to individual, product-customer data blocks based on a
percentage of total units, use the following formula:
‘Material Variances” = “Material Variances”->“Family Total”->“Channel
   Total” * ( Units / Units->“Family Total”->“Channel Total”);
       TIP
       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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        16-5
                                                                             Module 5 Advanced Calculations
Lesson 16 Normalizing Data




       Normalization

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



                                                          1




                  2




                              © 2005 Hyperion Solutions Corporation. All Rights 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 Analytic Services does not
store data for block storage databases in tables, an block storage normalization is a very
different process.
In block storage databases, normalization is required when you load data to data blocks
other than the blocks that are that intended, final target for the data, as described in the
following examples:




16-6                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                            Lesson 16 Normalizing Data

 • 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 the total
   miscellaneous expenses to each individual, product-customer block (level 0) based
   on the percentage of total units sold in each level 0 block.
 • You load total IT expenses to a level 0 block for a corporate headquarters entity. Prior
   to consolidating the database, you allocate the 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. This is the key to normalization—normalization is a
general umbrella for any data manipulation that needs to occur after data input and
before main database consolidation.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      16-7
                                                                              Module 5 Advanced Calculations
Lesson 16 Normalizing Data




       Partitioning Calculations by Scenario

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




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Partitioning Calculations by Scenario
For most block storage databases, scenarios are the primary driver of modeling and
calculation requirements in the accounts dimension. Data from scenario to scenario
typically differs with respect to the form of input. Because you only have 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).




16-8                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                             Lesson 16 Normalizing Data

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




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        16-9
                                                                            Module 5 Advanced Calculations
Lesson 16 Normalizing Data




    Developing Normalization Tables

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




                             © 2005 Hyperion Solutions Corporation. All Rights 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.




16-10                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                               Lesson 16 Normalizing Data

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




In this example, a value of 73,000 is loaded to the intersection Budget->Material
Variances->Jan->Family Total->Channel Total. Examine the full cell address, one
dimension at a time, to determine if 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 Analytic Services database, so they
do not require Essbase Spreadsheet Add-in.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                           16-11
                                                         Module 5 Advanced Calculations
Lesson 16 Normalizing Data

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

 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.




16-12                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                          Lesson 16 Normalizing Data




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


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.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                  16-13
                                                        Module 5 Advanced Calculations
Lesson 16 Normalizing Data

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




16-14                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                           Lesson 16 Normalizing Data




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



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    16-15
                                                       Module 5 Advanced Calculations
Lesson 16 Normalizing Data

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




16-16                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                                                     Lesson 16 Normalizing Data




    Copying and Clearing Data

      DATACOPY
       — Can create new blocks
       — Is part of housekeeping or normalization
      CLEARDATA
       — Resets cells to #MISSING
       — Can remove entire blocks
      CLEARBLOCK
       — Removes entire blocks
       — Can clear cells without removing blocks




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Copying and Clearing Data
As part of your normalization process, you may be required to copy or clear data sets.
You can organize the 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             For copying data sets from one member to another
 mbrName2
 CLEARBLOCK ALL | UPPER |         For clearing previous input or upper-level data or stored
 NONINPUT | DYNAMIC               dynamic calculations
 CLEARDATA mbrName                For clearing specific members or member combinations




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                         16-17
                                                        Module 5 Advanced Calculations
Lesson 16 Normalizing Data

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.
Keep the following guidelines in mind when using the DATACOPY command:
 • 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 formula DATACOPY “Current Year” TO “Prior
   Year”->Jan results in an error at runtime. However, the source member combination
   can be more specific than the destination member combination. For the formula
   DATACOPY “Current Year”->Jan TO “Prior Year”, Analytic Services fills in the
   missing member at runtime, actually calculating DATACOPY “Current Year”->Jan
   TO “Prior Year”->Jan.
 • If the source and destination member combinations are all dense member
   references, Analytic Services does not create data blocks. For example, the following
   calculation is executed only in existing data blocks: DATACOPY Jan TO Feb. However,
   if any members of the member combinations for the source or destination is sparse,
   Analytic Services creates data blocks, if they do not exist.
 • You can use DATACOPY commands inside FIX statements, but not inside IF
   statements.

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.
Keep the following guidelines in mind when using 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

 • 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 IBM customer.
   CLEARDATA Budget->IBM;



16-18                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 5 Advanced Calculations
                                                              Lesson 16 Normalizing Data

 • 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 Gateway, because both Scenario and Customer are sparse
   dimensions.
   CLEARDATA “Current Year”->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 Gateway, but it does not remove the blocks.
   CLEARDATA “Current Year”->Gateway->Jan;

 • You cannot use CLEARDATA in an IF statement.

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


Keep the following guidelines in mind when using the CLEARBLOCK command:
 • If you use CLEARBLOCK inside a FIX statement on dense dimension members,
   Analytic Services clears only the data cells within the fixed range and does not
   remove data blocks. In the following example, the CLEARBLOCK command clears data
   only for January cells in the Current Year scenario:
   FIX(Jan, “Current Year”)
         CLEARBLOCK ALL;
   ENDFIX

 • You cannot use CLEARBLOCK in an IF statement.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         16-19
                                                      Module 5 Advanced Calculations
Lesson 16 Normalizing Data




           Summary
           In this lesson, you should have learned to:
           • Describe and plan normalization
           • Allocate data with calculation scripts
           • Copy and clear data




16-20                            Hyperion System 9 BI+ Essbase Analytics Bootcamp
M O D U L E   6

Appendices                                                                16




Overview
This module contains appendices to provide information about additional
features of Analytic Services not covered in this course.
Appendices include:
 • Aggregate Storage Databases
 • Analytic Integration Services Overview
A P P E N D I X   A

Aggregate Storage Databases                            A




Objectives
After completing this lesson, you should be able to:
 • Define aggregate storage databases
 • Describe the aggregate storage kernel
 • Describe MDX member formulas
 • Define MDX
 • Identify parts of an MDX query
 • Identify dimensions and members in MDX
 • Select multiple members in MDX
 • Describe the MDX query data model
                                                                                            Module 6 Appendices
Appendix A Aggregate Storage Databases




      Enterprise Analytics Overview

       A module of Analytic Services
       Optimized for aggregate-intensive cubes
       Handles larger numbers of dimensions
       and members
       Optimized for sparser data sets,
       operational analytics
       Significantly reduces calculation
       times and disk footprint
       Designed to work seamlessly with
       existing interfaces and user skills
       Reduces complexity when creating
       Essbase databases




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Enterprise Analytics Overview
In Release 9.0, Analytic Services provides an Enterprise Analytics module for creating
aggregate storage databases. Aggregate storage databases efficiently support very
sparse data sets of high dimensionality while allowing fast aggregations and query
response time.
Aggregate storage databases do not replace block storage databases. They are an
alternative solution for the analytic needs of your organization. You can leverage the
aggregate storage and block storage database types to create a powerful and flexible
analysis platform.




A-2                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                                            Appendix A Aggregate Storage Databases




    Accessing a Wider Application Set

     Dense data sets


                              Block
                             Storage                                                   Block
                                                                                      Storage

                                                   Dual Modules
                                                (Essbase Analytics/
                                                Enterprise Analytics)


                                Aggregate
                                 Storage                                                     Aggregate
                                                                                              Storage


    Sparse data sets
                       Simple calculations                                      Complex calculations
                       (high aggregation)                                        (complex analytics)
                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Accessing a Wider Application Set
Whereas some models are ideally suited for block storage, other are more suited for
aggregate storage. The Enterprise Analytics module supports requirements for
extremely sparse data sets and fast aggregations on a single platform.
Ultimately, a complete Analytic Services implementation may contain a combination of
both block storage and aggregate storage databases. Each database will leverage the
appropriate storage type to fit the business requirement for which it was created.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                         A-3
                                                                                            Module 6 Appendices
Appendix A Aggregate Storage Databases




      Combining Block and Aggregate Storage

      To maximize functionality, combine:

                                 Historical and Forecast
                                     Federated View
                                      Aggregate or
                                      Block Storage
                                                                                                  Transparent
                                                                                                  Partition

          Enterprise     SKU Product                     Product Profitability              Essbase
          Analytics       Profitability                        Forecast                     Analytics
           Module         Aggregate                         Block Storage                    Module     Multiple-user
                       Storage Database                       Database                                  write-back
                                                                                                        capability




                        Highly additive                      High write-back
                       and dimensional                        and analytical
                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Combining Block and Aggregate Storage
When exploring the potential of aggregate storage, keep in mind that it is intended to
provide a different storage option to suit a business requirement. The ultimate goal in any
implementation is to derive and distribute analytic data as efficiently as possible.
Block storage databases are suited for databases that require:
 • Custom procedural calculation scripts or allocations in member formulas
 • Large-scale, direct write-back capability
Aggregate storage databases are suited for databases that require:
 • Large dimensionality, dimension combinations, or members
 • Small batch windows (calculation and load)




A-4                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                            Appendix A Aggregate Storage Databases

By implementing aggregate storage databases in the combined solution, you achieve
significant analytic benefits:
 • Aggregate storage and block storage databases on a single platform make Analytic
   Services a functionally rich solution. By connecting both application types through a
   transparent partition, you can leverage the functionality of both databases.
 • You gain deeper business insight through the increased detail available—more
   dimensions and members per dimension.
 • Faster load and aggregation times provide near real-time access to data.
 • You can leverage each storage type individually as the business situation dictates
   and leverage the functionality associated with each storage type.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     A-5
                                                                                                Module 6 Appendices
Appendix A Aggregate Storage Databases




      Delivering End-to-End Support


                                     Query &                                                     3rd Party
             Analysis                                               Dashboards
                                    Reporting                                                   Integration

                                              Analytic Services




           Budgeting &           Forecasting &                   Procurement &
                                                                                                Customer
            Financial             Profitability                     Logistics
                                                                                                 Analysis
          Consolidations           Analysis                         Analysis

             Essbase Analytics Module

             Enterprise Analytics Module

                                  © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Delivering End-to-End Support
By implementing aggregate storage in the combined solution, you achieve significant
personnel and IT benefits.

Personnel Benefits
A single solution across departments and divisions enables an organization to leverage
the training and knowledge existing in IT and end-user communities.
Hyperion and third-party tools perform identically in both formats.
From an end-user perspective, the data source is seamless. There is no indicator, visual
or otherwise, that tells the user the database type.
With the exception of calculation scripts, fundamental database objects still exist in one
form or another.




A-6                                          Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                             Appendix A Aggregate Storage Databases

Aggregate storage database development methods are different from block storage
database development methods, but this does not affect the end-user community.

IT Benefits
Hardware costs are lower due to fast calculation times and small disk footprints.
Fast update times reduce downtime for application maintenance, resulting in higher
application availability.
Easier application tuning allows efficient data storage optimization to balance the
application’s need for fast query response, extensive dimensionality, sophisticated
analytics, and low data latency.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                      A-7
                                                                                           Module 6 Appendices
Appendix A Aggregate Storage Databases




      Aggregate Storage Database Overview

       Load data only at level 0
       Is read-only technology
       Create aggregate views




       Selects and stores
       “most expensive” queries
       Calculates queries at runtime,
       leverages the nearest stored view



                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Aggregate Storage Database Overview
Aggregate storage databases and block storage databases do not share the same
architecture. The database types differ in both concept and design. Aggregate storage
databases are read-only entities that accept data only at level 0 intersections.
Block storage databases use dense and sparse dimensions to configure data storage
and processing, whereas aggregate storage databases use algorithms to intelligently
select aggregates based on populated data sets. The base assumption is that all
database cells are equally likely to be queried. At retrieval, all queries are dynamic and
leverage the nearest stored view for optimal performance. The architecture that supports
aggregate storage is intended to support rapid aggregation, high dimensionality, and
sparse data sets.
For physical storage, aggregate storage databases use tablespaces, whereas block
storage databases use index files and page files.




A-8                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                                         Appendix A Aggregate Storage Databases




    Creating Member Formulas

      MaxL data manipulation language                            Convert existing
      (MDX)                                                        — From Calc syntax
      Formula Editor to create formulas                               —
                                                                       “sales” / “Net Profit”;
                                                                   — To MDX syntax
                                                                           [sales] / [net profit]




                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Member Formulas
When working with aggregate storage databases, you must write all member formulas
using the MaxL data manipulation language (MDX). MaxL MDX is a version of the
multidimensional expression language (MDX). Hyperion has added a series of Analytic
Services-specific commands to the language specification and embedded the language
in the MaxL shell.
As with block storage, you enter member formulas using Formula Editor in
Administration Services Console. The difficulty of conversion from block storage
calculation scripts to MDX varies, depending on the complexity of the formula. However,
many commands and statements from calculation scripts have a counterpart in MDX.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                    A-9
                                                                                           Module 6 Appendices
Appendix A Aggregate Storage Databases




    MDX Overview

       Stands for MultiDimensional eXpressions
       Is a standard query language specification for OLAP sources
       Supports XML for Analysis (XMLA) API
       Focuses on data retrieval, not on data formatting
       Is implemented as Hyperion MaxL DML and includes added
       functionality for Analytic Services




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




MDX Overview
Multidimensional expressions (MDX) is a standard query language specification for
online analytical processing (OLAP) data sources. Hyperion supports MDX through C
API, Java API, MaxL interface, and XMLA.
The Analytic Services version of MDX includes an ever-growing list of functions
developed specifically for Analytic Services, such as the IsUDA function. MDX is used in
Analytic Services for advanced data analysis on both block and aggregate storage
databases or for outline member formulas in aggregate storage outlines.
In many ways, MDX is comparable to the Analytic Services report scripts. However,
whereas MDX is capable of performing the same selecting and calculating functions (and
many other functions) as a report script, the report scripts also include a set of report
formatting options to control how results are represented. On the other hand, the focus of
an MDX query is solely on analytical data retrieval, with the underlying API handling the
resulting data structures.



A-10                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                                           Appendix A Aggregate Storage Databases




    Identifying the Parts of a Query

       SELECT Axes...
       FROM Cube
       WHERE Slicer...

       SELECT
       {[Net Sales], [Cost of Sales]}on columns,
       {Jan, Feb, Mar}on rows
       FROM Hyptek.Hyptek
       WHERE ([North America], FY03)


       Report result is a hypercube itself (usually 1 or 2 dimensions)
        — Axes: Define the resulting data grid
        — Slicer: A slice through the rest of the cube



                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Identifying the Parts of a Query
The SELECT, FROM, and WHERE clauses in an MDX query indicate different structural
parts of the query. If you know SQL, those clauses may look familiar, but their meaning is
different in MDX. Every query uses the SELECT . . . FROM . . . (WHERE . . .) structure.

SELECT Clause
The result of an MDX query on an OLAP cube is in itself another cube, or a hypercube.
You can put any dimension (or combination of dimensions) on any axis of that result. You
specify axes in the SELECT clause of an MDX query to state how your source cube’s
dimensions are laid out in your result grids. The sample query lays out two measures “on
columns” and three time periods “on rows.” The Hyperion implementation of MDX
supports up to 64 different axes in a result grid.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             A-11
                                                                   Module 6 Appendices
Appendix A Aggregate Storage Databases

FROM Clause
The FROM clause names the database from which the data is being queried. The
Hyperion XMLA provider supports only one database in the FROM clause. There are two
ways to denote the name of a cube in the FROM clause:
Database (Hyptek)
Application.Database (Hyptek.Hyptek)

WHERE Clause
The WHERE clause defines a slicer, which is MDX terminology for a point of view (POV)
for all other aspects of the query. If you do not specify a member for a given dimension in
the SELECT clause or the WHERE clause, then MDX assumes a default of the top
member in the missing dimension. Use of the WHERE clause is optional.




A-12                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                                          Appendix A Aggregate Storage Databases




    Identifying Dimensions and Members

      Dimensions are identified by
       — their tip members
       [Geography]                                                                 Geography

       — a function that returns a dimension                                               Americas
       [North America].Dimension
       Dimension([North America])                                                             South America

                                                                                              Central America
      Members are identified
       — by name alone
                                                                                              North America
       [North America]
                                                                                           Europe
       — with an ancestor name

       [Geography].[North America]


                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Identifying Dimensions and Members
You can identify dimensions by their tip members (the top member of the dimension), as
in [Geography] and [Measures] or by using a function that returns a dimension. The
member.Dimension and Dimension(member) formula constructions are synonymous, so
both [North America].Dimension and Dimension([North America]) return
[Geography].
You can identify members either by name alone, as in [North America] or [FY04], or
with an ancestor name, separated by a dot, as in [Geography].[North America] or
[Fiscal Year].[FY04]. It is good practice to use the dimension root member name in
this construction, as it provides a clear statement about the dimension of the member.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                A-13
                                                                                              Module 6 Appendices
Appendix A Aggregate Storage Databases




    Selecting Multiple Members

       The Children function returns a set of                                         Period
       children of the specified member.
       SELECT                                                                             Total Year
       { [1st Half].Children } ON COLUMNS,
       { Children([PERFORMANCE]) } ON ROWS
                                                                                             2nd Half
       ...
                                                                                             1st Half
       The Descendants function returns a
       set of descendants of the specified
       member.                                                                                    Quarter 1

       SELECT                                                                                     Quarter 2
       { [1st Half].Children } ON COLUMNS,
       { Descendants([Period], 2)} ON ROWS                                                              April
       ...
                                                                                                        May

                                                                                                        June

                            © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Selecting Multiple Members
In many cases, your queries must return more information than the simple queries used
in earlier examples. Instead of explicitly enumerating the many members required for a
large query, you can use a function that selects multiple members at the same time.
Relationship-based functions such as Children and Descendants are two of the most
common selection functions.
Some functions in MDX use a function-style notation (parentheses) and others use a dot
notation without parentheses. Many functions allow you to use both types of notations
synonymously, as with the Children function.




A-14                                   Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                               Appendix A Aggregate Storage Databases

Children
The Children function is based on parent-child relationships in the outline hierarchy. It is
a convenient way to obtain a range of members based on a common parent. The
following query selects the children of 1st Half in the columns of a report and the children
of PERFORMANCE in the rows of a report. Note the use of both the dot notation and the
function-style notation.
SELECT
{[1st Half].Children} ON COLUMNS,
{Children([Performance])} ON ROWS
FROM [Hyptek].[Hyptek]
WHERE ([FY04])




Descendants
The Descendants function, like the Children function, is also based on outline
relationships, but is used to request members further away than immediate children.
Descendants is a more complex function than Children. You can use it to refer to all
descendants of a particular member, to limit it to a specific generation with the use of the
optional layer, or to limit it to a certain number of steps down with the use of the optional
index.
The following simple query uses the Descendants function to select Period and its
descendants on the rows of the report:
SELECT
{[Product].[Performance], [Product].[Value]} ON COLUMNS,
{Descendants([Period])} ON ROWS




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        A-15
                                                                  Module 6 Appendices
Appendix A Aggregate Storage Databases

FROM [Hyptek].[Hyptek]
WHERE ([FY03], [Units])




The following query uses an index specification to return only the quarters on the rows of
the report:
SELECT{[Product].[Performance], [Product].[VALUE]} ON COLUMNS,
{Descendants([Period], 2)} ON ROWS
FROM [Hyptek].[Hyptek]
WHERE ([FY03], [Units])




A-16                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                            Appendix A Aggregate Storage Databases




Defining the MDX Data Model: Tuples and Sets
Even though it starts with dimensions and members, the MDX data model is different
from the cube data model. Understanding the MDX data model is key to using MDX well
and understanding its syntax and operations. The following terms are key for defining the
differences between the MDX data model and the cube data model:

 Term                         Description
 Tuple                        Multidimensional abstraction for a member, as well as an
                              arbitrary slice from a cube on one or more members. (In
                              this case, it performs a similar function to the cross-
                              dimensional operator in block storage database
                              calculation scripts.)
 Set                          Ordered sequence of tuples. It may be empty or it may
                              contain duplicate tuples.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                         A-17
                                                                                           Module 6 Appendices
Appendix A Aggregate Storage Databases




    Defining Tuples

       Can contain 1 member from each dimension
       Cannot have NULL tuple or NULL member
       Enclosed in ( )
       Can define:
        — Single data cell (a tuple with 1 member from each dimension in the cube)
        — N-dimensional slice of the cube (a tuple with members from N dimensions)

       [Fiscal Year].[FY03]
       ([Product].[PERFORMANCE])
       ([Fiscal Year].[FY03], [Period].[PERFORMANCE])



           Any member is a tuple



                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Defining Tuples
A tuple is a combination of members from one or more dimensions. When a tuple has
more than one dimension, it has only one member from each dimension. A tuple can
represent a slice of a cube, where the cube is sliced by the intersection of each member
in the tuple. Essentially, each cell in the Essbase cube is defined by a tuple with one
member from each dimension in the cube. Any single member on its own is also
considered a tuple. Syntactically, any member name is a valid tuple:
[Fiscal Year].[FY03]

You can also wrap a single member name in parentheses to make a valid tuple:
([Product].[PERFORMANCE])




A-18                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                             Appendix A Aggregate Storage Databases

When you combine members from more than one dimension to form a tuple, you must
enclose them in parentheses. For example, to create a tuple representing the slice of the
cube where FY03 and PERFORMANCE intersect, you can use one of the following
syntaxes:
([Fiscal Year].[FY03], [Product].[Performance])
([Product].[Performance], [Fiscal Year].[FY03])

Although both examples are syntactically correct, they are not exactly the same tuple in
MDX because the order of the dimensions is important.
The term dimensionality expresses the number of dimensions in the tuple and identifies
the dimensions. Valid tuples do not have zero dimensions or null member references.
Keeping these rules in mind, you can build tuples directly into queries. In fact, all
previous query examples contain single-dimension tuples in their SELECT clauses. The
following example uses a multidimensional tuple in a query:
SELECT
{([Fiscal Year].[FY04], [Scenario].[Actuals]), ([Fiscal Year].[FY03],
   [Scenario].[Actuals])} ON COLUMNS,
{[Product].[Performance].Children} ON ROWS
FROM [Hyptek].[Hyptek]
WHERE ([Measures].[Units])




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    A-19
                                                                  Module 6 Appendices
Appendix A Aggregate Storage Databases




Defining Sets
A set in MDX is a sequence of tuples. A set can be empty, it can have just one tuple, or it
can have more than one tuple. Duplicate tuples are allowed; when a set has more than one
tuple, it can have duplicate tuples anywhere. There are no placeholders for empty tuples.
Every tuple in a set must have the same dimensionality; that is, every tuple must have the
same set of dimensions and must be listed in the same order.
The simplest way to create a set is to use braces ({ }) to wrap one or more comma-
separated tuples. For example:

 Example                                  Description
 {[Period].[Jan]}                         Set of one tuple (one member)
 {[Period].[Jan], [Period].[Feb],         Set of three tuples (one member each)
 [Period].[Mar]}




A-20                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                              Appendix A Aggregate Storage Databases


 Example                                   Description
 {([Period].[Jan],                         Set of one tuple with two dimensions
 [Geography].[North America])}
 {([Period].[Jan],                         Set of two tuples with two dimensions each
 [Geography].[North America]),
 ([Period].[Jan],
 [Geography].[South America])}


Invalid Sets
The following sets are invalid because the tuples in the set do not have the same
dimensionality.

 Example                           Invalid Description
 {([Period].[Jan]),                The tuples contain a different number of dimensions.
 ([Period].[Feb],
 ([Scenario].[Actuals])}
 {([Period].[Jan],                 The tuples have the same number of dimensions, but
 [Scenario].[Actuals]),            they are listed in a different order from tuple to tuple.
 ([Scenario].[Actuals],
 [Period].[Feb])}




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                               A-21
                                                           Module 6 Appendices
Appendix A Aggregate Storage Databases




           Summary
           In this lesson, you should have learned to:
           • Define aggregate storage databases
           • Describe the aggregate storage kernel
           • Describe MDX member formulas
           • Define MDX
           • Identify parts of an MDX query
           • Identify dimensions and members in MDX
           • Select multiple members in MDX
           • Describe the MDX query data model




A-22                             Hyperion System 9 BI+ Essbase Analytics Bootcamp
A P P E N D I X   B

Analytic Integration Services Overview                        B




Objectives
After completing this lesson, you should be able to:
 • Describe the components of Analytic Integration Services
 • Describe the data integration implementation process
 • Describe OLAP models and metaoutlines
 • Load source data to create applications and databases
 • Create drill-through reports
 • Enable Hybrid Analysis and Advance Relational Access
                                                                                            Module 6 Appendices
Appendix B Analytic Integration Services Overview



      Analytic Integration Services and Data
      Warehousing
              Finance                                                                        Inventory




                                                   Data
               Sales                                                                          Payroll
                                                 Warehouse




                                                      ETL




                   Legacy      Oracle                Siebel             Teradata            SAP

                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Analytic Integration Services and Data Warehousing
Where do Analytic Integration Services and Analytic Services fit into the world of data
warehousing and OLAP?


Hub-and-Spoke Configuration
Often, companies implement their data warehousing solution using an architecture
resembling the hub-and-spoke configuration depicted in the diagram. At the center is the
enterprise-wide data warehouse—a relational database tuned for handling massive
volumes of data. The central data warehouse feeds into the multiple application-specific
OLAP data marts—for example, Analytic Services cubes designed for sophisticated and
effective multidimensional analysis and reporting.
Analytic Integration Services fits into this architecture by providing a suite of tools that
transforms and loads the relational data source into Analytic Services multidimensional
databases.



B-2                                      Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                     Appendix B    Analytic Integration Services Overview

Tiered Analytical Environment
The diagram also represents a tiered environment. At the first tier are the OLTP
applications. These applications feed into the second tier, the data warehouse (or
relational data source). The third tier is represented by the Analytic Services databases.
Analytic Integration Services is the vital link between the second and third tiers and, as
such, is an essential component of an enterprise data warehouse or data mart solution.
      NOTE
      Although the relational data source is represented by a data warehouse in the
      diagram, the database accessed by Analytic Integration Services may also be a
      departmental data mart or a data staging area.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       B-3
                                                                                             Module 6 Appendices
Appendix B Analytic Integration Services Overview




      Analytic Integration Services Components

      Essbase Integration Services consists of two main components:
         Analytic Integration Server
         Analytic Integration Services Console




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Analytic Integration Services Components
Analytic Integration Services consists of two major components:
 • Analytic Integration Server and its subcomponents
      - OLAP Metadata Catalog
      - Analytic Integration Services Shell
 • Analytic Integration Services Console and its subcomponents
      - OLAP Model
      - OLAP Metaoutline




B-4                                       Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                             Appendix B                Analytic Integration Services Overview




    Analytic Integration Server

    Analytic Integration Server includes the following subcomponents:
      OLAP Metadata Catalog
      Analytic Integration Services Shell

                                                                            ODBC/OCI

                                                                               Wire
                                                                              Protocol
                                                                                               Data Source


                                      TCP/IP                                        ODBC/OCI




                   Analytic Integration             Analytic Integration                      OLAP Metadata
                    Services Shell                        Server                                 Catalog


                                © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Analytic Integration Server
The Analytic Integration Server software is the primary component of Analytic Integration
Services. It uses the information stored in the OLAP Metadata Catalog database to
extract the dimension and member names needed to build an Analytic Services
database outline.
      NOTE
      If your data source is an SAP BW data warehouse, Analytic Integration Services
      extracts characteristic names and characteristic value names.


When the outline is complete, Analytic Integration Server extracts data from the data
sources, performs the operations specified in the associated metaoutline, and loads the
data into the Analytic Services database.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                              B-5
                                                                  Module 6 Appendices
Appendix B Analytic Integration Services Overview

OLAP Metadata Catalog
OLAP Metadata Catalog is a structured query language (SQL) relational database that
contains the following information:
 • Metadata describing the nature, source, location, and type of data to retrieve from the
   data sources
 • Metadata describing the information required to generate the Analytic Services
   database outline
 • OLAP models and metaoutlines
The OLAP Metadata Catalog database may or may not reside on the same computer as
the source RDBMS database. It stores all the relevant information to perform the
conversion from relational to multidimensional data.
You can create more than one OLAP Metadata Catalog databases to store OLAP models
and metaoutlines. Using XML Import/Export, you can move OLAP models and
metaoutlines from one OLAP Metadata Catalog database to another.
      NOTE
      The OLAP Metadata Catalog database is configured for open database
      connectivity (ODBC). If you do not know how to create an ODBC data source, see
      the Analytic Integration Services Installation Guide or the ODBC user
      documentation.



Analytic Integration Services Shell
Analytic Integration Services Shell is a command-line tool used to access Analytic
Integration Server and load members and data into an Analytic Services database.




B-6                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                              Appendix B                Analytic Integration Services Overview




    Analytic Integration Services Console

    You use Analytic Integration Services Console to create OLAP models
    and metaoutlines.



                                                                     OLAP                        OLAP
                                                                     Model                     Metaoutline




             Analytic Services
                  Server                                                                         TCP/IP
                                                        TCP/IP




             Analytic Services
                Database                                                                                   Analytic
                                                                                                      Integration Server

                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Analytic Integration Services Console
Analytic Integration Services Console, a graphical user interface, is used to create OLAP
models and metaoutlines and to populate Analytic Services databases. To create an
OLAP model or metaoutline, you must connect to an OLAP Metadata Catalog database
and the appropriate data sources.


OLAP Model
OLAP Model is a component of Analytic Integration Services Console. You use OLAP
Model to create a logical star schema (OLAP model) by identifying the tables, rows, or
columns that contain the data and specifying how they map to the structure of the
multidimensional database.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                           B-7
                                                                 Module 6 Appendices
Appendix B Analytic Integration Services Overview

OLAP models provide a dimensional business view representation of the relational data
source. You can create multiple OLAP models to represent different business views of
the relational data source. You can use the Intelligent Help window in OLAP Model to
view guidelines and perform automated tasks for creating OLAP models.


OLAP Metaoutline
OLAP Metaoutline is another component of Analytic Integration Services Console. You
use OLAP Metaoutline to create metaoutlines, which are hierarchical views of the
relational data source, based on the structure of the OLAP model that you specify. A
metaoutline is a template containing the structure and rules for creating an Analytic
Services outline.
It is common to create multiple metaoutlines, each addressing a different business need,
from one OLAP model. You can use the Intelligent Help window in OLAP Metaoutline to
view guidelines and perform automated tasks for creating metaoutlines.




B-8                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                   Appendix B    Analytic Integration Services Overview




Analytic Integration Services Implementation Architecture
The slide shows a simple architecture diagram of the Analytic Integration Services
implementation.
The three-tier OLAP environment comprises one or more relational database servers,
Analytic Integration Services, Analytic Services server and Analytic Services database.


Relational Data Source
The relational data source and OLAP Metadata Catalog databases can run on any
platform. The RDBMS for the OLAP Metadata Catalog database may or may not be the
same as the RDBMS for the relational data source, and the platforms for the two
RDBMSs may or may not be the same. To connect to them from the computer that runs
Analytic Integration Server, you must configure the necessary ODBC drivers and
database client software.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                     B-9
                                                                   Module 6 Appendices
Appendix B Analytic Integration Services Overview

Analytic Integration Services Server and Client
Analytic Integration Services includes the following components:
 • Server
   - Analytic Integration Server
   - ODBC drivers
   - Database client software (if required by the RDBMS of the relational data source or
     the OLAP Metadata Catalog)
 • Client
   - Analytic Integration Services Console.
Typically the server and client components of Analytic Integration Services are installed
on separate computers, although this is not a requirement.


Analytic Services Server
The Analytic Services server may be installed on the same computer as Analytic
Integration Server, or it may be on a separate computer on the network.

Required Connections for Performing Related Tasks
The architecture diagram shown on the slide also illustrates all the physical connections
required among the components of an Analytic Integration Services implementation. For
example, OLAP Metadata Catalog, the relational data source, Analytic Integration
Services Console, and Analytic Services Server must all be able to connect to Analytic
Integration Server. However, not all connections are required at all times.

 Task                                 Required Connections

 Creating an OLAP model or            Analytic Integration Server must be connected to the
 metaoutline                          following components:
                                      • Analytic Integration Services Console
                                      • OLAP Metadata Catalog
                                      • Relational data source




B-10                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                           Appendix B   Analytic Integration Services Overview


 Building an Analytic Services              Analytic Integration Server must be connected to the
 database outline and loading data          following components:
                                            • Analytic Integration Services Console
                                            • OLAP Metadata Catalog
                                            • Relational data source
                                            • Analytic Services Server

 Retrieving data from Analytic              Essbase Spreadsheet Add-in must be connected to
 Services using Essbase Spreadsheet         the following components:
 Add-in
                                            • Analytic Services Server
                                            • Analytic Services database

 Drilling through to the relational data    Essbase Spreadsheet Add-in must be connected to
 source                                     the following components:
                                            • Analytic Services Server
                                            • Analytic Services database
                                            In addition, the following components must be
                                            running:
                                            • Analytic Integration Server
                                            • Relational data source RDBMS
                                            • OLAP Metadata Catalog RDBMS




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                             B-11
                                                                                           Module 6 Appendices
Appendix B Analytic Integration Services Overview




    Data Integration Implementation Workflow

    1. Use the tables, views, and columns in one or more data source
       databases to create an OLAP model.
    2. Use the OLAP model to create a metaoutline.
    3. Use the metaoutline to create and populate an Analytic Services
       database.




         Relational         OLAP Model                           Metaoutline                Analytic Services
        Data Source                                                                            Database
                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Data Integration Implementation Workflow
Analytic Integration Services provides a set of tools that enable you to consolidate data
from any data source into a multidimensional database.
To create an Analytic Services database from a data source:
 1. Build an OLAP model based on the tables, views, or columns in the data source.
 2. Create a metaoutline based on the OLAP model.
 3. Use the metaoutline to load members and data into an Analytic Services database.
You use the OLAP Model and OLAP Metaoutline components of Analytic Integration
Services Console to create OLAP models and metaoutlines, and to populate Analytic
Services databases. Analytic Integration Server stores the OLAP model, metaoutline,
and all information necessary to retrieve the relevant tables from the appropriate data
sources in the OLAP Metadata Catalog database.



B-12                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                     Appendix B     Analytic Integration Services Overview

OLAP Models
The OLAP model is a logical multidimensional representation of the data values that you
select from the relational data source. It is based on the idea that values in a data source
are either facts (numeric variable values) or dimensions of facts. An OLAP model
therefore contains a fact table, one or more dimension tables, and one or more
dimension branches. It may also contain a time dimension and an accounts dimension.


Metaoutlines
A metaoutline contains the basic structure required to build an outline for an Analytic
Services database and load data into it. You can create one or more OLAP models from
the same relational data source, and you can create one or more metaoutlines from the
same OLAP model. However, each metaoutline can be based on only one OLAP model.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       B-13
                                                                                             Module 6 Appendices
Appendix B Analytic Integration Services Overview




    OLAP Model Overview
        Data Source

                                                                                                       Finance




                                                                                                       Sales




                                                                                                       Payroll




                                                                                                       Inventory


       OLAP Metadata
                          OLAP Model                     Metaoutlines               Analytic Services Cubes
          Catalog
                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




OLAP Model Overview
The OLAP model is a logical star schema representation of the relational source tables.
An OLAP model is a bridge between the relational data source and the Analytic Services
target database. This logical star schema represents the business information that you
select from the tables in the relational database. It contains a fact table, one or more
dimension tables, and any dimension table branches. It may also contain Time and
Accounts dimensions.
OLAP models offer the following advantages:
 • You can use the same OLAP model as the basis for multiple metaoutlines.
 • You can use one OLAP model as the basis for another OLAP model by saving the
   original model under a different name and editing it as needed to meet new reporting
   requirements.




B-14                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                    Appendix B    Analytic Integration Services Overview

 • You can create hierarchies to structure and summarize source data, which you can
   use in multiple metaoutlines.
 • You can apply global business rules and properties to the OLAP model to simplify the
   task of refining metaoutlines.
           NOTE
           The refinement of specific business rules usually occurs at the metaoutline.



OLAP Metadata
When you create an OLAP model, Analytic Integration Server stores the table and
column definitions, their relationships, and other properties in OLAP Metadata Catalog.
This information, called OLAP metadata, along with additional metadata captured when
metaoutlines are created, is used to locate and extract data from the relational database
when building and loading Analytic Services databases.


Creating OLAP Models Process
You create OLAP models using the OLAP Model component of Analytic Integration
Services Console. The workflow for creating models comprises eight steps.
 1. Connect to the OLAP Metadata Catalog and the source databases
 2. Examine source tables and views
 3. Select a fact table
 4. Select dimension tables
 5. Define joins
 6. Assign properties to tables and columns
 7. Define hierarchies
 8. Verify and save the OLAP model




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                    B-15
                                                                                            Module 6 Appendices
Appendix B Analytic Integration Services Overview




    OLAP Metaoutlines Overview


                                                                         OLAP Model




       Analytic Services   Metaoutline                                       Metaoutline        Analytic Services
           Outlines                                                                                 Outlines

                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




OLAP Metaoutline Overview
Metaoutlines are a bridge between OLAP models and Analytic Services database
outlines. They map the fact table, dimension tables, and measures of OLAP models to
the dimensions, members, and measures of Analytic Services outlines. You can build
multiple database outlines from a single metaoutline.


OLAP Model and OLAP Metaoutline
Many of the features of OLAP Model are also available in OLAP Metaoutline. For
example, you can create hierarchies, filters, and transformations using either
component.
You use OLAP Model to create structures that persist throughout the use of a relational
data source; for example, Time hierarchies. You use OLAP Metaoutline to create
features that pertain to only one set of Analytic Services outlines; for example, filters.




B-16                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                     Appendix B     Analytic Integration Services Overview

When the same functionality is available in both OLAP Model and OLAP Metaoutline,
choose the tool based on design considerations:
 • If entity manipulations require work by the RDBMS, you should use OLAP Model; for
   example, table joins.
 • If you plan to use an entity in all or most of the Analytic Services outlines that you
   plan to create, then you should use OLAP Model.
 • If you plan to use an entity in a single Analytic Services outline or in a single set of
   related database outlines, you should use OLAP Metaoutline.


Metaoutlines and OLAP Metadata Catalog
When you create a metaoutline, the dimensions, member levels, measures, and their
properties (such as filters, hierarchies, and transformations) are stored in the OLAP
Metadata Catalog database. This information, called OLAP metadata, along with
metadata captured when the OLAP model is created, is used to locate and extract data
from the relational database to build outlines and load data into Analytic Services
databases.


Creating Metaoutlines Process
You create metaoutlines using the OLAP Metaoutline component of Analytic Integration
Services Console. Creating metaoutlines involves the following steps:
1. Connect to a Metadata Catalog
2. Select an OLAP model and connect to the data source
3. Add dimensions, member levels, and measures
4. Define member and measure transformations
5. Define metaoutline filters
6. Assign Analytic Services database outline properties
7. Set member and data load properties
8. Preview sample outlines
9. Verify and save the metaoutline




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                        B-17
                                                                                                      Module 6 Appendices
Appendix B Analytic Integration Services Overview




    Creating Applications and Databases


                                                                              OLAP                 Data     Data
                                                                              Catalog             Source   Source
                                            Analytic Services
                                                 Server




          Analytic Services
             Databases                                                Analytic Integration
                                                                           Services




              Sales           Inventory           Payroll

                                    © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Applications and Databases Process
Analytic Integration Services enables you to use the information stored in OLTP systems
and data warehouses to create OLAP applications and databases. You can also use it to
grant access to users and manage the data flow from source databases to Analytic
Services.
After the OLAP model and metaoutlines are created, the final steps in the integration
process involve building outlines and loading data. You can create multiple applications
and databases using metaoutline filters to control the member and data load processes.
To create Analytic Services applications, build outlines, and load databases, you need to
perform the following tasks:
 • Connect to the metadata catalog
 • Open a metaoutline
 • Connect to Analytic Services
 • Load members and data


B-18                                           Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                              Appendix B                Analytic Integration Services Overview




    Creating Analytic Services Databases

                    OLAP                                                      Analytic Services
                   metaoutline                                                     outline




                                 © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Analytic Services Databases
You create an Analytic Services database and populate it with data by performing a
member load and a data load.
A member load is the process of adding dimensions and members to an Analytic
Services outline. A data load is the process of loading data into an Analytic Services
database. You can perform member loads and data loads separately, or you can perform
both a member load and a data load at the same time.
When you perform a member load or a data load, Integration Server performs the
following tasks:
 • Retrieves information (OLAP metadata) from the metadata catalog
 • Uses the information to generate SQL statements that specify how and what to
   retrieve from the external relational data source




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                         B-19
                                                                 Module 6 Appendices
Appendix B Analytic Integration Services Overview

 • Uses filters defined in the OLAP model and metaoutline to determine what data to
   retrieve
 • Retrieves data from the external relational data source
 • Performs transformations specified in the OLAP model and the metaoutline on the
   data that it retrieves
 • Loads members and builds the outline in the specified Analytic Services application
   and database and loads data
   If the application or database do not exist, Integration Server creates them.




B-20                               Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                           Appendix B                Analytic Integration Services Overview




    Specifying Data Storage Properties

      Block versus aggregate
      storage
      Unique versus duplicate
      member names




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Specifying Data storage Properties
You specify data storage properties to determine the type of Analytic Services database
that Integration Server creates when you perform a member load.

Data Storage Option Settings
Select one of the following options to define the data storage model to be used by
Integration Server to create the Analytic Services database:
 • Automatically Determined by Integration Server (Default)—Select this option to have
   Integration Server determine the best storage option for the metaoutline.
 • Block Storage—Select this option to store data in block storage format. Use this option
   when you require one or more dense dimensions in the metaoutline and Analytic
   Services outline.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                      B-21
                                                                     Module 6 Appendices
Appendix B Analytic Integration Services Overview

 • Aggregate Storage—Select this option to store data in aggregate storage format. Use
   this option when the metaoutline and Analytic Services outline contains a large
   number of sparse dimensions and one or no dense dimensions.

Unique Member Names Settings
System 9 BI+ Analytic Services introduces support for outlines with duplicate member
names. Analytic Integration Server can create outlines with unique member names (this
is the default setting), or you can change the default setting by clearing the Create Outlines
with Unique Member Names check box to create outlines with duplicate member names.




B-22                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                           Appendix B                Analytic Integration Services Overview




    Performing Member and Data Loads

      Outline > Member and Data Load




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Performing Member and Data Loads
You can use OLAP Metaoutline to perform a member load first and then perform a data
load, or you can perform a simultaneous member and data load to create and populate
an Analytic Services database. If you select to perform a member and data load,
Integration Server still performs these two tasks sequentially.


To perform a member and data load:
 1. Select Outline > Member and Data Load.
         The Analytic Services Application and Database dialog box is
         displayed.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                      B-23
                                                                Module 6 Appendices
Appendix B Analytic Integration Services Overview

 2. Select the necessary option settings for loading both members and data.
   For example, you can select appropriate filters for the member and data load, select
   a calculation script to calculate the database, and specify ESSCMD scripts to be
   performed after the member and data load is completed.
 3. Select a load schedule.
   For example, you can schedule the load to occur at a specified time, or save a load
   script that you can execute at a later time.




B-24                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                            Appendix B                Analytic Integration Services Overview




    Creating Drill-Through Reports

       Define OLAP intersection levels
       Add Drill-Through columns
       Specify report options
                                                                   Data                       Data
                                                                  Source                     Source




                               © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Drill-Through Reports
The data that you make available to users through an Analytic Services application, is
not an exact replica of the data that exists in OLTP systems or the data warehouse.
Analytic Services data represents a summary view of detailed information that is stored
in the source databases and is organized by business-view and data-descriptor
dimensions.
For an Analytic Services application to meet both the analytical and reporting
requirements of an organization, end users might also need to have access to detailed
information that is not practical (or feasible) to store in Analytic Services. For example, if
business analysts and executives want to analyze data by state, you should load data
into Analytic Services at the state level. If they want to generate a monthly report that
includes data at the store level, you can use the Drill-Through feature available with
Analytic Integration Services. This feature enables report creators to retrieve lower-level
information directly from the relational data source.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                       B-25
                                                                   Module 6 Appendices
Appendix B Analytic Integration Services Overview

With the Drill-Through feature, you can define specific intersection points in a
spreadsheet report as drill-through points. When end users double-click in a spreadsheet
cell that contains the value at a drill-through intersection point, they launch a query and
retrieve the necessary information from the relevant columns in the relational data
source.
You use OLAP Metaoutline to create drill-through reports and to specify the reports’
intersection levels and columns. You can select any column that is not marked as hidden
in the OLAP model.
In OLAP Model, you can declare any column from the relational data source as a drill-
through column. These columns are hidden from view in OLAP Metaoutline, but they are
available for selection as drill-through columns.




B-26                                Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                           Appendix B                Analytic Integration Services Overview




    Defining Drill-Through Intersection Levels

       Link Analytic Services data to reports
       Enable end users to launch reports
       Provide drill-down shortcuts to
       relational data




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Defining Drill-Through Intersection Levels
By defining Drill-Through intersection levels, you specify a subset of Analytic Services
data points (data points at specific intersections of dimensions) that end users can
double-click in a spreadsheet to launch the drill-through report.
An intersection level links all members of the specified dimension below the specified
level to the report. For example, if you set an intersection level on REGION.REGION in
the Market dimension, you set the intersection level at level 1. All members of the Market
dimension at level 1 or level 0 are linked to the report.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                      B-27
                                                                    Module 6 Appendices
Appendix B Analytic Integration Services Overview

If a dimension has more than one level 1 member, all level 1 members are linked to the
report when any one of the members is specified as the intersection level.
       TIP
       An Analytic Services intersection point can be linked to one or more drill-through
       reports.


.Guidelines for defining intersection levels:
 • You can add only one intersection level for each dimension in a single drill-through
   report. For example, in the Market dimension in TBC Metaoutline, you can define an
   intersection level for REGION or for CITY but not for both.
 • You can link only one measure to each report. To create multiple reports, each linked
   to a different measure, create the first report, make a copy of the first report, and then
   change the measure of the copied report.
 • You can select the dimension tagged as Accounts to link all measures to the report.
 • You can select an entire dimension (generation 1) as the OLAP intersection level of a
   drill-through report.
 • If no intersection level is specified for a dimension, by default the entire dimension is
   implied as the OLAP intersection level for the report.




B-28                                 Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                          Appendix B                Analytic Integration Services Overview




    Adding Drill-Through Columns

      Provide default Drill-Through
      information
      Enable flexible reporting




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Adding Drill-through Columns
Drill-Through columns are relational database columns that Integration Server retrieves
when end users double-click an intersection-level cell in a spreadsheet and open the
report. Any columns in the OLAP model that are not marked as hidden are available for
selection.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                     B-29
                                                                                           Module 6 Appendices
Appendix B Analytic Integration Services Overview



    Accessing Drill-Through Reports Using
    Hyperion Essbase Spreadsheet Add-in




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Accessing Drill-Through Reports Using Hyperion Essbase
Spreadsheet Add-in
End users can use Hyperion Essbase Spreadsheet Add-in to run drill-through reports.


To launch a drill-through repor t using Hyperion Essbase
Spreadsheet Add-in:
 1. Launch Microsoft Excel and connect to the appropriate Analytic Services application
    and database.
 2. Retrieve data into a spreadsheet.
 3. Navigate to an OLAP intersection cell whose data value is linked to a Drill-Through
    report.




B-30                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                         Appendix B   Analytic Integration Services Overview

 4. Double-click a drill-through cell.
         The Linked Objects Browser dialog box is displayed.
 5. Click the View/Launch button.
         The Select Drill-Through Report dialog box is displayed.
 6. Select the Drill-Through report that you want to run and click Execute.
         A worksheet is added to the workbook and displays the report
         results.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                       B-31
                                                                                            Module 6 Appendices
Appendix B Analytic Integration Services Overview




    Hybrid Analysis Overview

       Combines multidimensional and relational storage options
       Integrates relational and multidimensional data seamlessly
       Eliminates Analytic Services outline size limitations
       Provides rapid transfer of data between Analytic Services databases
       and relational databases




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Hybrid Analysis Overview
Hybrid Analysis combines the scalability of relational databases with the analytic power
of multidimensional databases. Relational databases offer almost unlimited scalability
because they can store several terabytes of data. Multidimensional databases are
smaller but offer sophisticated analytic capabilities.
With Hybrid Analysis, lower-level members and their associated data remain in the
relational database, whereas upper-level members and their associated data reside in
the Analytic Services database. Data and metadata are stored and managed across both
databases.
Applications and reporting tools retrieve data seamlessly directly from relational and
Analytic Services databases based on to the users’ requests. Analytic Services first
looks for data within the Analytic Services database; if it is not there, it queries the
relational data source through SQL commands.




B-32                                     Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                          Appendix B                Analytic Integration Services Overview




    Hybrid Analysis Architecture

           OLAP
       Metadata Catalog




                           Analytic Integration                                                 Administration
                                Services                                                          Console




                                    SQL



     Data warehouse/mart                                         Analytic Services          Hyperion
                                                                      Server               OLAP tools


                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Hybrid Analysis Architecture
To define the Hybrid Analysis relational source in Analytic Integration Services Console,
you create the OLAP model and associated metaoutlines that link to the relational data
source. The information that enables Hybrid Analysis is stored in the OLAP Metadata
Catalog database, which describes the nature, source, location, and type of data in the
Hybrid Analysis relational source.
You create and populate a Hybrid Analysis Analytic Services database by loading
members and data. At this point, the Hybrid Analysis architecture is in place:
 • The lower-level members and their associated data remain in the relational
   database.
 • The data in the relational database is mapped to the Analytic Services outline defined
   by Hybrid Analysis.
 • The outline resides in the Analytic Services database.



Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                                 B-33
                                                                Module 6 Appendices
Appendix B Analytic Integration Services Overview

 • Upper-level members and their associated data reside in the Analytic Services
   database.
Applications and reporting tools, such as Essbase Spreadsheet Add-in, Web Analysis,
and Financial Reporting, can retrieve data seamlessly from both databases. Using the
dimension and member structure defined in the outline, Analytic Services determines the
location of a member and then retrieves data from either the multidimensional database
or the Hybrid Analysis relational source. If the data resides in the Hybrid Analysis
relational source, Analytic Services retrieves the data through SQL commands.
To control and manage Hybrid Analysis data retrieval, you can enable or disable
dimensions for Hybrid Analysis using Outline Editor in Administration Console.




B-34                              Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                          Appendix B                Analytic Integration Services Overview



    Creating Hybrid Analysis Metaoutlines and
    Analytic Services Databases

    1. Define the lowest member level in a dimension to be stored in the
       Analytic Services database.
    2. Specify Hybrid Analysis member levels (relationally stored children).
    3. Load members and data to Analytic Services




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Creating Hybrid Analysis Metaoutlines and Analytic Services
Databases
To create a Hybrid Analysis metaoutline, you perform the following tasks:
 1. Specify the Analytic Services outline leaf members for each Hybrid Analysis enabled
    dimension. That is, specify the lowest-level dimension member for which Analytic
    Integration Services loads members and data to Analytic Services.
 2. Identify the corresponding Hybrid Analysis dimension member levels for which
    Analytic Integration Services makes the relationally stored data available to Analytic
    Services.
 3. Connect to Analytic Services and perform a member load and a data load to create
    and populate the multidimensional database.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                     B-35
                                                                                           Module 6 Appendices
Appendix B Analytic Integration Services Overview




    Advanced Relational Access

       Provides direct access to data stored in relational databases
       Enables users to perform OLAP on very large data sets
       Enables real-time analysis and reporting




                                          Hyperion                  Analytic Services       Relational data
                                         OLAP tools                      Server                 source
                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Advanced Relational Access Overview
Integration Services uses Advanced Relational Access to give Analytic Services end
users direct access to data from relational databases or data warehouses. This feature
enables users to perform online analytical processing (OLAP) on very large data sets.
Provided that the relational data source includes near-real-time data, Advanced
Relational Access enables real-time data analysis and reporting.
When Advanced Relational Access is enabled, Analytic Integration Server builds an
outline for which only the accounts dimension resides in Analytic Services. For all non-
accounts dimensions, Integration Server builds the Analytic Services outline only to the
dimension level.
With Advanced Relational Access, all members of the dimension are accessed directly
from the relational data source. Queries to the database or data warehouse are made
using multi-dimensional expressions (MDX) which are translated into SQL statements




B-36                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                           Appendix B                Analytic Integration Services Overview



    Creating Advanced Relational Access
    Metaoutlines

    You enable Advanced Relational Access at the metaoutline level.




                              © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Enabling Advanced Relational Access
Advanced Relational Storage is enabled at the metaoutline level.
 • Right-click the metaoutline name and select Enable Relational Storage from the shortcut
   menu.
 • Click the metaoutline name to select it, and then select Edit > Enable Relational Storage.




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                                      B-37
                                                                                           Module 6 Appendices
Appendix B Analytic Integration Services Overview



    Enabling Relational OLAP Using Analytic
    Integration Services

    1. Create an Advanced Relational Access metaoutline based on a valid
       OLAP model
    2. Load members to create the Analytic Services database outline
    3. Retrieve and analyze source data




                             © 2005 Hyperion Solutions Corporation. All Rights Reserved.




Enabling Relational OLAP Using Analytic Integration Services
Advance Relational Access enables online analytical processing on relationally stored data.
It enables you to create ROLAP applications using Analytic Integration Services to analyze
large data sets.
This process involves the following steps:
 1. Create an Advanced Relational Access metaoutline.
   a. Build an OLAP model that supports Advanced Relational Access by mapping OLAP
      model objects to the tables and columns in the relational database or data warehouse.
   b. Create a valid metaoutline based on the OLAP model according to your specific
      reporting and data analysis requirements and enable Advanced Relational Storage.
 2. Perform a member load to create an Analytic Services outline.
 3. Use Hyperion OLAP tools to connect to the Analytic Services database, and then
    retrieve and analyze data from the relational source.


B-38                                    Hyperion System 9 BI+ Essbase Analytics Bootcamp
Module 6 Appendices
                                  Appendix B    Analytic Integration Services Overview




            Summary
            In this lesson, you should have learned to:
           • Describe the components of Analytic Integration Services
           • Describe the data integration implementation process
           • Describe OLAP models and metaoutlines
           • Load source data to create applications and databases
           • Create drill-through reports
           • Enable Hybrid Analysis and Advance Relational Access




Hyperion System 9 BI+ Essbase Analytics Bootcamp                                 B-39
                                                          Module 6 Appendices
Appendix B Analytic Integration Services Overview




B-40                            Hyperion System 9 BI+ Essbase Analytics Bootcamp

								
To top