Esb Tech Ref

1400
Oracle® Essbase Technical Reference RELEASE 11.1.2.1

Transcript of Esb Tech Ref

Oracle EssbaseTechnical Reference RELEASE 11.1.2.1

Essbase Technical Reference, 11.1.2.1 Copyright 1996, 2011, 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.

Contents

Documentation Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Chapter 1. Oracle Essbase Technical Reference Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 About the Oracle Essbase Technical Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 What You Should Know Before You Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Sample Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 About Aggregate Storage Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Chapter 2. Calculation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Calculation Functions Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Generations and Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Function Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Function Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Calculation Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Mathematical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Conditional and Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Cross-Dimensional Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Operation Results on #MISSING Values and Zero (0) Values . . . . . . . . . . . . . . . . . . . . . . 25 Calculation Function Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Boolean Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Relationship Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Mathematical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Member Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Range and Financial Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Allocation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Forecasting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Statistical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Date & Time Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Miscellaneous Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Custom-defined Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Contents

iii

Calculation Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Custom-Defined Calculation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Java Code Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 MaxL Registration Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Custom-Defined Macro Input Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Using Argument Values in Macro Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Directives Used in Custom-Defined Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Macro Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Chapter 3. Calculation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Calculation Commands Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Calculation Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Mathematical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Conditional and Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Cross-Dimensional Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Calculation Command Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Conditional Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Control Flow Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Data Declaration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Functional Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Member Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Calculation Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Chapter 4. Essbase.cfg Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Configuration File Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Configuring Essbase.cfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Essbase.cfg Setting Categorical List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Backup and Recovery Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Calculation Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Data Import and Export Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Hybrid Analysis Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Failover Clustering Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Logging and Error Handling Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . 373 Memory Management Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Miscellaneous Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Partitioning Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Ports and Connections Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Query Management Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Security File Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

iv

Contents

SSL Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Aggregate Storage and Block Storage Settings Comparison . . . . . . . . . . . . . . . . . . . . . . 376 Configuration Settings Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 AGENTDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 AGENTDESC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 AGENTDISPLAYMESSAGELEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 AGENTLEASEEXPIRATIONTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 AGENTLEASEMAXRETRYCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 AGENTLEASERENEWALTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 AGENTLOGMESSAGELEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 AGENTPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 AGENTSECUREPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 AGENTTHREADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 AGGRESSIVEBLKOPTIMIZATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 AGTMAXLOGFILESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 AGTSVRCONNECTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 APPMAXLOGFILESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 APSRESOLVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 ASOLOADBUFFERWAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 ASOSAMPLESIZEPERCENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 AUTHENTICATIONMODULE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 CALCCACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 CALCCACHEHIGH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 CALCCACHEDEFAULT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 CALCCACHELOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 CALCLIMITFORMULARECURSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 CALCLOCKBLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 CALCMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 CALCNOTICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 CALCOPTFRMLBOTTOMUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 CALCREUSEDYNCALCBLOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 CALCPARALLEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 CALCTASKDIMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 CCTRACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 CLEARLOGFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 CLIENTPREFERREDMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 CRASHDUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 DATACACHESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 DATAERRORLIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

Contents

v

DATAEXPORTENABLEBATCHINSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 DATAFILECACHESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 DEFAULTLOGLOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 DELAYEDRECOVERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 DELIMITEDMSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 DELIMITER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 DEXPSQLROWSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 DIMBUILDERRORLIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 DIMBUILDSTATSINTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 DIRECTIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 DISABLEREPLMISSINGDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 DISKVOLUMES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 DISPLAYMESSAGELEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 DLSINGLETHREADPERSTAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 DLTHREADSPREPARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 DLTHREADSWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 DYNCALCCACHEBLKRELEASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 DYNCALCCACHEBLKTIMEOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 DYNCALCCACHECOMPRBLKBUFSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 DYNCALCCACHEMAXSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 DYNCALCCACHEONLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 DYNCALCCACHEWAITFORBLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 ENABLE_DIAG_TRANSPARENT_PARTITION . . . . . . . . . . . . . . . . . . . . . . . . . . 438 ENABLECLEARMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 ENABLESECUREMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 ENABLESWITCHTOBACKUPFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 ESSBASEFAILOVERTRACELEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 ESSBASESERVERHOSTNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 EXCEPTIONLOGOVERWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 EXCLUSIVECALC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 EXPORTTHREADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 FAILOVERMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 FILELOCKINGMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 FORCEALLDENSECALCON2PASSACCOUNTS . . . . . . . . . . . . . . . . . . . . . . . . . . 446 FORCEGRIDEXPANSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 GRIDEXPANSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 GRIDEXPANSIONMESSAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 HAENABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 HAMAXNUMCONNECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449

vi

Contents

HAMAXNUMSQLQUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 HAMAXQUERYROWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 HAMAXQUERYTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 HAMEMORYCACHESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 HARAGGEDHIERARCHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 HARETRIEVENUMROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 HASOURCEDSNOS390 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 HISLEVELDRILLTHROUGH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 IBHFIXTHRESHOLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 IDMIGRATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 IMPLIED_SHARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 INCRESTRUC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 INDEXCACHESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 JVMMODULELOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 LOCKTIMEOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 LOGINFAILUREMESSAGEDETAILED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 LOGMESSAGELEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 LROONSHAREDMBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 MAXERRORMBRVERIFYREPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 MAXFORMULACACHESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 MAXLOGINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 MAX_REQUEST_GRID_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 MAX_RESPONSE_GRID_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 MDXFORMULARECURSIONLIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 MEMSCALINGFACTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 MULTIPLEBITMAPMEMCHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 NETBINDRETRYDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 NETDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 NETRETRYCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 NETSSLHANDSHAKETIMEOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 NETTCPCONNECTRETRYCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 NOMSGLOGGINGONDATAERRORLIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 NUMBEROFSECFILEBACKUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 NUMERICPRECISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 OUTLINECHANGELOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 OUTLINECHANGELOGFILESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 PARCALCMULTIPLEBITMAPMEMOPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 PERSISTUSERATLOGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 PIPEBUFFERSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480

