You are on page 1of 19

FAQS in HYPERION

Strategy
What is Hyperion Essbase?
Hyperion Essbase is the industry-leading technology platform for providing online analytical
processing. Providing OLAP technology for the enterprise is drastically different from providing
online transactional processing (OLTP) technology. And, Hyperion Essbase is custom-built to
perform in this highly concurrent, calculation-rich OLAP environment. By presenting the analytical
applications in a highly navigable multidimensional nature, organizations capitalize on their
investment by providing a robust platform for their reporting, analysis, modeling, and planning
applications.

When was Hyperion Essbase 7.0 made generally available?


Analytic Services 7.0 was made generally available in December 2003.

Where can I get detailed information about the changes in Hyperion Essbase 7.0?
General information on the changes and new features in Analytic Services 7.0 can be found in the
New Features guide (esb_new_features.pdf), which is located in the Docs\pdf sub-directory off of
the documentation install directory.
You can find detailed information in the Database Administrators Guide (esb_dbag.pdf), which is
located in the Docs\pdf sub-directory off of the documentation install directory.

Note: Starting with Analytic Services 7.0, the documentation is a separate installation
(esb7000di.exe), which can be found on the Hyperion Download Center.

Upgrade Info
As a current Essbase customer, do we get this new release for free?
Your annual maintenance fees include access to free product upgrades, service fixes, and technical
support. You can download the new release via the Hyperion Download Center or by requesting a
CD.

Can I upgrade directly from 5.x or 6.x to Hyperion Essbase 7.0?


You can upgrade directly from Hyperion Essbase 6.2 and up. For other releases you must first
upgrade to release 6.2 or higher before upgrading to release 7.0.

What changes are made to the with Hyperion Essbase server when upgrading from a
prior release?
Because Analytic Services 7.0 supports Unicode, when a previous installation is upgraded, the
information in the security file is converted from the native encoding code page to Unicode. Also,
some APIs were renamed to reflect the new support for Unicode; for example, essapin.dll was
renamed to essapinu.dll.

Note: As a result of the conversion of the security file to Unicode, it is now impossible to start the
Analytic Services server without ESSLANG being set. This is because Analytic Services uses the
ESSLANG variable to determine how to convert the security file to Unicode.

Will my previous release software clients work with Hyperion Essbase 7.0?
Yes. Previous clients such as the Hyperion Essbase spreadsheet add-in or Application Manager
release 6.5.4 will function with Hyperion Essbase 7.0. However the new features of Release 7.0 may
not be visible in the user interfaces.
Note: As a general rule, to avoid DLL conflicts with previous release software, the old clients should
be installed on a separate machine from the new server. Please refer to the installation guide for
details.

Performance/Architecture

Calculation
Can I override the create blocks on equations database setting?
If you assign non-constant values to members of a sparse dimension, new blocks are created based
on the Create Blocks on Equations setting. The Create Blocks on Equations setting is defined at the
database level, as a database property. Within calculation scripts you can use the SET
CREATEBLOCKONEQ ON|OFF setting to override the Create Blocks on Equations setting,
temporarily. You can use this command within FIX statements to fine-tune exactly which blocks to
create.

Will I be able to create blocks on dense member formulas?


The new calculation script command, SET CREATENONMISSINGBLK ON|OFF, enables creation of
new blocks during the execution of member formulas, including dense member formulas, any time
the formula results in a value. This command ensures that only non-empty blocks are stored after
the calculation.

Are there calculation enhancements, which give more control over the currency
conversion process?
Yes. Two new calculator commands are now available that provide fine control over currency
conversion calculations.
You can use the CLEARCCTRACK calculation command to clear the internal exchange rate tables
created by CCTRACK, this enables the recalculation of currency calculations without having to reset
the database.
You can use SET CCTRACKCALC ON|OFF within a calculation script to turn off CCTRACK temporarily.

Administration
When performing a dimension build can I overwrite and remove existing User
Defined Attributes (UDAs)?
Analytic Services introduces the ability to modify existing UDAs within an outline. You can now use
the UDA field type in the rules file to replace an existing UDA value. In prior releases, you could use
the UDA field type only to define new UDA values in the outline.

What types of automatic database optimization features have been added to


Hyperion Essbase 7.0?
Essbase Administration Services 7.0 now enables you to optimize an Hyperion Essbase outline by
changing certain properties in the outline. Outline optimization changes the storage property of a
member to Label Only or Dynamic Calc when it determines the value can be determined easily
through calculation at query time.

Also, outline dimensions are arranged in hourglass order; that is, the dense dimensions tagged as
accounts or as time are positioned at the top of the outline. The remaining dense dimensions are
positioned next, from the largest dense dimension down to the smallest dense dimension. Sparse
dimensions are positioned next and arranged from the smallest sparse dimension to the largest one.
Attribute dimensions are positioned at the end, in no particular order.

