Professional Documents
Culture Documents
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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:
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
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.
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.
MaxL alter database begin archive 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.
MaxL alter database end archive Technical Reference in the docs 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.
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.
» 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.
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.
» 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:
Application Select database > Database > Essbase Application Manager Online
Manager Export Help
ESSCMD EXPORT or PAREXPORT Technical Reference in the docs
directory
• 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
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.
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
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:
The application should be stopped, unless you are restoring from an export file. In that case, ensure
the application is not accepting client connections.
File Description
dbname.esm Essbase Kernel file that contains control information used for database
recovery
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.
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".
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.
• Intelligent Calculation
» Calc Script Review
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.
A tuning worksheet and program can be downloaded from the Downloads section of Hyperion
Developer Network.
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.
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.
• IF on Dense dims
• FIX on Sparse dims
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.
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.