Contents

vii

PORTINC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 PORTUSAGELOGINTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 PRELOADALIASNAMESPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 PRELOADMEMBERNAMESPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 PRELOADUDANAMESPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 QRYGOVEXECBLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 QRYGOVEXECTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 REPLAYSECURITYOPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 REPLICATIONASSUMEIDENTICALOUTLINE . . . . . . . . . . . . . . . . . . . . . . . . . . 489 RTDEPCALCOPTIMIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 SECFILEBACKUPINTERVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 SECURITYFILECOMPACTIONPERCENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 SERVERLEASEEXPIRATIONTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 SERVERLEASEMAXRETRYCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 SERVERLEASERENEWALTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 SERVERPORTBEGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 SERVERPORTEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 SERVERTHREADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 SILENTOTLQUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 SPLITARCHIVEFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 SQLFETCHERRORPOPUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 SSAUDIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 SSAUDITR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 SSINVALIDTEXTDETECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501 SSLCIPHERSUITES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 SSLOGUNKNOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 SSOPTIMIZEDGRIDPROCESSING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 SSPROCROWLIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 SUPNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 TARGETASOOPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 TARGETTIMESERIESOPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 TIMINGMESSAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 TRANSACTIONLOGDATALOADARCHIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 TRANSACTIONLOGLOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 TRIGMAXMEMSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 UNICODEAGENTLOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 UPDATECALC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 VLBREPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 WALLETPATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515

viii

Contents

XOLAPENABLEHEURISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 XOLAPMAXNUMCONNECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 XOLAPSCHEMAVERIFICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 XOLAPSQLIDLEPERIOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Chapter 5. ESSCMD Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 ESSCMD Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 ESSCMD Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Starting ESSCMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Canceling ESSCMD Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Quitting ESSCMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 ESSCMD Syntax Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Quotation Marks in ESSCMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 ESSCMD Semicolon Statement Terminator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Referencing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 ESSCMD Batch Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Writing Script Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Running Script Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Handling Command Errors in a Script File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Sample Script Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Writing Batch Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 Handling Command Errors in Batch Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 ESSCMD Interactive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Logging On to Essbase Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 Entering Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 Canceling Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 ESSCMD Command Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Using ESSCMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Application and Database Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 User and Group Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Security Filters and Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 Outline and Attribute Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Dimension Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Data Loading, Clearing, and Exporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Calculating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Outline Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532

Contents

ix