How can I monitor changes to my Hyperion Essbase 7.0 database?


Hyperion Essbase now provides triggers functionality that enables you to monitor data changes in a
database. You set an area of the database to be monitored and define the rules that will trigger an
event. If any data change breaks the monitoring rules that you have specified, an event is
triggered.

What type of actions occurs when data triggers are executed?


Analytic Services can send an e-mail (to a user or system administrator) or log the information in a
file. For example, you might want to send an e-mail to the Sales manager if sales in the Western
region fall below sales for the equivalent month in the previous year.

Will I be able to execute a program or MaxL script if a trigger is executed?


No. In this release of Analytic Services it is not possible to execute an action other than send the
information in an e-mail or spool it to a file. However, it is possible to create a program that
monitors the creation or modifications of the trigger files and then have this program launch other
tasks.

Will triggers slow down processing of data loads and calculations?


Depending on the size of the area in the database that is being monitored by triggers, there can be
some performance impacts during data load and calculation operations. It is best practice to keep
the area being monitored as concise as possible. Also, triggers can be turned on and off in-between
various operations; so if a trigger needs to monitor only a data load, the trigger should be turned
off after the data load is completed.

Is there a way to force a dense restructure of a database?


Yes. The ability to restructure the database explicitly (to eliminate or reduce fragmentation) has
been added. This functionality is available through MaxL. Previously, the only way to restructure the
database was by adding a member (and then deleting it) or to force a structure change in a block.

MaxL
Will MaxL support all of the ESSCMD functionality?
Yes. With Hyperion Essbase 7.0, all of the ESSCMD functionality is included in MaxL. Two ESSCMD
shell specific functions that are not included: the GOTO and If ERROR statements. Using these
branching and looping statements requires using MaxL within the Perl interface.

Has the ESSCMD to MaxL conversion utility been updated for Hyperion Essbase 7.0?
Yes. The conversin utility now converts all ESSCMDs to MaxL equivalent statements.

Will ESSCMD continue to be supported, or is it going away at some point?


ESSCMD will be supported through the 7.x releases; however, no new commands will be added to
ESSCMD.

What is the new MaxL Data Manipulation Language (MaxL DML) and what benefits
does it provide?
Data manipulation relates to accessing the actual data within a database system.
MaxL DML provides the ability to perform advanced data extraction and querying by means of a
query statement structure that is very similar to SQL.

How does MaxL DML compare to Essbase report scripts?


MaxL DML is more expressive than Report Scripts and allows you to create a single query for
complex questions that would have potentially required multiple report scripts. However, you cannot
format MaxL DML results the way you can format report scripts results.

Which front-end tools use MaxL DML?


The standard MaxL shell supports MaxL DML queries. You can also use APIs to run MaxL DML
statements.

Unicode
What is Unicode and what benefits does it provide?
Through its implementation of the Unicode standard, Analytic Services 7.0 enables employees of
global businesses to view, in their own languages, company information stored in centralized
databases. The ability to create databases of different languages on the same server can help
reduce maintenance costs.

When I upgrade to Hyperion Essbase 7.0 is there any impact due to Unicode
support?
When a previous installation is upgraded, the information in the security file is converted from the
native encoding code page to UTF8. A backup of the security file is created before the conversion
takes place. Note: Because Analytic Services uses the ESSLANG variable to determine how to
convert the security file to UTF8, it is now impossible to start the Analytic Services server without
having set the ESSLANG value.

Will all applications and databases be Unicode-enabled upon upgrade to 7.0?


No. Existing applications and databases will remain non-Unicode until the administrator specifically
converts them. When you convert an application to Unicode, appropriate application and database
files are converted to UTF8. Other files such as calculation scripts, report scripts, outlines, and so
on, are converted on first use.

Which front-end clients and Administration tools will work with Unicode
applications?
Essbase Administration Services and Essbase Spreadsheet Services supports Unicode.

Is there any functionality in Hyperion Essbase 7.0 that doesn't support Unicode?
Yes. The following features do not support Unicode: hybrid analysis, SQL Interface, MaxL DML,
triggers, data mining and query logging.

Miscellaneous
How does Hyperion Essbase 7.0 support data mining?
A data mining framework has been added to this release of Analytic Services. Data mining is the
process of searching through large amounts of data in an Analytic Services database to find hidden
relationships and patterns. Data mining results can be descriptive, providing additional information
about existing data; or predictive, forecasting future trends.

How does the new data compression algorithm, Index Value Pair, work?
A new compression algorithm, Index Value Pair, has been added to Analytic Services. This algorithm
is not selectable, but is automatically used whenever appropriate for the database. In cases where
the block density for a specific block is less than 3%, Index Value Pair is used to compress that
block. The larger the block and the lower its density, the greater compression can be achieved by
Index Value Pair.

