Hyperion Essbase Admin Guide

  • Upload
    kgoof

  • View
    242

  • Download
    0

Embed Size (px)

Citation preview

  • 8/18/2019 Hyperion Essbase Admin Guide

    1/1109

    Oracle® Essbase

    Database Administrator's Guide

    Release 11.1.2.4

  • 8/18/2019 Hyperion Essbase Admin Guide

    2/1109

    Essbase Database Administrator's Guide, 11.1.2.4

    Copyright © 1996, 2015, Oracle and/or its affiliates. All rights reserved.

    Authors: EPM Information Development Team

    This software and related documentation are provided under a license agreement containing restrictions on use anddisclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement orallowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit,perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilationof this software, unless required by law for interoperability, is prohibited.

    The information contained herein is subject to change without notice and is not warranted to be error-free. If you findany errors, please report them to us in writing.

    If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

    U.S. GOVERNMENT END USERS:

    Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or

    documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicableFederal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure,modification, and adaptation of the programs, including any operating system, integrated software, any programs installedon the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

    This software or hardware is developed for general use in a variety of information management applications. It is notdeveloped or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take allappropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliatesdisclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

    Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respectiveowners.

    Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used underlicense and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and theAMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

    This software or hardware and documentation may provide access to or information about content, products, and servicesfrom third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreementbetween you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurreddue to your access to or use of third-party content, products, or services, except as set forth in an applicable agreementbetween you and Oracle.

  • 8/18/2019 Hyperion Essbase Admin Guide

    3/1109

    Contents

    Documentation Accessibility   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    Documentation Feedback  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    Part I. Understanding Essbase  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    Chapter 1. Introducing Essbase  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Essbase Product Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Essbase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    Sample Essbase Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    Administration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    Essbase Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    Provider Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    Smart View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    Application Programming Interface (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    Developer Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    Lifecycle Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    Integration with Existing Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    Data Integration  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    Ease of Server and Database Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    Mission Critical Applications in Web-based Environments . . . . . . . . . . . . . . . . . . . . 50

    Powerful Querying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Write-Back and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Ease of Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Chapter 2. Quick Start for Implementing Essbase  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    Chapter 3. Understanding Multidimensional Databases  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    OLAP and Multidimensional Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    Dimensions and Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    iii

  • 8/18/2019 Hyperion Essbase Admin Guide

    4/1109

    Outline Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    Dimension and Member Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    Standard Dimensions and Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    Sparse and Dense Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    Selection of Dense and Sparse Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Data Blocks and the Index Sy stem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    Multiple Data Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    The Essbase Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Chapter 4. Case Study: Designing a Single-Server, Multidimensional Database  . . . . . . . . . . . . . . . . . . . . . . . 77

    Process for Designing a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    Case Study: The Beverage Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    Analyzing and Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    Analyzing Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    Identify ing User Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    Planning for Security in a Multiple User Environment . . . . . . . . . . . . . . . . . . . . . . . . 81

    Creating Database Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    Drafting Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    Dimension and Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    Dimension Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    Member Storage Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    Checklist for Dimension and Member Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    Designing an Outline to Optimize Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    Checking System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    Loading Test Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    Defining Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

    Consolidation of Dimensions and Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

    Tags and Operators on Example Measures Dimension . . . . . . . . . . . . . . . . . . . . . . . . 98

    Accounts Dimension Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    Formulas and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    Dynamic Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    Two-Pass Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    Checklist for Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Defining Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Verifying the Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    Chapter 5. About Administration Services  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    iv 

  • 8/18/2019 Hyperion Essbase Admin Guide

    5/1109

    Administration Services Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    Deploying Administration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    Starting Administration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    About Administration Services Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    Connecting to Administration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    Adding Essbase Administration Servers to Enterprise View . . . . . . . . . . . . . . . . . . . . . . 109

    Adding Essbase Serv ers to Enterprise View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    About Essbase Server Connections and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    About Essbase Administration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Part II. Designing and Creating Applications and Databases  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    Chapter 6. Creating Applications and Databases  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    Process for Creating Applications and Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

    Understanding Applications and Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

    Understanding Database Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Understanding Database Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    Understanding Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    Understanding Rules Files for Data Load and Dimension Build . . . . . . . . . . . . . . . . 117

    Understanding Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Understanding Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Understanding Security Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Understanding LROs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Understanding Member Select Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Understanding Triggers Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Creating Applications and Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Creating an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Creating a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    Annotating a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    Using Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    Rules for Setting Substitution Variable Names and Values . . . . . . . . . . . . . . . . . . . . 122

    Setting Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    Deleting Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    Updating Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Copying Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    Using Location Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

    Creating Location Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

    Editing or Deleting Location Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

     v 

  • 8/18/2019 Hyperion Essbase Admin Guide

    6/1109

  • 8/18/2019 Hyperion Essbase Admin Guide

    7/1109

    Alias Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

    Creating Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

    Creating and Managing Alias Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

    Setting Two-Pass Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

    Creating Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

    Naming Generations and Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

    Creating UDAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

    Adding Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

    Chapter 10. Working with Attributes  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    Process for Creating Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    Understanding Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

    Understanding Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    Understanding Members of Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . 164

    Understanding the Rules for Base and Attribute Dimensions and Members . . . . . . . 164

    Understanding the Rules for Attribute Dimension Association . . . . . . . . . . . . . . . . . 165

    Understanding the Rules for Attribute Member Association . . . . . . . . . . . . . . . . . . 165

    Understanding Attribute Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

    Comparing Attribute and Standard Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

    Understanding Two-Pass Calculations on Attribute Dimensions . . . . . . . . . . . . . . . 169

    Comparing Attributes and UDAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

    Designing Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

    Using Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

    Using Alternativ e Design Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

    Optimizing Outline Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

    Building Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

    Setting Member Names in Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

    Setting Prefix and Suffix Formats for Member Names of Attribute Dimensions . . . . . 173

    Setting Boolean Attribute Member Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

    Changing the Member Names in Date Attribute Dimensions . . . . . . . . . . . . . . . . . . 175

    Setting Up Member Names Representing Ranges of Values . . . . . . . . . . . . . . . . . . . 175

    Changing the Member Names of the Attribute Calculations Dimension . . . . . . . . . . 176

    Calculating Attribute Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

    Understanding the Attribute Calculations Dimension . . . . . . . . . . . . . . . . . . . . . . . 177

    Understanding the Default Attribute Calculations Members . . . . . . . . . . . . . . . . . . 179

    Viewing an Attribute Calculation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

    Accessing Attribute Calculations Members Using the Spreadsheet . . . . . . . . . . . . . . 180

    Optimizing Calculation and Retrieval Performance . . . . . . . . . . . . . . . . . . . . . . . . . 180

    Using Attributes in Calculation Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

     vii

  • 8/18/2019 Hyperion Essbase Admin Guide

    8/1109

    Understanding Attribute Calculation and Shared Members . . . . . . . . . . . . . . . . . . . 181

    Differences Between Calculating Attribute Members and Non-Attribute (Stored andDynamic Calc) Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

    Varying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

    About Varying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

    Implementing Varying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

    Functions Supporting Varying Attributes  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

    Limitations of Varying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

    Chapter 11. Linking Objects to Essbase Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    Understanding LROs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    Understanding LRO Types and Data Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

    Setting Up Permissions for LROs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

    Viewing and Deleting LROs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

    Exporting and Importing LROs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    Limiting LRO File Sizes for Storage Conservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    Chapter 12. Working with Typed Measures  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    About Typed Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    Working with Text Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

    Text Measures Overview and Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

    Text List Objects and Text List Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

    Working with Date Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    Date Measures Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

    Implementing Date Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

    Functions Supporting Date Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

    Performing Database Operations on Text and Date Measures . . . . . . . . . . . . . . . . . . . . 195

    Loading, Clearing, and Exporting Text and Date Measures . . . . . . . . . . . . . . . . . . . 195

    Consolidating Text and Date Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

    Retrieving Data With Text and Date Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    Limitations of Text and Date Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

    Working with Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    Overview of Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    Implementing Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    MDX Format Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

    Functions Supporting Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

    Limitations of Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

    Chapter 13. Drilling Through to Or acle Applications  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

    Overview of Drill-through to Oracle Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

     viii

  • 8/18/2019 Hyperion Essbase Admin Guide

    9/1109

    Understanding Drill-through URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

    Drill-through URL Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

    Drill-through URL XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

    List of Drillable Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

    Level 0 Boolean Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

    Creating and Managing Drill-through URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

    Chapter 14. Designing and Building Currency Conversion Applications  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

    About Currency Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

    About the Sample Currency Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

    Structure of Currenc y Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

    Main Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

    Currency Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

    Conversion Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

    Building Currency Conversion Applications and Performing Conversions . . . . . . . . . . . 211

    Creating Main Database Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

    Preparing Main Database Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

    Generating Currency Database Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

    Linking Main and Currency Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

    Converting Currency Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

    Tracking Currency Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

    Troubleshooting Currency Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

    Chapter 15. Designing Partitioned Applications  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

    Understanding Essbase Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219Partition Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

    Parts of a Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

    Data Sources and Data Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

    Overlapping Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

    Substitution Variables in Partition Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

    Attributes in Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  223

    Version and Encoding Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

    Partition Design Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

    Benefits of Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Partitioning Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

    Guidelines f or Partitioning a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

    Guidelines f or Partitioning Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

    Security for Partitioned Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

    Using Backup and Restore and Transaction Logging and Replay with PartitionedDatabases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

    ix 

  • 8/18/2019 Hyperion Essbase Admin Guide

    10/1109

    Replicated Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

    Rules for Replicated Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

    Advantages of Replicated Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    Disadvantages of Replicated Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    Performance Considerations for Replicated Partitions . . . . . . . . . . . . . . . . . . . . . . . 230

    Replicated Partitions and Port Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

    Transparent Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

    Rules for Transparent Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    Advantages of Transparent Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

    Disadvantages of Transparent Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

    Performance Considerations for Transparent Partitions . . . . . . . . . . . . . . . . . . . . . 235

    Calculating Transparent Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

    Performance Considerations for Transparent Partition Calculations . . . . . . . . . . . . 237

    Transparent Partitions and Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

    Transparent Partitions and Port Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

    Linked Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

    Advantages of Linked Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

    Disadvantages of Linked Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

    Drill Across and Linked Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

    Linked Partitions and Port Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

    Case Studies for Designing Partitioned Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

    Case Study 1: Partitioning an Existing Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

    Case Study 2: Connecting Existing Related Databases . . . . . . . . . . . . . . . . . . . . . . . 242

    Case Study 3: Linking Two Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

    Chapter 16. Creating and Maintaining Partitions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

    Process for Creating Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

    Choosing a Partition Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

    Setting up the Data Source and the Data Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

    Setting the User Name and Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    Defining a Partition Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    Mapping Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

    Mapping Members with Different Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

    Mapping Data Cubes with Extra Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

    Mapping Shared Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

    Importing Member Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

    Mapping Attributes Associated with Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

    Creating Advanced Area-Specific Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

    Validating Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

     x 

  • 8/18/2019 Hyperion Essbase Admin Guide

    11/1109

  • 8/18/2019 Hyperion Essbase Admin Guide

    12/1109

    Defining Data Load Field Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

    Performing Operations on Records, Fields, and Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

    Validating, Saving, and Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

    Requirements for Valid Data Load Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

    Requirements for Valid Dimension Build Rules Files` . . . . . . . . . . . . . . . . . . . . . . . 290

    Copying Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

    Printing Rules Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

    Chapter 19. Using a Rules File to Perform Operations on Records, Fields, and Data  . . . . . . . . . . . . . . . . . . . 293

    Performing Operations on Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

    Selecting Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

    Rejecting Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

    Combining Multiple Select and Reject Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

    Setting the Records Displayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

    Defining Header Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

    Performing Operations on Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

    Ignoring Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

    Ignoring Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

    Arranging Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

    Mapping Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

    Changing Field Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

    Performing Operations on Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

    Defining Columns as Data Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

    Adding to and Subtracting from Ex isting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

    Clearing Existing Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

    Replacing All Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

    Scaling Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

    Flipping Field Signs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

    Chapter 20. Performing and Debugging Data Loads or Dimension Builds  . . . . . . . . . . . . . . . . . . . . . . . . . . 305

    Prerequisites for Data Loads and Dimension Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

    Performing Data Loads or Dimension Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

    Stopping Data Loads or Dimension Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

    Tips for Loading Data and Building Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Performing Deferred-Restructure Dimension Builds . . . . . . . . . . . . . . . . . . . . . . . . 307

    Determining Where to Load Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

    Dealing with Missing Fields in a Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

    Loading a Subset of Records from a Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

    Saving and Reusing Data Load Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

     xii

  • 8/18/2019 Hyperion Essbase Admin Guide

    13/1109

    Optimizing Name Lookup and Insertion During Dimension Build and OutlineEditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

    Debugging Data Loads and Dimension Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

    Verifying that Essbase Server Is Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

    Verifying that the Data Source Is Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

    Checking Error Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

    Recovering from an Essbase Server Crash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

    Resolving Problems with Data Loaded Incorrectly . . . . . . . . . . . . . . . . . . . . . . . . . . 313

    Creating Rejection Criteria for End of File Markers . . . . . . . . . . . . . . . . . . . . . . . . . 314

    Understanding How Essbase Processes a Rules File . . . . . . . . . . . . . . . . . . . . . . . . . 315

    Understanding How Essbase Processes Missing or Invalid Fields During a DataLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

    Chapter 21. Understanding Advanced Dimension Building Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

    Understanding Build Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

    Using Generation References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320Using Level References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

    Using Parent-Child References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

    Adding a List of New  Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

    Adding Members Based On String Matches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

    Adding Members as Siblings of the Lowest Level . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

    Adding Members to a Specified Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

    Building Attribute Dimensions and Associating Attributes . . . . . . . . . . . . . . . . . . . . . . . 329

    Building Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

    Associating Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330Updating Attribute Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

    Removing Attribute Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

    Working with Multilevel Attribute Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

    Working with Numeric Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

    Reviewing the Rules for Building Attribute and Base Dimensions . . . . . . . . . . . . . . . 338

    Building Shared Members by Using a Rules File  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

    Sharing Members at the Same Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

    Sharing Members at Different Generations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

    Sharing Non-Level 0 Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Building Multiple Roll-Ups by Using Level References . . . . . . . . . . . . . . . . . . . . . . . 345

    Creating Shared Roll-Ups from Multiple Data Sources . . . . . . . . . . . . . . . . . . . . . . 346

    Building Duplicate Member Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

    Uniquely Identifying Members Through the Rules File . . . . . . . . . . . . . . . . . . . . . . 348

    Building Qualified Member Names Through the Rules File . . . . . . . . . . . . . . . . . . . 348

     xiii

  • 8/18/2019 Hyperion Essbase Admin Guide

    14/1109

    Part IV. Calculating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

    Chapter 22. Calculating Essbase Databases  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

    About Database Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

    Outline Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

    Calculation Script Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

    About Multidimensional Calculation Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

    Setting the Default Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

    Calculating Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

    Canceling Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

    Parallel and Serial Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

    Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

    Chapter 23. Developing Formulas for Block Storage Databases  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

    Using Formulas and Formula Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

    Process for Creating Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362Understanding Formula Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

    Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

    Dimension and Member Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

    Constant Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

    Nonconstant Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

    Basic Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

    Checking Formula Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

    Using Functions in Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

    Conditional Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369Examples of  Conditional Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

    Mathematical Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

    Member Relationship Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373

    Range Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

    Financial Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

    Member-Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

    Value-Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

    Forecasting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

    Statistical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383Date and Time Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

    Calculation Mode Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

    Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

    Using Substitution and Environment Variables in Formulas . . . . . . . . . . . . . . . . . . . . . 384

    Using Substitution Variables in Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

    Using Environment Variables in Formulas  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

     xiv 

  • 8/18/2019 Hyperion Essbase Admin Guide

    15/1109

    Using Formulas on Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

    Displaying Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

    Chapter 24. Reviewing Examples of Formulas for Block Storage Databases  . . . . . . . . . . . . . . . . . . . . . . . . . 387

    Calculating Period-to-Date Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

    Calculating Rolling Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

    Calculating Monthly  Asset Movements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

    Testing for #MISSING Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

    Calculating an Attribute Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

    Chapter 25. Defining Calculation Order  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

    Data Storage in Data Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

    Member Calculation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

    Understanding the Effects of Member Relationships . . . . . . . . . . . . . . . . . . . . . . . . 396

    Determining Member Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

    Ordering Dimensions in the Database Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397Avoiding Forward Calculation References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

    Block Calculation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

    Data Block Renumbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

    Cell Calculation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

    Cell Calculation Order: Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

    Cell Calculation Order: Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

    Cell Calculation Order: Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

    Cell Calculation Order: Example 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

    Cell Calculation Order for Formulas on a Dense Dimension . . . . . . . . . . . . . . . . . . 408Calculation Passes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

    Calculation of Shared Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

    Chapter 26. Understanding Intelligent Calculation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

    Introducing Intelligent Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

    Benefits of Intelligent Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

    Intelligent Calculation and Data Block Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

    Limitations of Intelligent Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

    Considerations for Essbase Intelligent Calculation on Oracle Exalytics In-Memory 

    Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

    Using Intelligent Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

    Turning Intelligent Calculation On and Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

    Using Intelligent Calculation for a Default, Full Calculation . . . . . . . . . . . . . . . . . . . 416

    Using Intelligent Calculation for a Calculation Script, Partial Calculation . . . . . . . . . 417

    Using the SET CLEARUPDATESTATUS Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

     xv 

  • 8/18/2019 Hyperion Essbase Admin Guide

    16/1109

    Understanding SET CLEARUPDATESTATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

    Choosing a SET CLEARUPDATESTATUS Setting . . . . . . . . . . . . . . . . . . . . . . . . . 418

    Reviewing Examples That Use SET CLEARUPDATESTATUS . . . . . . . . . . . . . . . . . 418

    Calculating Data Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

    Calculating Dense Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

    Calculating Sparse Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

    Handling Concurrent Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

    Understanding Multiple-Pass Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422

    Reviewing Examples and Solutions for Multiple-Pass Calculations . . . . . . . . . . . . . . 422

    Understanding the Effects of Intelligent Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

    Changing Formulas and Accounts Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

    Using R elationship and Financial Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

    Restructuring Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

    Copying and Clearing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

    Converting Currencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

    Chapter 27. Dynamically Calculating Data Values  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

    Understanding Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

    Understanding Dynamic Calc Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

    Understanding Dynamic Calc and Store Members . . . . . . . . . . . . . . . . . . . . . . . . . 428

    Retrieving the Parent Value of Dynamically Calculated Child Values . . . . . . . . . . . . 429

    Benefitting f rom Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429

    Using Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

    Choosing Values to Calculate Dynamically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

    Dense Members and Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

    Sparse Members and Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

    Two-Pass Members and Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

    Parent-Child Relationships and Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . 431

    Calculation Scripts and Dynamic Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

    Formulas and Dynamically Calculated Members . . . . . . . . . . . . . . . . . . . . . . . . . . . 432

    Scripts and Dynamically Calculated Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432

    Dynamically  Calculated Children . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

    Choosing Between Dynamic Calc and Dynamic Calc and Store . . . . . . . . . . . . . . . . . . . 433

    Recommendations for Sparse Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . 433

    Recommendations for Members with Specific Characteristics . . . . . . . . . . . . . . . . . 434

    Recommendations for Dense Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . 434

    Recommendations for Data with Many Concurrent Users . . . . . . . . . . . . . . . . . . . . 434

    Understanding How Dynamic Calculation Changes Calculation Order . . . . . . . . . . . . . . 435

    Calculation Order for Dynamic Calculation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

     xvi

  • 8/18/2019 Hyperion Essbase Admin Guide

    17/1109

    Calculation Order for Dynamically Calculating Two-Pass Members . . . . . . . . . . . . . 436

    Calculation Order for Asymmetric Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

    Reducing the Impact on Retrieval Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

    Displaying a Retrieval Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

    Displaying a Summary of Dynamically Calculated Members . . . . . . . . . . . . . . . . . . 439

    Increasing Retrieval Buffer Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

    Using Dynamic Calculator Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

    Reviewing D ynamic Calculator Cache Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

    Using Dynamic Calculations with Standard Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 441

    Creating Dynamic Calc and Dynamic Calc and Store Members . . . . . . . . . . . . . . . . . . . 442

    Restructuring Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

    Dynamically Calculating Data in Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

    Chapter 28. Calculating Time Series Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

    Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

    Calculating First, Last, and Average Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

    Specifying Accounts and Time Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446

    Reporting the Last Value for Each Time Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446

    Reporting the First Value for Each Time Period . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

    Reporting the Average Value for Each Time Period . . . . . . . . . . . . . . . . . . . . . . . . . 448

    Skipping #MISSING and Zero Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448

    Considering the Effects of First, Last, and Average Tags . . . . . . . . . . . . . . . . . . . . . . 448

    Placing Formulas on Time and Accounts Dimensions . . . . . . . . . . . . . . . . . . . . . . . 449

    Calculating Period-to-Date Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449

    Using Dynamic Time Series Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450

    Specifying Alias Names for Dynamic Time Series Members . . . . . . . . . . . . . . . . . . . 452

    Applying Predef ined Generation Names to Dynamic Time Series Members . . . . . . . 452

    Retrieving Period-to-Date Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

    Using Dynamic Time Series Members in Transparent Partitions . . . . . . . . . . . . . . . . . . 453

    Chapter 29. Developing Calculation Scripts for Block Storage Databases  . . . . . . . . . . . . . . . . . . . . . . . . . . 455

    Using Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456

    Process for Creating Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

    Understanding Calculation Script Syntax   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458Adding Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

    Checking Sy ntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460

    Using Calculation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

    Calculating the Database Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

    Controlling the Flow of Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

    Declaring Data Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

     xvii

  • 8/18/2019 Hyperion Essbase Admin Guide

    18/1109

    Specifying Global Settings for a Database Calculation . . . . . . . . . . . . . . . . . . . . . . . 463

    Using Formulas in Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

    Basic Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

    Conditional Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

    Interdependent Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466

    Using a Calculation Script to Control Intelligent Calculation . . . . . . . . . . . . . . . . . . . . . 466

    Grouping Formulas and Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

    Calculating a Series of Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

    Calculating a Series of Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

    Using Substitution, Runtime Substitution, and Environment Variables in CalculationScripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468

    Using Substitution Variables in Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . 468

    Using Runtime Substitution Variables in Calculation Scripts . . . . . . . . . . . . . . . . . . 469

    Using Environment Variables in Calculation Scripts and Formulas . . . . . . . . . . . . . 471

    Clearing and Copying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

    Clearing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

    Copying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

    Calculating a Subset of a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

    Calculating Lists of Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

    Using the FIX Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

    Using the Ex clude Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

    Exporting Data Using the DATAEXPORT Command . . . . . . . . . . . . . . . . . . . . . . . . . . 477

    Exporting Data into a Relational Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

    Advantages and Disadvantages of Exporting Data Using a Calculation Script . . . . . . 480

    Enabling Calculations on Potential Blocks  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480

    Using DATACOPY to Copy Existing Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481

    Using SET CREATENONMISSINGBLK to Calculate All Potential Blocks . . . . . . . . . 482

    Using Calculation Scripts on Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

    Writing Calculation Scripts for Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

    Controlling Calculation Order for Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483

    Saving, Executing, and Copying Calculations Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 483

    Saving Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484

    Executing Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484

    Copying Calculation Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

    Checking Calculation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

    Estimating Disk Size for a Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486

    Chapter 30. Reviewing Examples of Calculation Scripts for Block Storage Databases  . . . . . . . . . . . . . . . . . . 487

    About These Calculation Script Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

    Calculating Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

     xviii

  • 8/18/2019 Hyperion Essbase Admin Guide

    19/1109

    Calculating Database Subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488

    Loading New Budget Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489

    Calculating Product Share and Market Share Values . . . . . . . . . . . . . . . . . . . . . . . . . . . 490

    Allocating Costs Across Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491

    Allocating Values within a Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492

    Allocating Values Across Multiple Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

    Goal-Seeking Using the LOOP Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496

    Forecasting Future Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499

    Chapter 31. Using Parallel Calculation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501

    Using CALCPARALLEL Parallel Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

    Essbase Analysis of Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

    CALCPARALLEL Parallel Calculation Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . 502

    Relationship Between CALCPARALLEL Parallel Calculation and Other EssbaseFeatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503

    Checking Current CALCPARALLEL Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506Enabling CALCPARALLEL Parallel Calculation  . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

    Identifying Additional Tasks for Parallel Calculation . . . . . . . . . . . . . . . . . . . . . . . . 508

    Tuning CALCPARALLEL with Log Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

    Monitoring CALCPARALLEL Parallel Calculation . . . . . . . . . . . . . . . . . . . . . . . . . 509

    Using FIXPARALLEL Parallel Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511

    Chapter 32. Developing Custom-Defined Calculation Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

    Understanding Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

    Naming Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

    Creating Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514

    Using Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515

    Viewing Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515

    Updating Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515

    Copying Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516

    Removing Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516

    Refreshing the Catalog of Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517

    Chapter 33. Developing Custom-Defined Calculation Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

    Process for Creating Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

    Custom-Defined Function Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520

    Creating and Compiling a Java Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

    Installing Java Classes on Essbase Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522

    Registering Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523

    Using Registered Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524

     xix 

  • 8/18/2019 Hyperion Essbase Admin Guide

    20/1109

    Updating Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524

    Viewing Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525

    Removing Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526

    Copying Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526

    Performance Considerations for Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . 527

    Memory Considerations for Custom-Defined Functions . . . . . . . . . . . . . . . . . . . . . . . . 527

    Part V. Retrieving Data  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529

    Chapter 34. Understanding Report Script Basics  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

    Working With a Simple Report Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

    Understanding How Report Writer Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533

    Report Extractor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

    Parts of a Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535

    Parts of a Report Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536

    Planning Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536Considering Security and Multiple-User Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

    Reviewing the Process for Creating Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

    Creating Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538

    Saving Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538

    Executing Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

    Copying Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

    Developing Free-Form Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

    Chapter 35. Developing Report Scripts  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543

    Understanding Extraction Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543

    Understanding Formatting Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544

    Understanding Report Script Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544

    Designing the Page Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

    Creating Page, Column, and Row Headings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546

    Modifying Headings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547

    Creating Symmetric and Asymmetric Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548

    Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549

    Formatting Report Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549

    Formatting Page, Column, and Row Headings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550

    Adding Totals and Subtotals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553

    Changing How Data Is Displayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557

    Selecting and Sorting Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

    Selecting Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

    Selecting Members by Using Generation and Level Names . . . . . . . . . . . . . . . . . . . . 561

     xx 

  • 8/18/2019 Hyperion Essbase Admin Guide

    21/1109

    Selecting Duplicate Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562

    Selecting Dynamic Time Series Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563

    Selecting Members by Using Boolean Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . 564

    Selecting Members by Using Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . 565

    Selecting Members by Using Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565

    Selecting Members by Using UDAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567

    Selecting Members by Using Wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

    Suppressing Shared Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

    Selecting How Member Names are Displayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569

    Sorting Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570

    Restricting and Ordering Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571

    Understanding the Order of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572

    Using TOP, BOTTOM, and ORDERBY with Sorting Commands . . . . . . . . . . . . . . . 572

    Using RESTRICT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572

    Using ORDERBY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573

    Using ORDERBY with Formatting Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573

    Using TOP and BOTTOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573

    Converting Data to a Different Currenc y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575

    Generating Reports Using the C, Visual Basic, and Grid APIs . . . . . . . . . . . . . . . . . . . . . 576

    Chapter 36. Writing MDX Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

    Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

    Understanding Elements of a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

    Introduction to Sets and Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578

    Rules for Specifying Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580

    Introduction to Axis Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581

    Cube Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583

    Using Functions to Build Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583

    Exercise: Using the MemberRange Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584

    Exercise: Using the CrossJoin Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584

    Exercise: Using the Children Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586

    Working with Levels and Generations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586

    Exercise: Using the Members Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587

    Using a Slicer Axis to Set Query Point-of-View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588

    Exercise: Limiting the Results with a Slicer Axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588

    Common Relationship Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589

    Performing Set Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590

    Exercise: Using the Intersect Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590

    Exercise: Using the Union Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

     xxi

  • 8/18/2019 Hyperion Essbase Admin Guide

    22/1109

  • 8/18/2019 Hyperion Essbase Admin Guide

    23/1109

    Assigning Access to Users in Shared Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

    Launching and Logging In to Shared Services Console . . . . . . . . . . . . . . . . . . . . . . . 627

    Assigning Server Access in Shared Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627

    Assigning Application Access in Shared Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

    Assigning Database Calculation and Filter Access in Shared Services . . . . . . . . . . . . . 628

    Assigning Application Access T ype in Shared Services . . . . . . . . . . . . . . . . . . . . . . . 629

    Migrating Essbase from Native Security to EPM System Security . . . . . . . . . . . . . . . . . . 629

    Application and Database Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631

    User and Group Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631

    User and Group Identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633

    Security Information Recovery in EPM System Security Mode . . . . . . . . . . . . . . . . . . . . 634

    User and Group Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

    Application Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

    Chapter 40. Managing the Essbase Security File (essbase.sec)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635

    About the Essbase Security File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635

    Managing Essbase Security Back up Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636

    Restoring the Essbase Security File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637

    Changing Essbase Security Backup File Comparison Frequency . . . . . . . . . . . . . . . . . . . 638

    Reconciling the Essbase Security File to the State of Essbase on an External Disk . . . . . . . 639

    Managing Essbase Security File Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639

    Displaying the Essbase Security File Fragmentation Status . . . . . . . . . . . . . . . . . . . . 639

    Compacting the Essbase Security File While the Agent is Running . . . . . . . . . . . . . . 640

    Exporting the Essbase Security File to a Readable Format . . . . . . . . . . . . . . . . . . . . . . . . 640

    Chapter 41. Controlling Access to Database Cells Using Security Filters  . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

    About Security Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

    Defining Permissions Using Security Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

    Creating Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643

    Filtering Members Versus Filtering Member Combinations . . . . . . . . . . . . . . . . . . . 643

    Filtering Using Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645

    Filtering with Attribute Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646

    Metadata Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646

    Managing Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647Viewing Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647

    Editing Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647

    Copying Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647

    Renaming Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

    Deleting Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

    Assigning Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

     xxiii

  • 8/18/2019 Hyperion Essbase Admin Guide

    24/1109

    Assigning Filters in EPM System Security Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

    Overlapping Filter Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649

    Overlapping Metadata Filter Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649

    Overlapping Access Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650

    Part VII. Enabling Multi-Language Applications Through Unicode  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653

    Chapter 42. Understanding the Essbase Unicode Implementation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655

    About Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655

    When to Use Unicode-Mode Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656

    Locales and the ESSLANG Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657

    Unicode and Non-Unicode Application Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657

    Unicode and Non-Unicode Essbase Server Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658

    Increased Name Lengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658

    Compatibility Between Different Versions of Client Programs and EssbaseApplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658

    Unicode-Enabled C API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659

    Identification of Text Encoding and Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659

    Unicode-Enabled Administration Tools  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659

    Retrieval Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660

    Report Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660

    Spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660

    SQL Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660

    Sample_U.Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661