Download - Hyperion Essbase Admin Guide
-
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