How has the handling of multiple Essbase Agents on one server improved?
Can multiple Agents be used in a production environment?
The process for a client to connect to multiple Agents on a single machine has been greatly
simplified. Previously, to connect to a different Agent a client had to change the port number in its
configuration file, stop, then start again. This same process had to be repeated to go back to the
original Agent. Now you can connect to an Analytic Services server by specifying servername:port#.
Is there a way for security access to filter on metadata, in addition to the current
security filters on data?
Yes. Metadata security adds a layer of security for metadata (dimensions and members) in outlines,
similar to read-only security for data cells. A new access level called MetaRead can be applied to
dimensions or members. This level restricts access to dimensions or members during retrieval of an
outline in a report.

Which front-end client tools support metadata filters?


All front-end tools connecting to an Hyperion Essbase server support metadata filters.

How can I reduce member load times in Essbase Integration Services?


Open your metaoutline in the EIS Console, right-click the metaoutline name and choose
"Properties." Click the "Load Optimization" tab. When "Allow Duplicate Shared Members" is
unchecked, the system performs an additional level of data verification during Member Loads:
Essbase Integration Services eliminates duplicate copies of shared members under any one parent
(only one stored and one shared member get saved to the outline under any given parent). In
actual practice, few installations need this level of verification, and this option can be checked,
bypassing the test for duplicate shared members. Performance increases of 10x have been reported
when this option is used.

How can I use the Microsoft Excel 97 spreadsheet client with newer versions of
Essbase Integration Services?
Although not explicitly specified in the product feature matrix, older versions of the spreadsheet
client such as the Spreadsheet Add-In Release 6.1.x may work with newer versions of Essbase
Integration Services such as 6.5.1. Check the product support page for additional information on
supported platforms. By using this approach, newer bug fixes and features that affect Essbase
Integration Services in later versions (such as Hybrid Analysis) will not be accessible.

How should I setup my relational database's user rights for Essbase Integration
Services (EIS)?
When Essbase Integration Services is initially connected to a relational database it gathers all the
information available to the username through which the database has been logged-in with. The
more tables the user has permissions to, the longer this operation takes. Some customers have
databases with huge collections of tables available in Public mode, and others choose to log into
their relational databases as the database administrator, with permissions on everything. This is a
bad idea. The best scenario is to have the relational database username that Essbase Integration
Services uses have SELECT permissions only on the tables and views required by the model in use.
Also keep in mind that if there are views, the user must have SELECT permission on the tables from
which the views are built. Note- Teradata users should set up their ODBC data sources to invoke the
"Use XViews" option.

How do I troubleshoot "rejected record" problems?


To find out why records were rejected on member loads or data loads:
1. Look in $ISHOME/log/olapisvr.log and find the SQL SELECT statement for the load you
wanted to do. Note the process number of the load in the example below:

2. Look in

$ISHOME/loadinfo/<process number>

on the Essbase Integration Services server. If the load is a member load, you should find a
rules file and corresponding text file for the rejected records. If the load is a data load a
data file will be present, and the rules file will be on the Essbase server in
$ARBORPATH/app/<appname>/<dbname>/hisdld.rul.

3. In the Essbase Application Manger, do a Modify Outline or a Data Load, as appropriate


(using the rules file and data file you found in step 2 above). Specify an error file in the
bottom text box of the load dialog. Do the load.
4. The error file you specified in step 3 above will identify the particular problems with any of
the rejected records in the data file.

Can I check the validity of a self-loadable data file without loading data?
You can use the UpdateFile command in ESSCMD to check the validity of data files that do not
require a rules file to load. The following syntax information is from the Hyperion Essbase Version
6.1 Technical Reference. Refer to the online technical documentation on Hyperion Developer
Network for the most up-to-date technical information:

UPDATEFILE location fileName update


location Location of the data file. Values:
1 - Local/client-based rules object
2 - Remote/server data object
3 - File. Use option 3 if you want to specify the full
path name. Otherwise, Hyperion Essbase looks in
the <appname>/<DBNAME> directory

fileName Name of the file to load.

Update Update action. Values:


1 - Load data
2 - Unlock data blocks
3 - Verify data

How do Hyperion Application Link and Hyperion Essbase integrate?


Hyperion Application Link (HAL) uses "building blocks," which are special purpose components that
facilitate connection to a specific application or function. HAL contains many building blocks such as:
an ODBC block, a flat file block, Microsoft Front office blocks for Word and Excel and many others.
These blocks are distributed with the product. In addition, there are other blocks that are available
for purchase, for products like SAP, JD Edwards, Hyperion Enterprise, and Hyperion Pillar.

