Oracle® Essbase

New Features

Release 11.1.2


Copyright © 2010, 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 and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed 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 decompilation of 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 find any errors, please report them to us in writing.

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

U.S. GOVERNMENT RIGHTS: Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

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

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

This software and documentation may provide access to or information on content, products, and services from 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. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.


Table of Contents:

EPM System Security for Users and Groups

Allocations on Aggregate Storage Databases

Custom Calculations on Aggregate Storage Databases

Dynamic Write-back to Blocks During Calculation

Member Query Improvements

Alias Table Enhancements

Increased Length for User, Group, and Filter Names

Conversion of Block Storage Outlines to Unicode-mode Aggregate Storage Outlines

IPv6 Support

OCI Support

Monitoring Progress of Dimension Builds and Data Loads

Dataload Error Debugging Improvements

Increased Limit for MDX Query Size

User Names with Leading Special Characters

MaxL Shell Error Handling Improvements

Exception Messages in Calculation Scripts

Metadata Export to XML

Essbase Failover Support with OPMN

User and Group Identities

Specifying Shared Services Project Names

MaxL Support in Java API

Calculation with Varying Attributes

Essbase API

New Calculation Functions

New Calculation Commands

New essbase.cfg Configuration Settings

MaxL Statements—Grammar Changes

This document describes the new features in Oracle Essbase Release 11.1.2. For detailed information on these features, see the Oracle Essbase Database Administrator's Guide, Oracle Essbase Technical Reference, and Oracle Essbase API Reference.

For information about the new features in Oracle Essbase Administration Services, see Essbase Administration Services New Features.

EPM System Security for Users and Groups

When running Essbase in Oracle Hyperion Enterprise Performance Management System security mode, Essbase obtains user and group details (including user and group information and provisioning to Essbase applications) from Oracle's Hyperion® Shared Services. Essbase does not store all users and groups in the Essbase security file (essbase.sec); therefore, an Essbase Administrator does not need to explicitly synchronize security between Essbase and Shared Services.

When a user logs on to Essbase, Essbase queries Shared Services for that user’s information. The privileges with which a user starts a session are preserved throughout the session, regardless of whether the user’s privileges are changed in Shared Services during the session.

The Essbase Administrator can optionally delete a user or group from the Essbase security file. Any calculation or filter assignments are removed; however, the user still exists in Shared Services and is not deprovisioned.

Externally authenticated Essbase groups can be created. The specified group must exist in Shared Services.

Additionally, Essbase accepts the provider name along with the user or group name for user and group management and authentication. For example, users can be created and can log in with the format userName@providerName. This enables the coexistence of multiple Essbase users and groups with the same name, who are hosted on different provider domains. See User and Group Identities.

Allocations on Aggregate Storage Databases

Allocations are used in the budgeting process to distribute revenues or costs.

The allocations feature allows you to allocate a given source amount to a target range of cells in an aggregate storage database. The source amount can be allocated to the target proportionately, based on a given basis, or the source amount can be spread evenly to the target.

You can perform aggregate storage allocations using the MaxL statement execute allocation. Using the Essbase API, use the EssPerformAllocationAso function and provide the information about the allocation in the ESS_PERF_ALLOC_T API structure.

Custom Calculations on Aggregate Storage Databases

Custom calculations extend the analytical capabilities of Essbase by enabling the execution of recurring calculations on aggregate storage databases.

You can write custom calculations for aggregate storage databases that update target level-0 cells. Custom calculation scripts are expressed in MDX.

Custom calculations on aggregate storage databases can be useful when the database is used for general ledger reporting, where double-entry accounting is in effect. Debit items, such as assets and expenses, must balance with credit items, such as equity and revenue.

You can perform custom calculations on an aggregate storage database using the MaxL statement execute calculation (aggregate storage version). Using the Essbase API, use EssPerformCustomCalcASO to perform or verify a custom calculation. Provide the information for the custom calculation in the ESS_PERF_CUSTCALC_T structure.

Dynamic Write-back to Blocks During Calculation

Using the @XWRITE calculation function, Essbase can write to blocks other than the ones being calculated. The write can occur in the same database or on a remote database. @XWRITE, like @XREF, uses a location alias.

Member Query Improvements

Applications developed to work with Essbase send numerous requests to Essbase upon startup or as a response to a user action. To improve response times when users query for member information, you can have the application send multiple similar queries as one, using these new API functions:

  • EssOtlGetMemberInfoArray (an array version of GetMemberInfo)

  • EssOtlQueryMembersExArray (an array version of QueryMembersEx)

Alias Table Enhancements

Increased Limit for Alias Tables

Essbase supports 32 alias tables for block storage and aggregate storage databases.

Multiple Language Code Support for Alias Tables

Using the Essbase API, you can specify multiple language codes for an alias table. When you create an alias table, a language code is not specified. You can get the set of language codes and clear the language codes associated with an alias table.

When clearing aliases from an alias table, language codes are removed from the alias table.

When copying an alias table, language codes are removed from the copied alias table.

When renaming an alias table, language codes are preserved in the renamed alias table.