Error and Log Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Currency Conversion Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Location Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Substitution Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Integrity, Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Backing Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 ESSCMD Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Chapter 6. MaxL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 Overview of MaxL and MDX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 How to Read MaxL Railroad Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 Anatomy of MaxL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 Railroad Diagram Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624 Sample Railroad Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625 MaxL Data Definition Language (DDL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626 MaxL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626 Performance Statistics in MaxL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627 Listed By Verbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 Listed by Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 MaxL Statement Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 MaxL Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767 MaxL Syntax Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 Numbers in MaxL Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769 Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769 Privileges and Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 Quoting and Special Characters Rules for MaxL Language . . . . . . . . . . . . . . . . . . . . 816 MaxL Shell Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818 Overview of MaxL Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 MaxL Shell Invocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 MaxL Shell Syntax Rules and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 MaxL Shell and Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 MaxL Shell Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 MaxL Perl Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 Installation Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 Perl Scripting Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 ESSCMD Script Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848 ESSCMD Script Utility Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848

x

Contents

Things to Note About the ESSCMD Script Utility . . . . . . . . . . . . . . . . . . . . . . . . . . 848 ESSCMD to MaxL Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849 Reserved Words List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 MaxL Statements (Aggregate Storage) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864 Outline Paging Dimension Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 Aggregate Storage Runtime Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 MaxL Statements for Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 Data Mining Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 Data Mining Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 Mining Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 Mining Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 Mining Task Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 Mining Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 Data Mining Statements Listed by Verbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 Data Mining Statements Listed by Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 Data Mining Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 MaxL Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 Creating an Aggregate Storage Sample Using MaxL . . . . . . . . . . . . . . . . . . . . . . . . . 920 Loading Data Using Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921 Using Aggregate Storage Data Load Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 Specifying Port Numbers in Partition Host Names . . . . . . . . . . . . . . . . . . . . . . . . . 923 Using Host Name Aliases When Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924 Partitioning and SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 Forcing Deletion of Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 Metadata Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926 Examples of Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 Chapter 7. MDX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 Overview of MDX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 MDX Query Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 MDX Syntax and Grammar Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 Understanding BNF Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 MDX Grammar Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 MDX Syntax for Specifying Duplicate Member Names and Aliases . . . . . . . . . . . . . . 947 MDX Axis Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949 MDX Slicer Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 MDX Cube Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 MDX Set Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 MDX With Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

Contents

xi

MDX Dimension Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958 MDX Layer Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959 MDX Member Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 MDX Hierarchy Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961 MDX Tuple Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961 MDX Create Set / Delete Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962 MDX Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963 About MDX Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964 MDX Intrinsic Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965 MDX Custom Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965 MDX Optimization Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966 Querying for Member Properties in MDX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968 The Value Type of MDX Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 MDX NULL Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 MDX Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970 MDX Query Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971 Aggregate Storage and MDX Outline Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973 MDX Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989 MDX Functions that Return a Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990 MDX Functions that Return a Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991 MDX Functions that Return a Tuple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993 MDX Functions that Return a Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993 MDX Functions that Return a Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 MDX Functions that Return a Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 MDX Functions that Return a Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 MDX Functions that Return a Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 MDX Functions that Return a String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 MDX Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 Chapter 8. Query Logging Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161 Query Logging Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161 Query Logging Settings Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161 Query Log Settings File Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162 Query Logging Sample File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 Query Logging Sample Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 Chapter 9. Report Writer Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169 Report Writer Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169 Report Writer Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 Report Delimiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170

xii

Contents

Syntax Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 Referencing Static Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171 Report Writer Command Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171 Report Layout Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 Data Range Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 Data Ordering Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 Member Selection and Sorting Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 Format Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173 Column or Row Calculation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176 Member Names and Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176 Examples of Report Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177 Sample 1: Creating a Different Format for Each Page . . . . . . . . . . . . . . . . . . . . . . . 1178 Sample 2: Handling Missing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179 Sample 3: Nesting Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181 Sample 4: Grouping Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182 Sample 5: Reporting on Different Combinations of Data . . . . . . . . . . . . . . . . . . . . 1186 Sample 6: Formatting Different Combinations of Data . . . . . . . . . . . . . . . . . . . . . 1187 Sample 7: Using Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189 Sample 8: Creating Custom Headings and % Characters . . . . . . . . . . . . . . . . . . . . 1190 Sample 9: Creating Custom Page Headings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 Sample 10: Using Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195 Sample 11: Placing Two-Page Layouts on the Same Page . . . . . . . . . . . . . . . . . . . . 1196 Sample 12: Formatting for Data Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198 Sample 13: Creating Asymmetric Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199 Sample 14: Calculating Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200 Sample 15: Calculating Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202 Sample 16: Sorting by Top or Bottom Data Values . . . . . . . . . . . . . . . . . . . . . . . . 1207 Sample 17: Restricting Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209 Sample 18: Ordering Data Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210 Sample 19: Narrowing Member Selection Criteria . . . . . . . . . . . . . . . . . . . . . . . . . 1211 Sample 20: Using Attributes in Member Selection . . . . . . . . . . . . . . . . . . . . . . . . . 1212 Sample 21: Using the WITHATTR Command in Member Selection . . . . . . . . . . . . 1213 Report Writer Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214 Chapter 10. Essbase Unicode File Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1377 Essbase Unicode File Utility Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1377 Types of Encoding Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378 Determining Whether to Use UTF-8 or Non-Unicode Text Files . . . . . . . . . . . . . . . . . 1378 When to Use the Essbase Unicode File Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379

Contents

xiii

Essbase Unicode File Utility Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1383

xiv

Contents

Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.

Accessibility of Code Examples in DocumentationScreen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in DocumentationThis documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

Access to Oracle Support for Hearing-Impaired CustomersOracle customers have access to electronic support through My Oracle Support or by calling Oracle Support at 1.800.223.1711. Hearing-impaired customers in the U.S. who wish to speak to an Oracle Support representative may use a telecommunications relay service (TRS). Information about the TRS is available at http://www.fcc.gov/cgb/consumerfacts/trs.html/, and a list of telephone numbers is available at http://www.fcc.gov/cgb/dro/trsphonebk.html. International hearing-impaired customers should use the TRS at +1.605.224.1837. An Oracle Support engineer will respond to technical issues according to the standard service request process.15

16

Documentation Accessibility

1In This Chapter

Oracle Essbase Technical Reference Overview

About the Oracle Essbase Technical Reference ........................................................17 About Aggregate Storage Databases.....................................................................19

About the Oracle Essbase Technical ReferenceThe Oracle Essbase Technical Reference describes commands, functions, and configuration aspects of Oracle Essbase. This reference is intended for advanced users who need detailed information and examples about Essbase elements. For other information about Essbase, see the Oracle Essbase Database Administrator's Guide.l

What You Should Know Before You Start on page 17 Sample Applications on page 17 Syntax Conventions on page 18

l

l

What You Should Know Before You StartTo use this document, you need the following:l

A working knowledge of the operating system your server uses and the ones your clients use. An understanding of Essbase concepts and features. An understanding of the typical database administration requirements and tasks, including calculation, reporting, security, and maintenance.

l

l

Sample ApplicationsThis document provides examples based on the Sample and Demo applications provided with Essbase. The Sample application contains three databases: Basic, Interntl, and Xchgrate. The Demo application contains one database: Basic. If, when you connect to the Essbase Server, any of the following problems occur, contact your administrator.l

You cannot find the Sample or Demo application You don't have adequate access to the Sample or Demo application You don't see any data in the Sample or Demo databases

l

l

About the Oracle Essbase Technical Reference

17

Syntax ConventionsThis document uses several formatting styles to indicate actions you should take or types of information you need.Syntax UPPERCASE italic Purpose Command or function names in syntax. Terms, such as parameters, that you replace with a value Example BEGINARCHIVE ESSGETSTRING (hCtx, pString); \directorypath\filename The dimList argument... "" Double quotation marks enclose text parameters or single parameters that include a space Report Writer: The report output character (bang) signals the start of report processing; this character must be on its own line "appName" SETDEFAULTCALC "CALC ALL"; ... // commands (cross-dimensional operator)

ExamplePrice -> West = AVGRANGE

About Aggregate Storage DatabasesThis topic explains how the elements discussed in the Oracle Essbase Technical Reference apply to aggregate storage databases. Consider using the aggregate storage storage model if the following is true for your database:l

The database is sparse and has many dimensions, and/or the dimensions have many levels of members. The database is used primarily for read-only purposes, with few or no data updates. The outline contains no formulas except in the dimension tagged as Accounts. Calculation of the database is frequent, is based mainly on summation of the data, and does not rely on calculation scripts.

l

l

l

Note the applicability of the following elements for aggregate storage databases:l

MDXUsed for querying on block storage and aggregate storage databases. Additionally, MDX numeric-value expressions can be used for developing formulas on aggregate storage outlines. For more information, see Aggregate Storage and MDX Outline Formulas on page 973. Calculation commandsNot supported in enterprise analytics databases, because calculation scripts are not relevant to aggregate storage storage. Calculation functionsNot supported in enterprise analytics databases. Instead, MDX formulas can be written using MDX numeric-value expressions. Only the Accounts dimension can have formulas in aggregate storage databases. Report Writer commandsAll Report Writer commands (except Budget), all parts of the cross-dimensional member must match all parts of the current cell to return a value of TRUE. In the following quick-reference table, "the current member" means the member that is currently being calculated by the function. Words in italics, such as member, loosely indicate information you supply to the function. For details, see the individual function topics.

Calculation Function Categories

27

Function

Condition Tested Whether the current member has a particular accounts tag. Whether the current member is an ancestor of member. Whether the current member is a child of member. Whether the current member is a descendant of member. Whether the current member of dimension is in generation. Whether the current member is the same member or an ancestor of member. Whether the current member is the same member or a child of member. Whether the current member is the same member or a descendant of member. Whether the current member is the same member or the parent of member. Whether the current member is the same member or a sibling of member. Whether the current member of dimension is in level. Whether the current member is member, or is found in member list, or is found in a range returned by another function. Whether the current member is the parent of member. Whether the current member is in the same generation as member. Whether the current member is in the same level as member. Whether the current member is a sibling of member. Whether the current member of dimension has a particular user-defined attribute string.

@ISACCTYPE @ISANCEST @ISCHILD @ISDESC @ISGEN @ISIANCEST @ISICHILD @ISIDESC @ISIPARENT @ISISIBLING @ISLEV @ISMBR @ISPARENT @ISSAMEGEN @ISSAMELEV @ISSIBLING @ISUDA

Relationship FunctionsRelationship functions look up specific values within the database based on current cell location and a series of parameters. You can use these functions to refer to another value in a data series. Relationship functions have an implicit current member argument; that is, these functions are dependent on the current member's position. In the following quick-reference table, words in italics loosely represent information you supply to the function. For details, see the individual function topics.

Function

Return Value Ancestor values of a specified one-dimensional member combination. Associated attribute value from a Boolean attribute dimension. Associated attribute value from a text attribute dimension.

@ANCESTVAL @ATTRIBUTEBVAL @ATTRIBUTESVAL

28

Calculation Functions

Function

Return Value Associated attribute value from a numeric or date attribute dimension. Generation number of the current member in dimension. Level number of the current member in dimension. Generation number of member. Level number of member. Ancestor values for any number of multidimensional member combinations. Parent values for any number of multidimensional member combinations. Parent values for member in dimension. Ancestor values for shared members at a certain depth under root member. Parent values for shared members under root member. Values from a different database than the one being calculated. Writes values to a different database than the one being calculated.

@ATTRIBUTEVAL @CURGEN @CURLEV @GEN @LEV @MDANCESTVAL @MDPARENTVAL @PARENTVAL @SANCESTVAL @SPARENTVAL @XREF @XWRITE

Mathematical FunctionsThese functions perform specific mathematical calculations. Mathematical functions define and return values that are based on selected member expressions. These functions cover many basic statistical functions and return numeric results that are based on supplied member values. Advanced statistical functions are included in the statistical functions category. In the following quick-reference table, words in italics loosely represent information you supply to the function. For details, see the individual function topics.

Function

Return Value Absolute value of expression. Average of all values in expList. e (base of natural logarithms) raised to the power of expression. Factorial of expression. Next lowest integer value of expression. e (base of natural logarithms) of expression. Any base logarithm of expression. Base-10 logarithm of expression.

@ABS @AVG @EXP @FACTORIAL @INT @LN @LOG @LOG10

Calculation Function Categories

29

Function

Return Value Maximum value found in cells of expression list. Maximum value found in cells of expression list, optionally skipping empty values. Minimum value found in cells of expression list. Minimum value found in cells of expression list, optionally skipping empty values. Modulus of a division operation between two members. Expression raised to power. Remainder value of expression. Expression rounded to numDigits. Sum of values found in cells of expression list. Expression with fractional part removed, returning an integer. Variance between two members. Percent variance between two members.

@MAX @MAXS @MIN @MINS @MOD @POWER @REMAINDER @ROUND @SUM @TRUNCATE @VAR @VARPER

Member Set FunctionsMember set functions return a list of members. This list is based on the member specified and the function used. You can use operators to specify Generation and Level Range Operators for Member Set Functions with member set functions. When a member set function is called as part of a formula, the list of members is generated before the calculation begins. The list never varies because it is based on the specified member and is independent of the current member. If a member set function (for example, @CHILDREN or @SIBLINGS) is used to specify the list of members to calculate in a calculation script, Essbase bypasses the calculation of any Dynamic Calc or Dynamic Calc and Store members in the resulting list. Only the @ATTRIBUTE and @WITHATTR functions can use attribute members or members of the Attribute Calculations dimension as parameters in member set functions. You can use cross-dimension expressions such as ("1998":"2001" -> @Levmbrs (Year, 0)). The cross-dimensional operator is associative (x -> y) -> z=x -> (y -> z), but not commutative because x -> y = y -> x is a set, but the order of elements is different.Function Return Value All ancestors of member, including ancestors of shared member. Ancestor at distance from the current member or an explicitly specified member. All ancestors of member, or those ancestors up to a specified distance.

@ALLANCESTORS @ANCEST @ANCESTORS

30

Calculation Functions

Function

Return Value All base members associated with attribute member name. All members whose name string value fall between, and are inclusive of, two specified string tokens. Children of member. Member currently being calculated in the specified dimension. All descendants of member, or those descendants down to a specified distance. Member names that match the specified token name. Expands a member search by calling a member set function for each member in a member list. Members of dimension that are at generation. Member and ancestors of member, including ancestors of shared member. Member, and either all member ancestors or those ancestors up to a specified distance. Member and its children. Member, and either all member descendants or those descendants down to a specified distance. Members of the specified list of members, and either all ancestors of the specified list of members or those ancestors up to a specified distance. Members of the specified list of members, and either all descendants of the specified list of members or those descendants down to a specified distance. Member and its left siblings. Member and its right siblings. Member and all its descendants, or those descendants down to a specified distance, including descendants of shared member. Member and its siblings. All ancestors of the specified list of members, or those ancestors up to a specified distance. All descendants of the specified list of members, or those descendants down to a specified distance. Members of dimension that are at level. A single list compiled from arguments, and can be used for functions requiring an expression list, a member list, or a range list. Left siblings of member. Members that match a pattern search performed over a generation, a level, or a member and its descendants. Member names that match the comparison criteria. Parent of the specified member.

@ATTRIBUTE @BETWEEN @CHILDREN @CURRMBR @DESCENDANTS @EQUAL @EXPAND @GENMBRS @IALLANCESTORS @IANCESTORS @ICHILDREN @IDESCENDANTS @ILANCESTORS @ILDESCENDANTS @ILSIBLINGS @IRSIBLINGS @IRDESCENDANTS @ISIBLINGS @LANCESTORS @LDESCENDANTS @LEVMBRS @LIST @LSIBLINGS @MATCH @MBRCOMPARE @MBRPARENT

Calculation Function Categories

31

Function

Return Value Member with name string. Merged list from two lists. Next, or right-most, sibling of member. Member names that do not match the specified token name. Parent of the current member being calculated in dimension, optionally crossed with another member. Previous, or left-most, sibling of member. Member list that crosses a member from one dimension with a range from another dimension. All descendants of member, or those down to a specified distance, including descendants of shared member. All members that are at distance from member. List1, with anything that is also in list2 removed. Right siblings of member. Sibling at specified distance from member. Siblings of member. Members of dimension that have UDA. Base members from dimension that are associated with an attribute meeting a condition. Range of members between (and inclusive of) two members at the same level.

@MEMBER @MERGE @NEXTSIBLING @NOTEQUAL @PARENT @PREVSIBLING @RANGE @RDESCENDANTS @RELATIVE @REMOVE @RSIBLINGS @SHIFTSIBLING @SIBLINGS @UDA @WITHATTR @XRANGE

Generation and Level Range Operators for Member Set Functions The operators : and :: can be used with member set functions, which return a list of members. The : operator returns level-based ranges and the :: operator returns generation-based ranges. For example, Jan:Dec and Jan::Dec both return all members between and inclusive of Jan and Dec. The difference is that Jan:Dec returns all members at the same level and Jan::Dec returns all members at the same generation. For example, if we have the outline:Q1 - Jan Feb Mar Q2 - Apr May Jun Q3 Q4 - Oct Nov Dec

32

Calculation Functions

The function @MOVAVG(Sales, 3, Jan:Dec) computes @MOVAVG(Sales, 3, Jan, Feb, Mar, Apr, May, Jun, Q3, Oct, Nov, Dec). The function @MOVAVG(Sales, 3, Jan::Dec) computes @MOVAVG(Sales, 3, Jan, Feb, Mar, Apr, May, Jun, Oct, Nov, Dec).

Range and Financial FunctionsRange functions take a range of members as an argument. Rather than return a single value, these functions calculate a series of values internally based on the range specified. Financial functions execute specialized financial calculations.

Function

Return Value The sum of values of a specified member across a range The average of values of a specified member across a range The compound interest of values of a specified member across a range, calculated at a specified rate A series of values that represent the compound growth of the specified member across a range of members, calculated at a specified rate A range of members that is based on the relative position of the member combination Essbase is currently calculating Depreciation of a member over a specified period, calculated using the declining balance method Discounted values of a specified member, calculated at a specified rate, across a range of values from the time dimension A series of values that represents the linear growth of the specified value A series of values that represent the linear growth of a specified member, calculated at a specified rate, across a range of members from the time dimension The internal rate of return on a cash flow calculated across the time dimension or a specified range of members The maximum value of a member across a range of members The maximum value of a member across a range of members, with the ability to skip zero and #MISSING values The next or nth member in a range of members, retaining all other members identical to the current member across multiple dimensions The minimum value of a member across a range of members The minimum value of a member across a range of members, with the ability to skip zero and #MISSING values The next or nth member in a range of members The next or nth member in a range of members, with the option to skip #MISSING, zero, or both values The Net Present Value of an investment based on a series of payments and income values

@ACCUM @AVGRANGE @COMPOUND @COMPOUNDGROWTH @CURRMBRRANGE @DECLINE @DISCOUNT @GROWTH @INTEREST @IRR @MAXRANGE @MAXSRANGE @MDSHIFT @MINRANGE @MINSRANGE @NEXT @NEXTS @NPV

Calculation Function Categories

33

Function

Return Value The period-to-date values of members in the time dimension A list of the previous or nth previous members in a range of members A list of the previous or nth previous members in a range of members, with the option to skip #MISSING, zero, or both values A member list that crosses the specified member from one dimension with the specified member range from another dimension A list of the next or nth members in a range of members, retaining all other members identical to the current member and in the specified dimension

@PTD @PRIOR @PRIORS @RANGE @SHIFT @SHIFTPLUS @SHIFTMINUS @SLN @SUMRANGE @SYD @XRANGE

Depreciation amounts, across a range period, that an asset in the current period may be depreciated, calculated using the straight-line depreciation method A list of summarized values of all specified members across a range of members Depreciation amounts, across a range of periods, of an asset in the current period, calculated using the sum of the year's digits depreciation method A list of a range of members between specified members at the same level

Range List Parameters Some range and forecasting functions recognize the optional parameter rangeList or XrangeList as the last parameter. rangeList is a range of members from one dimension; XrangeList is a range of members from one or more dimensions. If rangeList or XrangeList is not given, the level 0 (leaf) members from the dimension tagged as Time become the default range. If no dimension is tagged as Time and the last parameter is not given, Essbase reports a syntax error. The following table provides examples of valid values for rangeList or XrangeList.

Example Mar99 Mar99, Apr99, May99 Jan99:Dec99

Description A single member A comma-delimited list of members. A level range. A level range includes all members on the same level between and including the members defining the range.

Q1_99::Q4_2000

A generation range. A generation range includes the members defining the range and all members that are within the range and of the same generation.

Q1_99::Q4_2000, FY98, FY99, FY2000

A generation range and a comma-delimited list

34

Calculation Functions

Example @SIBLINGS(Dept01), Dept65:Dept73, Total_Dept

Description A member set function and one or more range lists

The following table provides examples of valid values for XrangeList.Example Jan->Actual->Sales, Dec->Actual->Sales Actual->Jan, @XRANGE(Actual->December, Budget->Mar); @XRANGE(Jan->Actual,Dec->Budget); @CHILDREN("Colas"),@CHILDREN("West") Description A comma-delimited list of members from one or more dimensions. A comma-delimited list and a range. A @XRANGE function. A member set function as part of a range list.

Financial functions never return a value; rather, they internally calculate a series of values based on the range specified and write the results to a range of cells. Thus, you cannot apply any operator directly to the function.

Allocation FunctionsThese functions allocate values that are input at the parent level. The values are allocated across child members in one or more dimensions, based on specified criteria. These functions consolidate the common tasks that are required to perform allocations in Essbase.Function Allocation Type Allocates values to lower-level members in one level. Allocates values to lower-level members in multiple dimensions.

@ALLOCATE @MDALLOCATE

Forecasting FunctionsForecasting functions manipulate data for the purpose of smoothing, interpolating, or calculating future values. Forecasting functions are often used in planning, analysis, and modeling applications. Some forecasting functions recognize the optional Range List Parameters rangeList or XrangeList).Function Data Manipulation Applies a moving average to a data set, replacing each term in the list with a trailing average. This function modifies the data set for smoothing purposes. Applies a moving maximum to a data set, replacing each term in the list with a trailing maximum. This function modifies the data set for smoothing purposes.