While there is not a building block available for Hyperion Essbase, this does not mean that HAL can't
be used with Hyperion Essbase. Here is an example of how a you could perform a typical SAP to
Hyperion Essbase integration, using HAL:
1. Build the SAP extraction integration using HAL and the SAP building block.
2. Put the results of the extraction into either a flat file, spreadsheet, or ODBC database.
3. Start building a Hyperion Essbase outline using the Hyperion Essbase Application Manager.
4. Build load rules for the dimension build and the data load using Hyperion Essbase
Application Manager and the files created in step 2.
5. Build an ESSCMD script to update the dimensions, load the data, and calculate the
database.
6. Include in the HAL integration a building block to execute the ESSCMD script after the file in
step 2 is created.

This integration allows you to simply double click a desktop icon and run the integration or use the
built-in scheduler in HAL to run the process. For detailed information about using HAL and Hyperion
Essbase in your environment, contact your local Hyperion Solution Consultant.

Are there a maximum number of aliases per outline?


Aliases are stored in one or more tables as part of a database outline. When you create a database
outline, Essbase creates an empty alias table called, "Default." If you do not create any other alias
tables, all of the aliases that you created are stored in the "Default" alias table. The maximum
number of alias tables allowed per outline is 10. Hence, if you create 10 alias tables, you will be
allowed 10 aliases for each individual member in your outline.

Backing Up a Database
A key part of a database maintenance routine includes regular backups of Essbase data. It is
important to integrate regular database backups into your production server maintenance.

The frequency of backups is dependent upon the volatility of the database and server environment,
as well as upon the demand for quick database restores in the event of server crashes.

There are two methods of backing up a database:

» Preparing the database for file system backup


» Exporting, which makes a copy of data in an ASCII text
format

This section tells you which files should be backed up regularly and describes each backup method.

Files to Back Up
You should regularly back up the server, application, and database files listed in Table 74:

Table 74: Files to Back Up

File Stored Where

essn.ind \essbase\app\appname\dbname

essn.pag \essbase\app\appname\dbname

dbname.esm \essbase\app\appname\dbname

dbname.tct \essbase\app\appname\dbname

dbname.ind \essbase\app\appname\dbname
appname.app \essbase\app

dbname.db \essbase\app\appname\dbname

x.lro \essbase\app\appname\dbname

essbase.sec \essbase\bin

essbase.bak \essbase\bin

essbase.cfg \essbase\bin

Database object files such as .otl, .csc, .rul, .rep, \essbase\app\appname\dbname


.eqd, and .sel

ESSCMD or MaxL scripts No defined storage location

It is important to back up all .ind and .pag files related to a database because a single database can
have multiple .ind and .pag files. Remember, the Agent should be shut down before the essbase.sec
file is backed up.

For a full list and description of all Essbase files, see How Essbase Files Are Stored.

File System Backup


A common method of creating database backups is by doing a file system backup of the OLAP
Server. You can perform the backup using the file system backup software of your choice. You can
back up specific directories or files, or you can back up the entire Essbase directory structure.

In most cases, backups occur after Essbase applications and databases, as well as the Agent, are
shut down. However, due to user requirements, some Essbase databases must be up and running
at the time of backup. For more information, see Placing a Database in Read-Only Mode.

Be sure to back up data on every disk volume Essbase uses. For information about data storage on
multiple volumes, see Storage Allocation.

Placing a Database in Read-Only Mode


Essbase provides a way to prepare a database for backup when the database must remain running
during the backup process. Placing the database in read-only (or "archive") mode protects the
database from updates during the backup process. After you perform the backup using the third-
party backup utility of your choice, you then return the database to read-write mode.

» To place a database in read-only mode, use either of the following


methods:

Tool Instructions For more information

MaxL alter database begin archive Technical Reference in the docs directory

ESSCMD BEGINARCHIVE Technical Reference in the docs directory

Note: If you try to cancel the BEGINARCHIVE ESSCMD command or the 'alter database begin
archive' MaxL statement and you receive a "can't cancel" message, the system is most likely in the
final stage of writing items to the drive and has reached the point where the operation cannot be
cancelled.

» To return the database to read-write mode, use either of the following


methods:

Tool Instructions For more information

MaxL alter database end archive Technical Reference in the docs directory

ESSCMD Use ENDARCHIVE command Technical Reference in the docs directory

The begin-archive utility does the following:

» Commits any modified data to disk.


» Switches the database to read-only mode.
» Reopens the database files in shared, read-only mode.
» Creates a file containing a list of files that need to be backed up. By default, the file is called
archive.lst. It is stored in the database directory.

If a user tries to modify data during the backup process, an error message informs the user that
data is in read-only mode for backup.

The end-archive utility does the following:

» Returns the database to read-write mode.


» Re-opens database files in exclusive, read-write
mode.