Increased Length for User, Group, and Filter Names

Essbase supports these limits for user, group, and filter names:

  • Non-Unicode application limit: 256 bytes

  • Unicode-mode application limit: 256 characters

Conversion of Block Storage Outlines to Unicode-mode Aggregate Storage Outlines

In addition to supporting the conversion of non-Unicode block storage outlines to non-Unicode aggregate storage outlines, Essbase supports these conversion scenarios:

  • Non-Unicode block storage outline to Unicode aggregate storage outline

  • Unicode block storage outline to Unicode aggregate storage outline

IPv6 Support

Essbase supports the IPv6 internet protocol on Microsoft Windows 2008 and all UNIX platforms.

OCI Support

Essbase supports connecting to Oracle databases using the Oracle Call Interface (OCI). You can load data from Oracle databases using Data Prep Editor in Administration Services Console by specifying an OCI connect identifier. Additionally, you can specify an OCI connect identifier when deploying a cube using the MaxL deploy statement. For information on Oracle Essbase Studio support for OCI, see Oracle Essbase Studio New Features.

Monitoring Progress of Dimension Builds and Data Loads

Previously, data loads and dimension builds were always synchronized processes, meaning that Essbase has to wait for them to finish before making modifications.

If you use asynchronous data loads and dimension builds, during the process you can query for this information:

  • State of dimension build/data load process: whether it is in progress, in the final stages, or completed

  • Stage of the dimension build/data load process: whether opening the data source, reading the outline, building dimensions, verifying an outline, or writing an outline

  • Number of data records processed and rejected so far

  • The name and location of the error file

  • Data records processed and rejected so far

These C Main API functions are added to handle asynchronous data loads and dimension builds:

  • EssAsyncBuildDim issues an asynchronous dimension build request

  • EssAsyncImport and EssAsyncImportASO issue asynchronous data load requests

  • EssGetAsyncProcLog gets the error log for the asynchronous process

  • EssGetAsyncProcState queries the state of the asynchronous process

  • EssCancelAsyncProc cancels the asynchronous process

  • EssCloseAsyncProc closes the connection for a finished or canceled asynchronous dimension build or data load

Dataload Error Debugging Improvements

Essbase offers improved dataload error messages for debugging purposes, and records causing errors are included in the log files.

These C Main API functions are added to improve debugging of dataload failures:

  • EssUpdateEx—Sends an update specification to the active database as a single string.

  • EssUpdateUtf8Ex—Sends an update specification to the active database as a single UTF-8-encoded string.

  • EssUpdateFileEx—Sends an update specification to the active database from a file.

  • EssUpdateFileUtf8Ex—Sends an update specification to the active database from a UTF-8-encoded file.

  • EssUpdateFileASOEx—Sends an update specification to the active aggregate storage database from a file.

  • EssUpdateFileASOUtf8Ex—Sends an update specification to the active aggregate storage database from a UTF-8-encoded file.

Increased Limit for MDX Query Size

Essbase supports MDX queries that exceed the 232 query limit. Essbase sends 64-bit values representing cell offsets to the client. The Java MDX API now handles 64-bit offsets.

User Names with Leading Special Characters

User names can contain any characters defined within the code page referenced by the ESSLANG variable.

MaxL Shell Error Handling Improvements

The MaxL Shell IfError command can detect syntactical errors, nested script errors, and lack-of-permission errors. The MaxL Shell Exit command can accept a non-zero argument to return an exit status to the parent shell.

Exception Messages in Calculation Scripts

Essbase can exit calculations immediately under specified logical conditions. You can use the IF... ELSEIF calculation command block to specify the logical error conditions, and use the new @RETURN function to exit the calculation with customized error messages and levels.

Metadata Export to XML

You can extract metadata, either from the active database outline or an input outline file, to an XML file. Comparing versions of XML files enables you to view and track changes made to the outline over time.

The MaxL statement export outline is added to support exporting the metadata.

Essbase Failover Support with OPMN

Essbase supports clustering of Essbase servers to provide active-passive failover with write-back capability. Active-passive Essbase failover clusters use the service failover functionality of the Oracle Process Manager and Notification (OPMN) Server. Essbase agent and server processes use leases to ensure that at any given point-in-time there is one and only one owner for a given shared resource. These processes acquire a lease against a particular shared resource upon startup, continue to renew the lease during their lifetime, and surrender the lease upon termination.

These configuration settings supply tuning parameters that support Essbase failover clustering:

  • AGENTLEASEEXPIRATIONTIME—Sets the maximum amount of time an agent can own a lease before the lease expires.

  • AGENTLEASEMAXTRETRYCOUNT—Specifies the number of times the agent attempts to acquire or renew a lease. If these attempts are unsuccessful, the agent terminates itself.

  • AGENTLEASERENEWALTIME—Specifies the time interval in seconds after which the agent attempts to renew lease. This should always be less than AGENTLEASEEXPIRYTIME.

  • FAILOVERMODE—Determines whether Essbase is deployed as a failover cluster.

  • SERVERLEASEEXPIRATIONTIME—Sets the maximum amount of time Essbase Server can own a lease before the lease expires.

  • SERVERLEASEMAXRETRYCOUNT—Specifies the number of times Essbase Server attempts to acquire or renew a lease. If these attempts are unsuccessful, Essbase Server terminates itself.

  • SERVERLEASERENEWALTIME—Specifies the time interval in seconds after which Essbase Server attempts to renew lease. This should always be less than SERVERLEASEEXPIRYTIME.