@MOVAVG @MOVMAX

Calculation Function Categories

35

Function

Data Manipulation Applies a moving median to a data set, replacing each term in the list with a trailing median. This function modifies the data set for smoothing purposes. Applies a moving minimum to a data set, replacing each term in the list with a trailing minimum. This function modifies the data set for smoothing purposes. Applies a moving sum to a data set. This function modifies the data set for smoothing purposes. Applies a moving sum to a data set, enabling specification of values for trailing members. This function modifies the data set for smoothing purposes. Applies a smoothing spline to a set of data points. A spline is a mathematical curve that is used to smooth or interpolate data. Calculates future values, basing the calculation on curve-fitting to historical values

@MOVMED @MOVMIN @MOVSUM @MOVSUMX @SPLINE @TREND

Statistical FunctionsStatistical functions calculate advanced statistical values, such as correlation or variance. These functions are often used in sales and marketing applications.Function Return Value The correlation coefficient between two parallel data sets The number of data values in the specified data set The median (middle value) of the specified data set The mode (the most frequently occurring value) in the specified data set The rank (position in the sorted data set) of the specified members or the specified value among the values in the specified data set. The standard deviation of the specified data set The standard deviation of the specified data set, calculated over the entire population The standard deviation of all values of the specified member across the specified data set. The specified mbrName is crossed with a range list to obtain the sample across which the standard deviation is calculated. The statistical variance of the specified data set (expList), based upon a sample of a population The statistical variance of the specified data set (expList), based upon the entire population