Begin-archive and end-archive utilities do not perform the backup; they simply protect the database
during the backup process.

Caution: If you back up your data without using a begin-archive utility, make sure that all Essbase
applications are closed and that all users are logged out during the backup process. Otherwise, you
risk corrupting the database.

Performing a Backup
After putting the database in read-only mode, you are ready to perform the backup.

» To backup data, use a third-party backup utility to back up the files listed in
archive.lst.

Make sure you back up the files listed in Files to Back Up. Alternatively, you can back up the
entire Essbase directory structure.

For information on restoring files from backup, see Restoring Data from Backups.

Returning a Database to Read-Write Mode


After performing the backup, you need to return the database to read-write mode.

» To return the database to read-write mode, issue an 'alter database end archive' statement in
MaxL, or the ENDARCHIVE command in ESSCMD.
See the Technical Reference in the docs directory for syntax information.

Note: You must use the end-archive utility to put the database back into read-write mode, even if
you shut down and restart the database. The end-archive utility does not restart the database.

Using Export to Back Up Data


You can back up data by exporting it. Exporting data copies it to an ASCII text file that you specify;
it does not compress data. The export file contains data only and does not include control, outline,
or security information.

You might consider exporting data for the following reasons:

» To transfer data across platforms


» To back up only a certain portion of the data; for example, level 0
blocks
» To create an exported file in text format, rather than binary format

Note: You can export subsets of data by creating reports. For more information, see Copying Data
Subsets and Exporting Data to Other Programs.

Export Considerations
Using export to back up data provides the following advantages:

» You can use the resulting ASCII files to load data from the source database into databases on
other platforms.
» When loading an export file into a database, it is important that the database outline contains all
the members found within the export file. If not, the load will fail. Also, if the outline changes
between the time that the export file is created and reloaded (and the new outline contains all
the members found within the export file), the load time might be significantly higher than if the
outlines were identical.
» During an export, data integrity is verified because every block is checked to confirm whether
corresponding page and index files match.
» You can reduce fragmentation in a database by exporting data into an ASCII file, clearing all
data from the database, and reloading the ASCII file.
» You can export a database in column format from Application Manager or MaxL. Then, you can
use a data load rules file to load the column-formatted file. Using column format is helpful when
you need to manipulate the export file.

Using export to back up data provides the following disadvantages:

» Because dynamic calculations are not executed at the time of the export, only stored data and
data from previously calculated Dynamic Calc And Store members are included in the export.
» At the time of a database export, Essbase users cannot write to the database. Users receive an
error message if they try to write to the database during an export. After an export has started,
users can do read operations. Exports of large databases require considerable amounts of time,
time during which users can only read the data.

Exporting Data
To export data, use any of these clients:

Tool Instructions For More Information

Application Select database > Database > Essbase Application Manager Online
Manager Export Help
ESSCMD EXPORT or PAREXPORT Technical Reference in the docs
directory

MaxL export data Technical Reference in the docs


directory

All methods require the same basic information:

» The amount of data to export:

• All data
• Level 0 blocks only (blocks containing only level 0 sparse member combinations)

• Data from input blocks only (blocks containing data from a previous data load or
spreadsheet Lock & Send)
» Whether to export data in a columnar or non-columnar format

To facilitate loading the exported data into a relational database, export the data in columns. In
each row, the columnar format displays a member name from every dimension. Names can be
repeated from row to row.

The columnar format provides a structure to the exported data, so that it can be used for further
data processing by applications other than Essbase tools. In non- columnar format, sparse
members identifying a data block are included only once for the block. Because the export file in
non-columnar format is smaller than in columnar format, reloading a file in non-columnar format
is faster.
» The export data file names

Improving Export Performance


To improve export performance, you can now export data in parallel to a specified number of files,
using the export statement in MaxL or the PAREXPORT command in ESSCMD. For details see the
Technical Reference in the docs directory.

Exporting Files Larger Than 2 GB


Some file management systems do not support ASCII files larger than 2 GB. On any operating
system, if Essbase anticipates that an export file exceeds 2 GB, it creates two or more export files,
as needed.

When Essbase creates multiple export files, it uses the requested file name for the main file. An
underscore and a sequential cardinal number are appended to the names of the additional files,
starting with _1. For example, if the requested file name is expJan.txt and the exported data would
exceed 4 GB, Essbase creates three files, naming them: expJan.txt, expJan_1.txt, and
expJan_2.txt. Exported data files can be reloaded in any sequence.

Reloading Exported Data


To reload exported data, use any one of the following tools:

Tool Instructions For More Information

Application Perform a data load without a rules file. Performing and Debugging
Manager Select database > select Database > Data a Data Load
Load
ESSCMD IMPORT Technical Reference in the
docs directory

MaxL import data Technical Reference in the


docs directory