User and Group Identities

Essbase, when in EPM System security mode, now enables user and group names to be non unique, if you specify the user or group's provider directory or unique identity attribute.

In MaxL, user and group names can be specified as name@provider or as a unique identity attribute.

The provider is the name of a user directory, such as LDAP or Active Directory, where the external user or group is hosted. The unique identity attribute, or "identity," is a unique string assigned to every user and group. The identity enables Essbase to distinguish between users and groups with the same name across providers.

Specifying Shared Services Project Names

If you migrate Essbase Server and any existing users and groups to Oracle Hyperion Enterprise Performance Management System security mode, you can change the name of the global application and application project in Oracle's Hyperion® Shared Services by using the alter system MaxL statement with the rename global registration name grammar.

MaxL Support in Java API

Essbase clients developed in Java can execute MaxL statements to facilitate Oracle Essbase administrative tasks.

Calculation with Varying Attributes

These calculation functions and command are added to improve calculation of databases that use varying attributes:

  • @ISMBRWITHATTR

  • @ISATTRIBUTE

  • SET SCAPERSPECTIVE

@WITHATTR is enhanced to allow varying attributes to be specified in the function argument.

Essbase API

New C Main API Functions

  • EssAsyncBuildDim

  • EssAsyncImport

  • EssAsyncImportASO

  • EssCancelAsyncProc

  • EssCloseAsyncProc

  • EssGetAsyncProcLog

  • EssGetAsyncProcState

  • EssPerformAllocationAso

  • EssPerformCustomCalcASO

  • EssUpdateEx

  • EssUpdateUtf8Ex

  • EssUpdateFileEx

  • EssUpdateFileUtf8Ex

  • EssUpdateFileASOEx

  • EssUpdateFileASOUtf8Ex

New C Main API Structures

  • ESS_BLDDL_STATE_T

  • ESS_PERF_ALLOC_T

  • ESS_PERF_CUSTCALC_T

New C Outline API Functions

  • EssOtlSetAliasTableLanguage

  • EssOtlGetAliasTableLanguages

  • EssOtlClearAliasTableLanguages

  • EssOtlGetAltHierarchyEnabled

  • EssOtlSetAltHierarchyEnabled

  • EssOtlGetHierarchyType

  • EssOtlSetHierarchyType

  • EssOtlOpenOutlineEx

  • EssOtlWriteOutlineEx

  • EssOtlQueryMembersExArray

  • EssOtlGetMemberInfoArray

New Visual Basic Outline API Functions

  • EsbOtlSetAliasTableLanguage

  • EsbOtlGetAliasTableLanguage

  • EsbOtlClearAliasTableLanguages

New Calculation Functions

  • @BETWEEN

  • @EQUAL

  • @EXPAND

  • @ISATTRIBUTE

  • @ISMBRWITHATTR

  • @LIKE

  • @MBRCOMPARE

  • @MBRPARENT

  • @NOTEQUAL

  • @RETURN

  • @XWRITE

@WITHATTR is enhanced to allow varying attributes to be specified in the function argument.

New Calculation Commands

SET SCAPERSPECTIVE

New essbase.cfg Configuration Settings

  • AGENTLEASEEXPIRATIONTIME

  • AGENTLEASEMAXTRETRYCOUNT

  • AGENTLEASERENEWALTIME

  • ASOSAMPLESIZEPERCENT

  • DIMBUILDERRORLIMIT

  • FAILOVERMODE

  • FILELOCKINGMODE

  • PERSISTUSERATLOGIN

  • PRELOADUDANAMESPACE

  • RTDEPCALCOPTIMIZE

  • SERVERLEASEEXPIRATIONTIME

  • SERVERLEASEMAXRETRYCOUNT

  • SERVERLEASERENEWALTIME

  • XOLAPSCHEMAVERIFICATION

  • XOLAPMAXNUMCONNECTION

  • XOLAPSQLIDLEPERIOD

  • XOLAPENABLEHEURISTICS

MaxL Statements—Grammar Changes

  • New statement export outline

  • New statement execute calculation (aggregate storage version)

  • New statement execute allocation (aggregate storage only)

  • Changes to deploy statement: the odbc_dsn keyword enables custom ODBC DSN names, and enables you to specify a Oracle Call Interface (OCI) connect identifier

  • Changes to create group statement to enable creating external groups.

  • Changes to alter user and alter group statements to enable revoking filters.

  • Changes to drop user and drop group statements to enable deletion from essbase.sec only.

  • Changes to USER-NAME and GROUP-NAME terminals. All user and group names can be of the form name, name@provider, or with identity STRING.