@CORRELATION @COUNT @MEDIAN @MODE @RANK @STDEV @STDEVP @STDEVRANGE @VARIANCE @VARIANCEP

Date & Time FunctionThe date function, @TODATE, converts date strings to numbers that can be used in calculation formulas.

36

Calculation Functions

Miscellaneous Functionsl

@CALCMODEThis function enables you to specify whether a formula is calculated in cell

mode or block mode and whether a formula is calculated bottom-up or top-downl

@CONCATENATE, @SUBSTRING, and @NAMEThese functions enable manipulation of

character strings.l

@RETURNThis function enables termination of a calculation, with a custom error message.

Custom-defined FunctionsThis custom-defined group is a category of functions that you develop for calculation operations that are not enabled by the built-in Essbase functions. Custom-defined functions are written in the Java programming language and registered on the server. The Essbase calculator framework calls custom-defined functions as external functions. For more details, see Create Macro and Create Function in MaxL.

Calculation Function ReferenceConsult the Contents pane for a categorical list of calculation functions.@ABS @ACCUM @ALLANCESTORS @ALIAS @ALLOCATE @ANCEST @ANCESTORS @ANCESTVAL @ATTRIBUTE @ATTRIBUTEBVAL @ATTRIBUTESVAL @ATTRIBUTEVAL @AVG @AVGRANGE @BETWEEN @CALCMODE @ISANCEST @ISATTRIBUTE @ISCHILD @ISDESC @ISGEN @ISIANCEST @ISIBLINGS @ISICHILD @ISIDESC @ISIPARENT @ISISIBLING @ISLEV @ISMBR @ISMBRWITHATTR @ISPARENT @ISSAMEGEN @MOVSUMX @NAME @NEXT @NEXTS @NEXTSIBLING @NOTEQUAL @NPV @PARENT @PARENTVAL @POWER @PREVSIBLING @PRIOR @PRIORS @PTD @RANGE @RANK