When you reload data that has been exported, Essbase marks the data as input data. If you reload
data exported from level 0 blocks or input blocks, you must recalculate the database after
reloading. When you recalculate the database, Essbase recalculates every data block.

If you export all data in a database and then reload, Essbase marks all blocks in the database as
input blocks. Consequently, if you try to clear data by selecting Database > Clear Data > Non-Input
Blocks from Application Manager, no data is cleared because the database contains no non-input
blocks.

When you reload data that has been exported, Essbase also marks the data blocks as dirty. If you
had calculated the database prior to exporting it, to save time during the next calculation, you
should set the status of the blocks as clean. If you had not calculated the database prior to
exporting it, you do not need to set the status of the blocks as clean.

» To clean the status of the blocks in a database after exporting all data and reloading, you can
run the following calculation script:

Set ClearUpdateStatus Only;


Calc All;

Restoring Data from Backups


To restore a database, replace the files on disk with the corresponding files from backup. See Files
to Back Up for a list of files that should be backed up on a regular basis.

The application should be stopped, unless you are restoring from an export file. In that case, ensure
the application is not accepting client connections.

Essential Database Files


These files are all key components of an Essbase database:

Table 75: Essential Database Files

File Description

essn.pag Essbase data file

essn.ind Essbase index file

dbname.esm Essbase Kernel file that contains control information used for database
recovery

dbname.tct Transaction control table

dbname.ind Free fragment file for data and index free fragments
dbname.otl Outline file, which does not store data but does store all metadata for a
database and defines how data is stored

If there is a problem with any one of these files, the entire database becomes corrupted. The
database must then be restored from backups or reloaded from exports.

There have been cases in which database files have become corrupted. In such situations, the
database is not able to start up on the OLAP Server. Therefore, no data can be reloaded to restore
the database. In these cases, the only way to restore the database is to delete all of the following
files:

» essn.pag
» essn.ind
» dbname.esm
» dbname.tct
» dbname.ind

After the files are deleted, restart the database and reload from data files or from export files
created prior to the corruption.

Does Hyperion Essbase support 'n' tier architecture?


What does the term mean?
The term "n-tier architecture" can mean different things, depending on the context.

For example Hyperion Analyzer has a 3-tier architecture with regard to web deployment. The three
tiers are:

1. Client tier
2. Application Server tier
3. Essbase Server tier

The term "n-tier architecture" just states that you have n-levels (or tiers) in your infrastructure
architecture. So yes, we do support the concept of "n-tier architecture".

Can I have multiple versions of Hyperion Essbase on a single machine?


Two versions of Essbase can be resident on a single machine at the same time, but only one version
should be in the system path. You do need to ensure that the environment settings point to the
version that you're currently using, for example:

ARBORPATH = C:\ESS60
PATH = ...other path information...;C:\ESS60\BIN; ...other path information...

Make sure that no other Essbase DLLs from any other version of Essbase are in the system path. In
order to switch between the two versions, simply change the ARBORPATH and PATH references to
the appropriate directories. If you have both versions of Essbase in the PATH, you could
inadvertently be using the DLLs from another version.

What are some techniques to optimize my calculations?


The following techniques can be used to optimize your Essbase calculations:
» Simulated Calculation
» Calculation Settings

• Aggregate Missing Values


• Calc All vs. Calc Dim

• Intelligent Calculation
» Calc Script Review

Server Calculation Engine

Simulated Calculation
Simulated calculations can produce estimates of calculation times for applications and database size
without actually running a full calculation. Using the guidelines and rules in this document, you
should have been able to narrow down the dense and sparse setting combinations for the database.
These remaining combinations are the ones that should be tested using the simulated calculation.
Each time you begin the simulated calculation you should be working with a fully populated,
uncalculated database.

An example of a simulated calc script would be as follows:

SET MSG ONLY; /* ALLOWS US TO DO SIM CALC; "ONLY" IS NOT DOCUMENTED */


SET MSG SUMMARY; /* REPORTS SPARSE/DENSE UPPER LEVEL CALCS and BITMAP
USED */
SET NOTICE DEFAULT; /* REPORTS STAGES OF CALC */
CALC DIM ("dim name"); /* CALC ONLY NON-DYNAMIC CALCULATION DIMSENSIONS
*/
When checking the syntax of the calc script, the SET MSG ONLY command is not recognized and is
indicated as an error. Ignore the warning, as long as the rest of your syntax is correct.

To create a simulated calculation:

1. Create a calculation script as shown above.


