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:
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:
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.
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. 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 Name of the file to load. 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. 2. 3. 4. 5. 6.
Build the SAP extraction integration using HAL and the SAP building block. Put the results of the extraction into either a flat file, spreadsheet, or ODBC database. Start building a Hyperion Essbase outline using the Hyperion Essbase Application Manager. Build load rules for the dimension build and the data load using Hyperion Essbase Application Manager and the files created in step 2. Build an ESSCMD script to update the dimensions, load the data, and calculate the database. 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 essn.pag dbname.esm dbname.tct dbname.ind
\essbase\app\appname\dbname \essbase\app\appname\dbname \essbase\app\appname\dbname \essbase\app\appname\dbname \essbase\app\appname\dbname
appname.app dbname.db x.lro essbase.sec essbase.bak essbase.cfg
Database object files such as .otl, .csc, .rul, .rep, .eqd, and .sel ESSCMD or MaxL scripts
\essbase\app \essbase\app\appname\dbname \essbase\app\appname\dbname \essbase\bin \essbase\bin \essbase\bin \essbase\app\appname\dbname
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 thirdparty 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 MaxL ESSCMD Instructions alter database begin archive BEGINARCHIVE For more information Technical Reference in the docs directory 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 MaxL ESSCMD Instructions alter database end archive Use ENDARCHIVE command For more information Technical Reference in the docs directory 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.
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.
To export data, use any of these clients: Tool Application Manager Instructions Select database > Database > Export For More Information Essbase Application Manager Online Help
EXPORT or PAREXPORT
Technical Reference in the docs directory 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 Application Manager Instructions Perform a data load without a rules file. Select database > select Database > Data Load For More Information Performing and Debugging a Data Load
Technical Reference in the docs directory 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 Essbase data file Essbase index file Essbase Kernel file that contains control information used for database recovery Transaction control table Free fragment file for data and index free fragments
essn.pag essn.ind dbname.esm dbname.tct dbname.ind
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. 2. 3. Client tier Application Server tier 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. 2. 3. 4. 5. 6. 7. 8. Create a calculation script as shown above. 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. Calculate the frequency of the messages as shown below. Edit the calculation script by taking the word "only" out of the SET MSG ONLY command. Run the edited calculation Script stopping it after the first message is displayed. Note the starting time of the calculation and the time of the first message. 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) Sum the results to get a complete calculation time. Simulated Calculation Interval Start 1st Notice 2nd Notice 3rd Notice 14:43:00 14:47:00 14:54:00 14:59:00 Difference X 0:04:00 0:07:00 0:05:00 Frequency X X 1.75 0.71 Actual Calculation Actual Interval 17:13:00 17:30:00 X X Estimated Difference X 0:17:00 0:29:45 0:21:15
4th Notice 5th Notice 6th Notice 7th Notice 8th Notice 9th Notice 10th Notice
15:04:00 15:11:00 15:16:00 15:18:00 15:22:00 15:23:00 15:23:25
0:05:00 0:07:00 0:05:00 0:02:00 0:04:00 0:01:00 0:00:25
1.00 1.40 0.71 0.40 2.00 0.25 0.42 X
X X X X X X
0:21:15 0:29:45 0:21:15 0:08:30 0:17:00 0:04:15 0:01:46 2:51:46
Cells for data entry in military time format hh:mm:ss. Estimated Calculation Time Calculated cells.
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.
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.
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;
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.