Calculation Function Reference

37

@ABS @CHILDREN @COMPOUND @COMPOUNDGROWTH @CONCATENATE @CORRELATION @COUNT @CURGEN @CURLEV @CURRMBR @CURRMBRRANGE @DATEDIFF @DATEPART @DATEROLL @DECLINE @DESCENDANTS @DISCOUNT @ENUMVALUE @EQUAL @EXP @EXPAND @FACTORIAL @FORMATDATE @GEN @GENMBRS @GROWTH @IALLANCESTORS @IANCESTORS @ICHILDREN @IDESCENDANTS

@ISANCEST @ISSAMELEV @ISSIBLING @ISUDA @LANCESTORS @LDESCENDANTS @LEV @LEVMBRS @LIKE @LIST @LN @LOG @LOG10 @LSIBLINGS @MATCH @MAX @MAXRANGE @MAXS @MAXSRANGE @MBRCOMPARE @MBRPARENT @MDALLOCATE @MDANCESTVAL @MDPARENTVAL @MDSHIFT @MEDIAN @MEMBER @MERGE @MIN @MINRANGE

@MOVSUMX @RDESCENDANTS @RELATIVE @REMAINDER @REMOVE @RETURN @ROUND @RSIBLINGS @SANCESTVAL @SHARE @SHIFT @SHIFTMINUS @SHIFTPLUS @SHIFTSIBLING @SIBLINGS @SLN @SPARENTVAL @SPLINE @STDEV @STDEVP @STDEVRANGE @SUBSTRING @SUM @SUMRANGE @SYD @TODATE @TODATEEX @TODAY @TREND @TRUNCATE