2. Record the starting time of the calculation and the time of every message sent to the
Application Log during the calculation. There will be 10 messages sent and they should run
rather quickly, compared to a normal calculation.
3. Calculate the frequency of the messages as shown below.
4. Edit the calculation script by taking the word "only" out of the SET MSG ONLY command.
5. Run the edited calculation Script stopping it after the first message is displayed.
6. Note the starting time of the calculation and the time of the first message.
7. Extrapolate the remaining times of each interval based on the frequency of the simulated
calculation as shown below. (multiply the frequency by the difference for the starting and
1st messages of the actual calc)
8. Sum the results to get a complete calculation time.

Simulated Calculation Actual Calculation


Estimated
Interval Difference Frequency Actual Interval
Difference
Start 14:43:00 X X 17:13:00 X
1st Notice 14:47:00 0:04:00 X 17:30:00 0:17:00
2nd Notice 14:54:00 0:07:00 1.75 X 0:29:45
3rd Notice 14:59:00 0:05:00 0.71 X 0:21:15
4th Notice 15:04:00 0:05:00 1.00 X 0:21:15
5th Notice 15:11:00 0:07:00 1.40 X 0:29:45
6th Notice 15:16:00 0:05:00 0.71 X 0:21:15
7th Notice 15:18:00 0:02:00 0.40 X 0:08:30
8th Notice 15:22:00 0:04:00 2.00 X 0:17:00
9th Notice 15:23:00 0:01:00 0.25 X 0:04:15
10th Notice 15:23:25 0:00:25 0.42 X 0:01:46
Cells for data entry in military time format hh:mm:ss. Estimated
2:51:46
Calculated cells. Calculation Time

A tuning worksheet and program can be downloaded from the Downloads section of Hyperion
Developer Network.

Calculation Script Settings


Various calculation settings can have a major impact on the performance of your Essbase
Applications. Settings that are often discussed or have can make a major impact are detailed below.

Aggregate Missing Values (Set Aggmissg On|Off;)


By default the Aggregate Missing Values setting is turned off; this allows for the input of data to
upper level blocks. If this is an application requirement, then the following discussion will not apply.
With the setting off during a calculation, Essbase needs to check to see if missing values will
overwrite upper level block values and possibly prevent it. This process adds to the total calculation
time, and that time will vary based on the ratio of upper level blocks to level zero blocks. Turning
Aggregate Missing Values on will allow the Essbase calculator to skip this process, and in most
cases, improve calculation times. This setting can be changed in Application Manager (Database -
Settings) or in a calculation script using the syntax above.

Calc All vs. Calc Dim


Is it better to run a Calc All on your database or should you run a Calc Dim on you non- dynamically
calculated dimensions? The answer is it depends. This is something that has to be tested on an
application-by-application basis. Any performance gains or reductions as a result of these choices
are usually determined by the application's use of dynamic calculations. See the section on block
size above for additional details. This is something that can be tested and applied after all simulated
calculation tests have been run and optimal database configuration has been determined. Generally
speaking, however, applications with dynamically calculated dimensions (no stored members above
level zero or no stored level zero members with formulas) will benefit by not using Calc All.

Intelligent Calculation (Set UpdateCalc On|Off; Set ClearUpdateStatus After|Only|


Off;)
With Intelligent Calculation on when a calculation is run Essbase flags blocks as 'clean', and when
data is loaded or changed blocks are flagged as 'dirty'. (It is important to notice that this is not
done at the 'cell' level but instead it is done at the block level.) This helps reduce calculation time by
allowing the Essbase Calculator to skip the blocks flagged as 'clean'. Similar to the Aggregate
Missing Values setting checking the status of the blocks flagging the blocks adds overhead to
calculations. Depending on the types of data updates being performed doing this may or may not
improve calculation times. For example if you load accounting data into Essbase after the books are
closed each month it is likely that most or all of the blocks will be flagged as dirty. In this case
Intelligent Calculation should not be used because this will add overhead to the calculation each
month without reducing the number of blocks calculated.

ClearUpdateStatus works in conjunction with Intelligent Calculation to allow you to define the
clean/dirty marking behavior after partial database calcs (vs. full database calculation passes).
Refer to the online technical reference for further details.
@CALCMODE(Cell/Block)
@CALCMODE(TOPDOWN/BOTTOMUP)
The Essbase application log now contains statements during calculations to allow you to identify
more "expensive" calculations forcing cell mode or topdown mode. Essbase will err on the side of
conservatism, forcing cell or topdown mode occasionally when it is not required by your specific
calculation. Refer to the online technical documentation for a full list of functions requiring cell
mode. The top-down method slows down calculation performance because Hyperion Essbase
searches for the appropriate blocks to calculate in order to execute complex formulas.

A complex formula does any of the following:

» References a member or members in a different dimension (sparse or dense); for example,


Product->Jan.
» Uses one or more range functions, for example, @AVGRANGE, @MAXRANGE, @MINRANGE, or
@SUMRANGE.
» Uses relationship or financial functions; for example, @ANCESTVAL, @NEXT, @PARENTVAL,
@SHIFT, @ACCUM, or @GROWTH.

Note that you can utilize the @CALCMODE function in your calc scripts to isolate calculations and
force block or bottomup mode. This will generally improve the calc performance and is advisable, as
long as the resulting data is still correct.

Calc Script Review


» Review calc scripts for efficiency and minimize passes on
database:

• IF on Dense dims
• FIX on Sparse dims

• Combine similar operations to minimize database passes


» Turn on "Aggregate Missing Values" if possible.
» Calculate "Two Pass Calcs" in a single pass or with a Dynamic Calc.
» Calculate dense members before sparse members.
» Use Intelligent Calc if possible.

Can I Specify a Dynamic Time Range and Get a Summary Returned?


If you have a requirement for dynamic time summaries or calculations, i.e. the user can specify the
time range and wants a summary, you can now do this with the Hyperion Essbase calculator. For
example, the user picks a start month and an end month, and automatically gets the summation of
the months in between.

The following calculation and outline allows the user to select any time period, e.g. Feb, and then
select any time period after it , for example, ToApr, and perform the sum of the range dynamically.
Source data is loaded into the upper level member "SumTo". The SumTo dimension should be
sparse, and the calculated member dynamic. In this case, the SumTo dimension doesn't add any
storage overhead to the cube, as the source data is only being loaded into a single sparse member
with no additional stored calculations being added to it.

The calculation:
IF (@ISLEV(SumTo,0) AND "Time Index"->"SumTo" < "Time Index"->"Time"
AND "Time Index"->"SumTo" <> #Missing AND "Time Index"->"Time" <>
#Missing)
@SUMRANGE("SalesIn"->"SumTo",@CURRMBR(Time):@MEMBER
(@SUBSTRING(@NAME(@CURRMBR(SumTo)),2))); ENDIF;

The outline:
This example makes the spreadsheet dynamic. We specify Feb as the FromMonth, and ToMar as our
ToMonth and it yields 13 (i.e. 6+7). Note that the member Sales is input data and loaded at the
SumTo level, SalesIn is dynamically calculated depending on the ToMonth we have chosen.

Note: Be sure to avoid getting into range problems that are nonsensical, for example: Mar:Feb.

If I submit a large query from the Hyperion Essbase Spreadsheet Add-in and want
to cancel it, I just shut down Excel.
Does this stop the query on the server?
If not, what happens on the server?
Exiting from Excel does not stop the query on the Hyperion Essbase OLAP server. The Hyperion
Essbase server continues to process the query until it's done. Depending on the complexity of the
query, (complex formulas, dynamic calculations, etc.), you could let the server finish processing
in the background. However, if the query was impacting performance for other users, then you
should cancel the process on the server, too.

Besides Application manager and EIS,


Essbase supplied MAXL/ESSCMD/API etc. to operate the ESSBASE OLAP SERVER.
I really don't understand how different on these tools' FUNCTIONs.Especially MAXL
and ESSCMD.
I JUST only know that API support Programming,and MAXL support PERL, but others
Function?
I really want to distinguish DIFFERENCE between MAXL and ESSCMD. Which MAXL
can and ESSCMD can't, Which ESSCMD can and MAXL can't
Thanks!
Tek-Tips Forums is Member Supported. Click Here to donate.
rrenfer Feb 27,
(TechnicalUser) 2003
Hi,
in fact the only difference between ESSCMD and MAXL is the number of functions
they support and Essbase versions they work with.

ESSCMD is around since Essbase 5 and currently supports about 75% of the tasks
you can do with Application Manager.
It can't:
- create security filters
- kill user sessions
- change all server/app/db settings

MaxL starts with 6.0, but really became usable with 6.2 and currently supports 75%
of the Application Manager tasks.
It can't:
- copy, rename or unlock objects
- run reports

It's a start, but you have to check out your needs in detail to define what language to
use.

I am trying to figure out the process flow between Essbase and Analyzer. I have
been told that if a user drills through a report, analyzer will chose which path to go,
to either go to an essbase cube or to bypass the cube and go to the essbase
integration server to get the data from the database.

Is this true? And if it is, can this programming be called by another outside program,
such as Business Objects?

My understanding would be that essbase would make that decision. I may be way
off. I have never used Essbase Cubes till this last Monday.

thanks.
Tek-Tips Forums is Member Supported. Click Here to donate.
nuVBer Nov 19,
(Programmer) 2003
If your report is set up to drill through to a relational db that contains for instance,
details of the summarized data from the essbase cube, then yes it can do that.

I'm not familiar with Business Objects, but Essbase has a tool called Essbase Objects
that will allow you to use the Essbase Integration server in the application you create
in VB, VBA or ASP.

Essbase can be set up to "make that decision" if you want it to, but it must be
designed to do that.

You might also like