38

Calculation Functions

@ABS @ILANCESTORS @ILDESCENDANTS @ILSIBLINGS @INT @INTEREST @IRDESCENDANTS @IRR @IRSIBLINGS @ISACCTYPE

@ISANCEST @MINS @MINSRANGE @MOD @MODE @MOVAVG @MOVMAX @MOVMED @MOVMIN @MOVSUM

@MOVSUMX @UDA @VAR @VARPER @VARIANCE @VARIANCEP @WITHATTR @XRANGE @XREF @XWRITE

@ABSReturns the absolute value of expression. The absolute value of a number is that number less its sign. A negative number becomes positive, while a positive number remains positive.Syntax@ABS (expression) Parameter Description expression Member name or mathematical expression that generates a numeric value.

Example

The following example is based on the Demo Basic database. In this example, Variance needs to be presented as a positive number. The @ABS function is used because otherwise some combinations of Actual - Budget would return negative values.Variance=@ABS(Actual-Budget);

This example produces the following report:Sales VCR Jan === 1,323 1,200 123 San_Francisco Feb Mar === === 1,290 1,234 1,100 1,100 190 134

Actual Budget Variance

See Alsol l l l

@INT @REMAINDER @ROUND @TRUNCATE

Calculation Function Reference

39

@ACCUMAccumulates the values of mbrName within rangeList, up to the current member in the dimension of which rangeList is a part.Syntax@ACCUM (mbrName [, rangeList]) Parameter Description mbrName Any valid single member name or member combination (or a function that returns a single member or member combination) whose value is to be accumulated. rangeList Optional comma-delimited list of members, member set functions, or range functions, across which the accumulation occurs. If rangeList is not specified, Essbase uses the level 0 members from the dimension tagged as Time.

Notesl

Financial functions never return a value; rather, they calculate a series of values internally based on the range specified. @ACCUM accepts the @ATTRIBUTE member set function as a member range. If you use an Essbase member set function to generate a member list for the rangeList parameter (for example, @SIBLINGS), to ensure correct results, consider the order in which Essbase sorts the generated member list. For more information, see the Oracle Essbase Technical Reference topic for the member set function you are using. You cannot apply an operator (for example divide or multiply) to @Accum. For example, the formula Budget=@ACCUM(Actual, Jan:Feb)/2 is not valid.

l

l

l

Example

In this example, Accum Asset is calculated using the following formula:"Accum Asset" = @ACCUM(Asset, FY1997:FY2002);

This example produces the following report. This report shows that the values for Asset are accumulated starting with FY1997 and the yearly accumulation value is placed in Accum Asset for FY1997 through FY2002:FY1997 FY1998 FY1999 ======= ======= ======= Asset 9,000 0 1,000 Residual 750 0 0 Life 5 0 3 Accum Asset #MISSING #MISSING 1,000 FY2000 ======= 0 0 0 1,000 FY2001 FY2002 ======= ======= 2 ,500 1,500 #MISSING #MISSING #MISSING #MISSING 3,500 5,000

The value of Accum Asset is #MISSING for FY1997 because that is the starting year. The value of Accum Asset is #MISSING for FY1998 because there was no accumulation that year. For FY1999, the value of the asset grew by 1,000, so Accum Asset has a value of 1000.

40

Calculation Functions

@ALLANCESTORSReturns all ancestors of the specified member, including ancestors of any occurrences of the specified member as a shared member. This function excludes the specified member.Syntax@ALLANCESTORS (mbrName) Parameter Description mbrName Any valid single member name or member combination, or a function that returns a single member or member combination.

Notesl

Essbase sorts the generated list of members in ascending order of the member number in the outline. Using Sample Basic as an example, if you specify 100-20 for mbrName, 100, Diet, and Product are returned (in that order). However, the order in which shared ancestors are returned is not guaranteed. This order is important to consider when you use the @ALLANCESTORS member set function with certain forecasting and statistical functions. You can use @ALLANCESTORS as a parameter of another function, where that parameter is a list of members.

l

Example

The following example is based on the Sample Basic database. Sample Basic has a shared level of diet drinks, which includes 100-20 (Diet Cola). So 100-20 (Diet Cola) is a descendant of 100 (Colas) and is a shared member descendant of Diet:100 100-10 100-20 Diet 100-20 (Shared Member)

The following calculation script increases by 5% the Budget->Sales values of all ancestors of 100-20, including Diet.FIX(Budget,@ALLANCESTORS("100-20")) Sales = Sales * 1.05; ENDFIX

This example produces the following report. This report shows that the Budget->Sales values for 100, Diet, and Product (the ancestors of 100-20) have been increased by 5%. The original values were 8980, 8260, and 28480, respectively.Jan Actual Sales ===== 4860 2372 1082 Budget Sales ===== 5200 2610 1170

Market

100-10 100-20 100-30

Calculation Function Reference

41

100 100-20 200-20 300-30 Diet Product

8314 2372 3122 2960 8454 31538

9429 2610 3090 2560 8673 30954

*

* *

See Alsol l l

@IALLANCESTORS @LANCESTORS @ILANCESTORS

@ALIASTakes a string as an argument and returns an alias name to the function that calls @ALIAS.Syntax@ALIAS (function_name)

Notes

Because functions that take strings as arguments may not function correctly if the string matches a member alias, use the function @ALIAS to pass member alias names as strings, for example when passing alias names as strings to functions such as @ISUDA, @UDA, @CONCATENATE, @SUBSTRING, @MATCH, or @NAME.Example

For example, if the value "US$" is both an alias and a user-defined attribute, pass the string using @ALIAS:IF(@ISUDA(@ALIAS("US$"))) ... ENDIF

@ALLOCATEAllocates values from a member, from a cross-dimensional member, or from a value across a member list. The allocation is based on a variety of criteria. This function allocates values that are input at an upper level to lower-level members. The allocation is based upon a specified share or spread of another variable. For example, you can allocate values loaded to a parent member to all of that member's children. You can specify a rounding parameter for allocated values and account for rounding errors.Syntax@ALLOCATE (amount, allocationRange, basisMbr, [roundMbr],method [, methodParams] [, round [, numDigits][, roundErr]])

42

Calculation Functions

Parameter amount

Description A value, member, or cross-dimensional member that contains the value to be allocated into allocationRange. The value may also be a constant.l

If amount is a member, the member must be from the dimension to which allocationRange belongs. If amount is a cross-dimensional member, at least one of its members must be from the dimension to which allocationRange belongs. If no member or cross-dimensional member is from the dimension to which allocationRange belongs, a warning message is displayed.

l

l

If the amount parameter is a loaded value, it cannot be a Dynamic Calc member. allocationRange A comma-delimited list of members, member set functions, or range functions, into which value(s) from amount are allocated. allocationRange should be from only one level (for example, @CHILDREN(Total Expenses) rather than from multiple levels (for example, @DESCENDANTS(Product)). basisMbr roundMbr A value, member, or cross-dimensional member that contains the values that provide the basis for the allocation. The method you specify determines how the basis data is used. Optional. The member or cross-dimensional member to which rounding errors are added. The member (or at least one member of a cross-dimensional member) must be included in allocationRange.

Calculation Function Reference

43

Parameter method

Description The expression that determines how values are allocated. One of the following:l

share: Uses basisMbr to calculate a percentage share. The percentage share is calculated by dividing the value in basisMbr for the current member in allocationRange by the sum across the allocationRange for that basis member: amount * (@CURRMBR()->basisMbr/@SUM(allocationRange-> basisMbr) spread: Spreads amount across allocationRange: amount * (1/@COUNT(SKIP, allocationRange)) SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH: Values to be ignored during calculation of the spread. You must specify a SKIP parameter only for spread.m

l

SKIPNONE: Includes all cells. SKIPMISSING: Excludes all #MISSING values in basisMbr, and stores #MISSING for values in allocationRange for which the basisMbr is missing. SKIPZERO: Excludes all zero (0) values in basisMbr, and stores #MISSING for values in allocationRange for which the basisMbr is zero. SKIPBOTH: Excludes all zero (0) values and all #MISSING values, and stores #MISSING for values in allocationRange for which the basisMbr is zero (0) or #MISSING.

m

m

m

l

percent: Takes a percentage value from basisMbr for each member in allocationRange and applies the percentage value to amount: amount * (@CURRMBR()->basisMbr * .01) add: Takes the value from basisMbr for each member of allocationRange and adds the value to amount: amount + @CURRMBR()->basisMbr subtract: Takes the value from basisMbr for each member of allocationRange and subtracts the value from amount: amount - @CURRMBR()->basisMbr multiply: Takes the value from basisMbr for each member of allocationRange and multiplies the value by amount: amount * @CURRMBR()->basisMbr divide: Takes the value from basisMbr for each member of allocationRange and divides the value by amount: amount/@CURRMBR()->basisMbr

l

l

l

l

round

Optional. One of the following:l l

noRound: No rounding. noRound is the default. roundAmt: Indicates that you want to round the allocated values. If you specify roundAmt, you also must specify numDigits to indicate the number of decimal places to round to.

44

Calculation Functions

Parameter numDigits

Description An integer that represents the number of decimal places to round to. You must specify numDigits if you specify roundAmt.l

If numDigits is 0, the allocated values are rounded to the nearest integer. The default value for numDigits is 0. If numDigits is greater than 0, the allocated values are rounded to the specified number of decimal places. If numDigits is a negative value, the allocated values are rounded to a power of 10.

l

l

If you specify roundAmt, you also can specify a roundErr parameter. roundErr Optional. An expression that specifies where rounding errors should be placed. You must specify roundAmt in order to specify roundErr. If you do not specify roundErr, rounding errors are discarded. To specify roundErr, choose from one of the following:l

errorsToHigh: Adds rounding errors to the member with the highest allocated value. If allocated values are identical, adds rounding errors to the first value in allocationRange. (For this option, Essbase does not distinguish between #MI and zero values.) errorsToLow: Adds rounding errors to the member with the lowest allocated value. If allocated values are identical, adds rounding errors to the first value in allocationRange. #MISSING is treated as the lowest value in a list; if multiple values are #MISSING, rounding errors are added to the first #MISSING value in the list. errorsToMbr: Adds rounding errors to the specified roundMbr, which must be included in allocationRang