100% found this document useful (1 vote)
339 views

Hyperion Interview Questions

Hyperion Essbase allows users to optimize performance through database design choices like outline configuration, data loading methods, and preventing fragmentation. Database restructuring may occur due to outline changes or dense dimension modifications, and can be implicit or explicit. Performance is improved by choosing sparse dimensions when possible, using incremental restructuring, and understanding the different restructure operations and files involved. Data compression optimizes storage usage depending on block characteristics. Data locks control concurrent access during processes like calculations.

Uploaded by

sreenids
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
339 views

Hyperion Interview Questions

Hyperion Essbase allows users to optimize performance through database design choices like outline configuration, data loading methods, and preventing fragmentation. Database restructuring may occur due to outline changes or dense dimension modifications, and can be implicit or explicit. Performance is improved by choosing sparse dimensions when possible, using incremental restructuring, and understanding the different restructure operations and files involved. Data compression optimizes storage usage depending on block characteristics. Data locks control concurrent access during processes like calculations.

Uploaded by

sreenids
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 249

Hyperion Essbase Questions

How do you optimize outline? Usually the outline is optimized using the hourglass design for dimension ordering i.e, Dimension with Accounts tag Dimension with Time tag Largest Dense dimension Smallest dense dimension Smallest Sparse dimension Largest Sparse dimension What are the ways to improve performance during data loads? There are several ways to optimize load 1. Grouping of Sparse member combinations 2. Making the data source as small as possible 3. Making source fields as small as possible 4. Positioning the data in the same order as the outline 5. Loading from Essbase Server 6. Managing parallel data load processing What are the design considerations for calculation optimization? You can configure a database to optimize calculation performance. The best configuration for the site depends on the nature and size of the database. Block Size(8Kb to 100Kb) and Block Density Order of Sparse Dimensions Incremental Data Loading Database Outlines with Two or More Flat Dimensions Formulas and Calculation Scripts When does Fragmentation occur? Fragmentation is likely to occur with the following:

Read/write databases that users are constantly updating with data Databases that execute calculations around the clock Databases that frequently update and recalculate dense members Data loads that are poorly designed Databases that contain a significant number of Dynamic Calc and Store members Databases that use an isolation level of uncommitted access with commit block set to zero How can you measure fragmentation? You can measure fragmentation using the average clustering ratio or average fragmentation Quotient. Using the average fragmentation quotient Any quotient above the high end of the range indicates that reducing fragmentation may help performance Small (up to 200 MB) 60% or higher Medium (up to 2 GB) 40% or higher Large (greater than 2 GB) 30% or higher Using the average clustering ratio: The average clustering ratio database statistic indicates the fragmentation level of the data (.pag) files. The maximum value, 1, indicates no fragmentation. How do you can prevent and remove fragmentation? You can prevent and remove fragmentation: To prevent fragmentation, optimize data loads by sorting load records based upon sparse dimension members. For a comprehensive discussion of optimizing data load by grouping sparse members. To remove fragmentation, perform an export of the database, delete all data in the database with CLEARDATA, and reload the export file. To remove fragmentation, force a dense restructure of the database.

Why is database restructuring? As your business changes, you change the Essbase database outline to capture new product lines, provide information on new scenarios, reflect new time periods, etc. Some changes to a database outline affect the data storage arrangement, forcing Essbase to restructure the database. What are the types of database restructuring? The two ways by which a database restructure is triggered:

Implicit Restructures Dense restructure Sparse restructure Outline-only restructure Explicit Restructures

What are the conditions affecting Database restructuring? Intelligent Calculation, name changes, and formula changes affect database restructuring: If you use Intelligent Calculation in the database, all restructured blocks are marked as dirty whenever data blocks are restructured. Marking the blocks as dirty forces the next default Intelligent Calculation to be a full calculation. If you change a name or a formula, Essbase does not mark the affected blocks as dirty. Therefore, you must use a method other than full calculation to recalculate the member or the database. What are the files used during Restructuring? When Essbase restructures both the data blocks and the index, it uses the files described essxxxxx.pag Essbase data file essxxxxx.ind Essbase index file dbname.esm Essbase kernel file that contains control information used for db recovery dbname.tct Transaction control table dbname.ind Free fragment file for data and index free fragments dbname.otl Outline file in which is defined all metadata for a database and how data is stored What are the actions that improve performance for restructuring?

There are a number of things you can do to improve performance related to database restructuring: If you change a dimension frequently, make it sparse. Use incremental restructuring to control when Essbase performs a required database restructuring. Select options when you save a modified outline that reduce the amount of restructuring required. Which restructure operations are faster? These types of restructure operations are listed from fastest to slowest: Outline only (no index or data files) Sparse (only index files) Dense (index files and data files) as a result of adding, deleting, or moving members and other operations Dense (index and data files) as a result of changing a dense dimension to sparse or changing a sparse dimension to dense What is Implicit Restructures? Essbase initiates an implicit restructure of the database files after an outline is changed using Outline Editor or Dimension Build. The type of restructure that is performed depends on the type of changes made to the outline What is Explicit Restructures? When you manually initiate a database restructure, you perform an explicit restructure. An explicit restructure forces a full restructure of the database. A full restructure comprises a dense restructure plus removal of empty blocks. What is Dense restructure? If a member of a dense dimension is moved, deleted, or added, Essbase restructures the blocks in the data files and creates new data files. When Essbase restructures the data blocks, it regenerates the index automatically so that index entries point to the new data blocks. Empty blocks are not removed. Essbase marks all restructured blocks as dirty, so after a dense restructure you need to recalculate the database. What is Sparse restructure? If a member of a sparse dimension is moved, deleted, or added, Essbase restructures the index and creates new index files. Restructuring the index is relatively fast; the amount of time required depends on the size of the index. What is Outline-only restructure?

If a change affects only the database outline, Essbase does not restructure the index or data files. Member name changes, creation of aliases, and dynamic calculation formula changes are examples of changes that affect only the database outline. Explain the process of dense restructure? To perform a dense restructure, Essbase does the following: 1. Creates temporary files that are copies of the .ind, .pag, .otl, .esm, and .tct files. Each temporary file substitutes either N or U for the last character of the file extension, so the temporary file names are .inn, essxxxxx.inn, essxxxxx.pan, dbname.otn, dbname.esn, and dbname.tcu. 2. Reads the blocks from the database files copied in step 1, restructures the blocks in memory, and then stores them in the new temporary files. This step takes the most time. 3. Removes the database files copied in step 1, including .ind, .pag, .otl, .esm, and .tct files. 4. Renames the temporary files to the correct file names: .ind, .pag, .otl, .esm, and .tct. Explain the process of sparse restructure? When Essbase does a sparse restructure (restructures just the index), it uses the following files: essxxxxx.ind dbname.otl dbname.esm What is data compression? Essbase allows you to choose whether data blocks that are stored on disk are compressed, as well as which compression scheme to use. When data compression is enabled, Essbase compresses data blocks when it writes them out to disk. Essbase fully expands the compressed data blocks, including empty cells, when the blocks are swapped into the data cache. Generally, data compression optimizes storage use. You can check compression efficiency by checking the compression ratio statistic. What are types of data compression? Essbase provides several options for data compression: 1. Bitmap compression, the default. Essbase stores only non-missing values and uses a bitmapping scheme. A bitmap uses one bit for each cell in the data block, whether the cell value is missing or non-missing. When a data block is not compressed, Essbase uses 8 bytes to store every non-missing cell. In most cases, bitmap compression conserves disk space more efficiently. However, much depends on the configuration of the data. 2. Run-length encoding (RLE). Essbase compresses repetitive, consecutive values --any value that repeats three or more times consecutively, including zeros and #MISSING values. Each data value that is repeated three or more times uses 8 bytes plus a 16 byte repetition factor.

3. zlib compression. Essbase builds a data dictionary based on the actual data being compressed. This method is used in packages like PNG, Zip, and gzip. Generally, the more dense or heterogeneous the data is, the better zlib will compress it in comparison to bitmap or RLE compression. 4. Index Value Pair compression. Essbase applies this compression if the block density is less than 3%.Index Value Pair addresses compression on databases with larger block sizes, where the blocks are highly sparse. zlib does not use this. 5. No compression. Essbase does not compress data blocks when they are written to disk When do you use RLE over Bitmap Compression? Use RLE over Bitmap When, Average block density very low (< 3%). Database has many consecutive repeating Values. When do you disable compression? You may want to disable data compression if blocks have very high density (90% or greater) and have few consecutive, repeating data values. Under these conditions, enabling compression consumes resources unnecessarily. Don't use compression if disc space/memory is not an issue compared to your application. It can become a drain on the processor. What are data locks? Essbase issues write (exclusive) locks for blocks that are created, updated, or deleted, and issues read (shared) locks for blocks that should be accessed but not modified. By issuing the appropriate locks, Essbase ensures that data changed by one operation cannot be corrupted by a concurrent update. What is a transaction? When a database is in read/write mode, Essbase considers every update request to the server (such as a data load, a calculation, or a statement in a calculation script) as a transaction. What is transaction control file? Essbase tracks information about transactions in a transaction control file (dbname.tct). The transaction control file contains an entry for each transaction and tracks the current state of each transaction (Active, Committed, or Aborted). What is isolation level and what are the types of isolation levels?

Isolation levels determine how Essbase commits data to disk. Essbase offers two isolation levels for transactions --committed access and uncommitted access (the default). What is commited access? When data is committed, it is taken from server memory and written to the database on disk. Essbase automatically commits data to disk. There are no explicit commands that users perform to commit data blocks. Talk about committed and uncommitted access? Committed: Committed at the end of a transaction. Data retained till then. All blocks in question locked. Pre-Image Access: If enabled, Read only access allowed Wait Times: Indefinite Immediate Access or no Wait No. of Seconds Specified Uncommitted: Committed only at synchronization points. Block by Block Locks. Commit Row: No of rows of data loaded when Sync point occurs. Commit Block: No. of Blocks Modified when Sync Point occurs. For Rollback, Commit Row=0 and Commit Block=0 What are the advantages and disadvantages of using committed access? You can optimize data integrity by using committed access. Setting the isolation level to committed access may increase memory and time requirements for database restructure. Which transaction is always in committed mode?

The Spreadsheet Add-in lock and Send and the Grid API are always in Committed Access Mode What are the memory caches used by Essbase to coordinate memory usage? Essbase uses five memory caches to coordinate memory usage 1. Index Cache 2. Data File Cache 3. Data Cache 4. Calculator Cache 5. Dynamic Calculator Cache What is Index cache? The index cache is a buffer in memory that holds index pages. How many index pages are in memory at one time depends upon the amount of memory allocated to the cache. What is Data file cache? The data file cache is a buffer in memory that holds compressed data files (.pag files). Essbase allocates memory to the data file cache during data load, calculation, and retrieval operations, as needed. The data file cache is used only when direct I/O is in effect. What is Data cache? The data cache is a buffer in memory that holds uncompressed data blocks. Essbase allocates memory to the data cache during data load, calculation, and retrieval operations, as needed. What is Calculator cache? The calculator cache is a buffer in memory that Essbase uses to create and track data blocks during calculation operations. What is Dynamic calculator cache? The dynamic calculator cache is a buffer in memory that Essbase uses to store all of the blocks needed for a calculation of a Dynamic Calc member in a dense dimension (for example, for a query). What are the memory caches used by Essbase to coordinate memory usage? Essbase uses five memory caches to coordinate memory usage Index Cache: Min -1024 KB (1048576 bytes) Default - Buffered I/O : 1024 KB (1048576 bytes);Direct I/O : 10240 KB (10485760 bytes) Opt -Combined size of all essn.ind files, if possible; as large as possible otherwise.Do not set this cache size higher than the total index size, as no performance improvement results. Data File Cache: Min - Direct I/O: 10240 KB(10485760 bytes) Default -Direct I/O: 32768 KB(33554432 bytes)Opt -Combined size of all essn.pag files, if possible; otherwise as large as possible.This cache setting not used if Essbase is set to use buffered I/O.

Data Cache:Min - 3072 KB (3145728 bytes) Default - 3072 KB (3145728 bytes) Opt 0.125 * the value of data file cache size. Calculator Cache:Min - 4 bytes Max: 200,000,000 bytes Default - 200,000 bytes Opt -The best size for the calculator cache depends on the number and density of the sparse dimensions in your outline. The optimum size of the calculator cache depends on the amount of memory the system has available. What is the structure of currency applications? In a business application requiring currency conversion, the main database is divided into at least two slices. One slice handles input of the local data, and another slice holds a copy of the input data converted to a common currency. Essbase holds the exchange rates required for currency conversion in a separate currency database. The currency database outline, which is automatically generated by Essbase from the main database after you assign the necessary tags, typically maps a given conversion ratio onto a section of the main database. After the currency database is generated, it can be edited just like any other Essbase database.

What are the three dimension that should be present in main database of currency application? The main database outline can contain from 3 to n dimensions. At a minimum, the main database must contain the following dimensions: A dimension tagged as time. A dimension tagged as accounts. A market-related dimension tagged as country.

What are the dimensions that should be present in currency database of currency application? A currency database always consists of the following three dimensions, with an optional fourth dimension: A dimension tagged as time, which is typically the same as the dimension tagged as time in the main database.

A dimension tagged as country, which contains the names of currencies relevant to the markets (or countries) defined in the main database. A dimension tagged as accounts, which enables the application of various rates to members of the dimension tagged as accounts in the main database. A currency database, which typically includes an optional currency type dimension, which enables different scenarios for currency conversion. What are the conversion methods supported by Essbase for currency applications? Different currency applications have different conversion requirements. Essbase supports two conversion methods: Overwriting local values with converted values. Keeping local and converted values. Either of these two methods may require a currency conversion to be applied at report time. Report time conversion enables analysis of various exchange rate scenarios without actually storing data in the database. What is the process to build a currency conversion application and perform conversions? To build a currency conversion application and perform conversions, use the following process: 1. Create or open the main database outline. 2. Prepare the main database outline for currency conversion. 3. Generate the currency database outline. 4. Link the main and currency databases. 5. Convert currency values. 6. Track currency conversions. 7. If necessary, troubleshoot currency conversion. What is CCONV? After you create a currency conversion application, you convert data values from a local currency to a common, converted currency by using the CCONV command in calculation scripts Ex: CCONV USD;CALC ALL; Can we convert the converted currency back into its local currency? You can convert the data values back to the original, local currencies by using the CCONV TOLOCALRATE command. When you convert currencies using the CCONV command, are the resulting data blocks are marked as dirty or clean?When you convert currencies using the CCONV command, the resulting data blocks are marked as dirty for the purposes of Intelligent Calculation. Thus, Essbase recalculates all converted blocks when you recalculate the database.

What is CCTRACK? You can use the CCTRACK setting in the essbase.cfg file to control whether Essbase tracks the currency partitions that have been converted and the exchange rates that have been used for the conversions. By default CCTRACK is turned on. What are the reasons to turn off CCTRACK? For increased efficiency when converting currency data between currency partitions, you may want to turn off CCTRACK. For example, you load data for the current month into the local partition, use the DATACOPY command to copy the entire currency partition that contains the updated data, and then run the conversion on the currency partition. How can you turn off CCTRACK? You can turn off CCTRACK in three ways: Use the SET CCTRACKCALC ONOFF command in a calculation script to turn off CCTRACK temporarily Use the CLEARCCTRACK calculation command to clear the internal exchange rate tables created by CCTRACK. Set CCTRACK to FALSE in the essbase.cfg file. What is LRO (Linked reporting objects)? An LRO is an artifact associated with a specific data cell in an Essbase database. LROs can enhance data analysis capabilities by providing additional information on a cell. An LRO can be any of the following: A paragraph of descriptive text (a "cell note") A separate file that contains text, audio, video, or graphics A URL for a Web site A link to data in another Essbase database How do you create LRO's? Users create linked objects through Essbase Spreadsheet Add-in for Excel by selecting a data cell and choosing a menu item. There is no limit to the number of objects you can link to a cell. The objects are stored on the Essbase Server where they are available to any user with the appropriate access permissions. Users retrieve and edit the objects through the Essbase Spreadsheet Add-in for Excel Linked Objects Browser feature, enabling them to view objects linked to the selected cell. Does adding or removing links to a cell does not affect the cell contents? No.LROs are linked to data cells --not to the data contained in the cells. The link is based on a specific member combination in the database.

Give a few examples of LRO's? Ex1: A sales manager may attach cell notes to recently updated budget items. Ex2: A finance manager might link a spreadsheet containing supporting data for this quarter's results. Ex3: A product manager might link bitmap images of new products. Ex4: A sales manager may link the URL of a company's Web site to quickly access the info on the Web How does Essbase locate and retrieve linked objects? Essbase uses the database index to locate and retrieve linked objects. If you clear all data values from a database, the index is deleted and so are the links to linked objects. If you restructure a database, the index is preserved and so are the links to linked objects. Do shared members share LRO's? Shared members share data values but do not share LROs. This is because LROs are linked to specific member combinations and shared members do not have identical member combinations. To link a given object to shared members, link it to each shared member individually. Can you change the member combination associated with any linked object? You cannot change the member combination associated with any linked object. To move an object to another member combination, first delete it, then use Essbase Spreadsheet Addin for Excel to re-link the object to the desired member combination. Why do we need to limit the LRO file sizes for storage conversion? Because Essbase stores linked files in a repository on the server and, by default, the size is unlimited. Limiting the file size prevents users from taking up too much of the server resources by storing extremely large objects. You can set the maximum linked file size for each application. If a user attempts to link a file that is larger than the limit, an error message displays. The maximum file size setting applies only to linked files and does not affect cell notes or URLs. The lengths of the cell note, URL string, and LRO descriptions are fixed.

What is partitioning? A partition is the piece of a database that is shared with another database. An Essbase partitioned application can span multiple servers, processors, or computers. What is Essbase Partitioning?

Essbase Partitioning is a collection of features that makes it easy to design and administer databases that span Essbase applications or servers. Partitioning is licensed separately from Essbase. What are the types of Partitions available in Essbase? Three types of partitions are there. 1. Transparent partition: A form of shared partition that provides the ability to access and manipulate remote data transparently as though it is part of your local database. The remote data is retrieved from the data source each time you request it. Any updates made to the data are written back to the data source and become immediately accessible to both local data target users and transparent data source users 2. Replicated Partition: A portion of a database, defined through Partition Manager, used to propagate an update to data mastered at one site to a copy of data stored at another site. Users can access the data as though it were part of their local database. 3. Linked Partition: A shared partition that enables you to use a data cell to link two databases. When a user clicks a linked cell in a worksheet, Essbase opens a new sheet displaying the dimensions in the linked database. The user can then drill down those dimensions. What is the process for designing a partitioned database? Here is the suggested process for designing a partitioned database. 1. Learn about partitions. 2. Determine whether the database can benefit from partitioning. 3. Identify the data to partition. 4. Decide on the type of partition. 5. Understand the security issues related to partitions. What are the parts of partition? Partitions contain the following parts,

Type of partition: A flag indicating whether the partition is replicated, transparent, or linke Data source information: The server, application, and database name of the data source. Data target information: The server, application, and database name of the data target. Login and password: The login and password information for the data source and the data target. Shared areas: A definition of one or more areas, or sub cubes, shared between the data source and the data target. Member mapping information: A description of how the members in the data source map to members in the data target. State of the partition: Information about whether the partition is up-to-date and when the partition was last updated. What are benefits of partitioning? Partitioning applications can provide the following benefits: Improved scalability, reliability, availability, and performance of databases Reduced database sizes More efficient use of resources Data synchronization across multiple databases. Outline synchronization across multiple databases. Ability for user navigation between databases with differing dimensionality. Can you define different types of partitions between the same two databases? No

Can a single database serve as the data source or data target for multiple partitions? Yes

What is overlapping partition? An overlapping partition occurs when similar data from two or more databases serve as the data source for a single data target in a partition. Is overlapping partition valid in all the partitions? An overlapping partition is allowed in linked partitions, but is invalid in replicated and transparent partitions and generates an error message during validation. When do you use substitution variables in partitions? Using substitution variables in partition definitions enables you to base the partition definition on different members at different times. Can we use attribute values to partition a database? Yes,You can use attribute functions for partitioning on attribute values. But you cannot partition an attribute dimension. Can we partition an attribute dimension? No, we cannot partition an attribute dimension. What is the limitation on version and mode during partition? Both ends of a transparent, replicated, or linked partition must be on the same release level of Essbase Server. For example, if the source of a linked partition is on a Release 7.1.2 server, the target must also be on a Release 7.1.2 server. In addition, for transparent and replicated (but not linked) partitions, the application mode of both ends of the partitions must be the same--either Unicode mode or nonUnicode mode. What are the major difference between ASO & BSO? If we have more dimensions (generally more than 10) then we will go for ASO that simply rollup If we have less dimensions then we will go for BSO We cannot write back in ASO we can write back in BSO Most of the dimensions are sparse in ASO Most of the dimensions are dense in BSO What is "Enterprise Analytics"? ASO in System 9 is called Enterprise Analytics.

Explain in detail about the features of ASO? ASO databases are created specifically to deal with the requirements of very large sparse data sets with a high no of dimensions and potentially millions of members. ASO do not have indexes or data blocks. ASO do not use calculation scripts. Bcoz calculations are not complex. ASO uses a new kind of storage mechanism that allows improved calculation times from 10 to100 times faster than BSO. ASO can store up to 252 dimensional combinations. The front end tools usually do not care if the database is ASO or BSO. Even Maxl sees minor differences. We can have attribute dimensions in ASO. In ASO there is no concept as dense and sparse dimensions. We do not have two pass logic and built in time balance functionality.( time balance functionality is present from 9.3 version onwards). Member formulas are not supported in stored hierarchies. Only non consolidation (~) and addition (+) operators are supported in shared hierarchies. We cannot create more than 1 database in ASO. ASO does not utilize procedural calculation scripts. ASO formulas are written in MDX syntax. ASO has Accounts dimension but it is completely different from the account dimension of BSO. ASO is read-only. You cannot write to ASO databases, but there is a workaround using transparent partitions and pointing to an attached BSO database for those duties. You can load data to level zero members only. The database must restructure after any members in the standard dimensions are added ,deleted or moved. In fact most actions on an ASO outline will either cause a loss of data or restructure. How do you differentiate ASO applications? You can easily differentiate the ASO database in the Administrative Services Console by the red star beside the application name. How do you create an ASO application? ASO has two types of hierarchies: stored and dynamic. The dimension can contain both types of hierarchies (if you enable multiple hierarchies).Other properties that need to be set for dimensions and members include Dimension Type Data Storage(store, never share, label only) Member solve order Alias You can add dimensions using the visual editor or the rules files. Unlike in block storage ASO does not allow you to preview the outline changes. If you are unsure of the build file, make a backup of your outline before running the new build rule. For ASO databases after the data values are loaded into the level 0 cells of an outline, the database requires no separate calculation step. For retrieving from the ASO database, retrieve and analyze just as in BSO database. How do you create an ASO database using ASO Outline Conversion Wizard ? You can also create an ASO database using ASO Outline Conversion Wizard. This wizard uses the existing BSO database to convert to an ASO database. This is advantageous because we do not need to create an ASO database from the Scratch. However we need perform reengineering of dimensions and hierarchies.

How do you create ASO in the Automated Way? The final way of creating an ASO application is by using "Create Application" , "Create Database" ,"Create Outline " commands using MaxL. Typically this method is used when you are running the MaxL command as a part of the batch job. **Unicode is supported for BSO databases only. **Data Mining is not supported by ASO databases. **MDX is the only mechanism for defining member calculations in databases. Unicode applications use UTF-8 encoding form to interpret and store character text, providing support for multiple character sets. To set up a Unicode application 1. Setup a computer for Unicode support by doing one of Install the for that supports UTF-8 encoding Install a Unicode editor 2. Set the Essbase server to Unicode Mode via Administrative Services or MaxL. 3. Check the Unicode box when creating a new Unicode -mode application. 4. You can also migrate from non-Unicode applications to Unicode applications (but not the other way round). Report Scripts are outdated but still can be helpful when extracting subsets of data from Essbase for online backups or feeding into other systems. The Wizards Tab of Administrative Services Console menu has the following components 1. Migration 2. Aggregate Storage Outline Conversion 3. Aggregate Storage Partition 4. User Setup 5. Data Mining Wizard

Posted by Dornakal's-Hyperion-Blog at 4:46 PM 2 comments

Links to this post

Reactions:
Thursday, January 14, 2010

Smart View retrieve Error


One of my Business user recieved an error when she was running Smart view query, which had lot of attributes in her retrive sheet. The error she received is as follows: "The request timed out. Contact your administrator to increase netRetrycount and netRetryInterval" Eventhough I increased NetDelay and NetRetrycount in essbase.cfg, but that does not resolve this problem. She was using IE7 on XP SP3. Here is the reason and resolution for the issue: By design, Internet Explorer imposes a time-out limit for the server to return data. The time-out limit is five minutes for versions 4.0 and 4.01 and is 60 minutes for versions 5.x and 6. Also, the time-out limit is 30 seconds for Windows Internet Explorer 7. As a result, Internet Explorer does not wait endlessly for the server to come back with data when the server has a problem. Apparently the query which the user was running takes around 45 seconds. The IE7 time out setting was causing it to error out. we need to change (add) three new registry keys to resolve the issue. 1. Open the Registry (Start -> Run -> Regedit) Locate the following section: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]\ 2. Create the following new keys for dword with decimal values: "ReceiveTimeout"=dword:00dbba00 "KeepAliveTimeout"=dword:00180000 "ServerInfoTimeout"=dword:00180000 3. Restart the machine for the new settings to take effect If the above settings does not make any difference and the version of SmartView is 9.3.1.2, it may need to upgrade SmartView 9.3.1.4 or higher version. Here are the Screen shots for changing the registry settings.

Right click and select DWORD (32-bit) value

Rename to KeepAliveTimeout

Right click and select Modify

Select Decimal and enter the following data 00180000

repeat the same process for other 2 keys

Validate whether you have right keys or not.

Posted by Dornakal's-Hyperion-Blog at 4:11 PM 1 comments Labels: Smart View retrieval error.

Links to this post

Reactions:
Friday, October 2, 2009

Correct Order of restarting planning services


If you are planning admin and had to restart planning services. here is the order you have to follow to restart. Stop Order Planning Service RMI registry AAS Start Order AAS RMI registry Planning Service Screen shots of services shown below:

Posted by Dornakal's-Hyperion-Blog at 10:19 AM 1 comments Labels: Order of restarting planning services

Links to this post

Reactions:
Thursday, September 10, 2009

Hyperion Essbase Overview

please find some Q&A, which provide you with essbase overview. What is Essbase OLAP server? An OLAP server is a multidimensional database for storing data with an unlimited number of dimensions such as time, region, accounts, channel or products. Essbase server manages analytical data models, data storage, calculations, and data security. What are the Essbase Application tools? Applications tools are used for extending Essbase applications Spreadsheet Add-in Smart view for Microsoft applications Currency Conversion Essbase SQL interface Essbase Application Programming Interface (API) What is Partitioning? Copying a slice of a large database to work with it locally, or link from your database directly to other databases. What is a Hybrid Analysis? Hybrid analysis integrates relational databases with Essbase databases to combine the size and scalability of the relational database with conceptual power and analytical capabilities of the multidimensional Database. What are administrative requests and client requests? Administrative requests such as Logging in and logging out Starting and stopping applications and databases, Viewing users security information are handled by the Essbase server agent Client requests such as Data loads Spread sheet reports Data lock and unlock are handled by the application server (ESSVR)

What is the use of multidimensional database such as Essbase? Multidimensional database supports multiple views of data sets for users who need to analyze the relationships between data categories. For example marketing analyst needs detailed information in different view than the manager. Multidimensional DB consolidates and calculates data to provide different views. Only Database outline, the structure that defines all elements of the DB, limits the number of views With the multidimensional DB users can pivot the data to see information from different view point, drill down to find more detailed information or drill up to see an over view. Relational database have more data and have all transactions information. Whereas the Essbase has limitations on data which it can hold. In Essbase the filters (security) can be given until the data cell value. Whereas in RDBMS the security can be given only until table view. In RDBMS we can see only one view. What are Standard dimensions? Standard dimensions are those which represent the core components of the business plan an often relate to the departmental functions Examples of standard dimensions are as follows Time Accounts Products Market Dimension Dimensions are static in most databases. DB dimensions rarely change over the life of an application. What is an Outline? Outline is the structure that defines all elements of the Database. It dictates how data is to be stored into the database. Outline defines the structural relationship between the members in DB. Organizes all data in the DB Defines consolidations and mathematical relationships between members It defines type of dimensions. Aliases, member formulas etc. The order of the outline is that how dimensions are arranged is as follows: Dense dimensions followed by sparse dimensions followed by Attribute dimensions. How do you order the Outline? All the attribute dimensions should be placed at the end of the outline. Dense dimensions should be placed in the first then followed by the sparse dimensions The order determines How quickly calculations are run How long it takes users to retrieve information The order of the outline for query performance

Dense Most queried Sparse Least queried Sparse Most queried Attribute Least queried Attribute

The order of Outline for Calculation time Dense Smallest Sparse dimension Largest Sparse Smallest Attribute Largest Attribute What is the highest level of consolidation in the outline? Dimension Is there any limitation on number of members? No. Essbase does not limit the number of members within a dimension and allows you to add new members as needed. Parent is a member, which has a branch below it. Child is a member, which has a parent above it. Siblings are the child members of same immediate parent, at the same generation. Descendants are all members in branches below a parent. Ancestors are all members in above a member. Root is a top member in a branch. Leaf member has no children. Generation number refers to the consolidation levels within a dimension. Level also refers to a branch within a dimension. What is a cell/data value? A data value is defined by the intersection of all standard dimensions in the database. What is the maximum number of values in the database? Product of members in each dimension Why do we need to have classification as dense and sparse dimensions? As the data is no smoothly and uniformly distributed and data does not exist for the majority of members. Essbase speeds up data retrieval while minimizing the memory and disk requirements. A sparse dimension is a dimension with a low percentage of available data positions filled. A dense dimension is a dimension with a high probability that one or more data points are occupied in every combination of dimensions.

What are the two types of internal structures in Essbase? Data blocks Index system The two types of internal structures are to store data and access data. What is a Data block? Data block is a cube created for each unique combination of sparse standard dimension members (provided that atleast one data value exists for sparse member combination). The Data block represents all the dense dimension members for its combination of sparse standard dimensions. Its size depends on number of dense dimensions. How does Essbase calculate the data? Top down order What is an Index entry? The index entry provides a pointer to the data block Essbase creates Index entry for each data block. The index entry represents the combinations of sparse standard dimensions. It contains an entry for each unique combination of sparse standard dimension members for which atleast one data value exists. What happens if you make all dimensions sparse? Data blocks are created for each unique combination of sparse standard dimension members. Thus a large number of dense blocks are created, and thus a huge index containing pointers (or addresses) for all those data blocks. Huge index consumes large amount of memory. The more index entries the longer Essbase searches to find a specific block. What happens if you make all dimensions dense? Only one huge sparse block is created with only one index entry. This block is very sparse. This configuration requires thousands of times more storage than other configurations. Essbase need to load the entire data block into memory when it searches for a data value, which requires enormous amounts of memory. What is the Design Process? Analyze business needs and plan the database Define the database outline Check the system requirements Load the test data into the database Define calculations

Define reports Verify with the users Repeat the process What are the different types of data sources? Flat files (column formatted) Spreadsheet files Any RDBMS files What is a shared member? The shared member concept lets two members with the same name share data. The shared member stores only pointer to the data contained in the other member, so the Essbase only stores the data once. Shared members should be in the same dimension. What dimension can be given time balance properties? Only accounts dimensions can be given time balance, expense reporting, and country and currency properties. What is the use of variance reporting? Variance reporting properties defines how Essbase calculates the difference between actual and budget data in members with @VAR, @VARPER functions in their member formula. Expense reporting (Budget-Actual) Non-Expense reporting (Actual-Budget) What is a Function? It is a predefined routine to carry on specific task or calculation. What is a formula? Formulas are used to calculate relationships between members in the DB Outline. What is a dynamic Calc? When you tag a member as dynamic calc, Essbase calculates the combinations of the member only when user retrieves data, instead of pre calculating member combinations during the regular DB. Dynamic calc shorten the regular calc time, but may increase the retrieval time for dynamically calculated data values. What are the advantages of Dynamic calc? Low disk space Reduced database restructure time Reduced back up time Optimum regular calculation time What are the members for which Two-pass calculations can be given? Accounts

Dynamic calc Dynamic calc and store How does a user can view data? Spread sheet Printed reports Reports published on web web analysis smart view Can you load data or calculate data on client machine? No. Applications and Databases created on client machine are used only to store database objects, such as outlines and calc scripts. You cannot load or calculate data on a client machine. What are Database Objects? Files that are related to databases are called Objects. Common types of objects are: Database Outlines (.OTL) Report Scripts (.REP) Calculation Scripts (.CSC) Data Load rules and Dimension build rules (.RUL) Data sources Security definitions LROs (Linked Reporting Objects) Partition definitions What is a rule file? Data load rules are set of operations that Essbase performs on the data from external data source file as it is loaded, or copied into the Essbase database. Specifying the data load rules is the most common way to load data into the Database. Dimension build rule files create or modify an outline dynamically based on the data in the external source file. What is a calculation script? Calc script is a text file with set of instructions telling Essbase how to calculate data in the database. It has . csc extension. What is a Report script? Report script is a text file with a set of instructions on data retrieval, formatting and output to create a report from the database. Report script has .REP extension. What is a Linked Reporting Object (LRO)? A LRO is an object associated with a specific data cell in the Essbase database. A LRO

can any of the following: A paragraph of descriptive text ( cell note). A separate file that contain text, audio, video or graphics. An URL (Uniform Resource Locator). A link to data in another Essbase database. What are .EQD files? Within spreads sheet add-in, users can create queries using query designer (EQD). Users can save the reports in the form of queries (.EQD files) What are .sel files? With the spreadsheet add-in, users can define member retrievals with the member select feature. If users want to save member select specification, they can do so with a .sel file. How can you create a database? Application manager file>new>database Essbase administrative services console ESSCMD (CREATE DB) Maxl (create database) Application and database names should be less than 8 characters. create application------maxl CREATEAPP------------ESSCMD What is annotating database? It is a database note that can provide useful information in the situations where you need to broadcast messages to users about status of the database deadlines for updates and so on Select database>set note What are substitution variables? Substitution variables act as global placeholders for the information that changes regularly. Each variable has a value assigned to it. The value can be changed at any time by the DB designer, thus manual changes are reduced. Ex :- currmnth. You cannot use the substitution variables in formulae that are applied to the DB outline. The value of the substitution variable cannot be more than 256 characters. Substitution variables can be used only in Calculation scripts Report scripts

Spread sheet add-in SQL interface Server>substitution variable Maxl (for creating/deleting/updating) Alter system Alter application Alter db ESSCMD CREATE VARIABLE DELETE VARIABLE UPDATE VARIABLE What is a location alias? A location alias maps an alias name for a DB to the location of that DB. You can use location aliases only with the @XREF function. With @XREF function you can retrieve data value from another database to include in calculation in the current database. In this case, the location alias points to the database from which the value to be retrieved. Database>location aliases Create Maxl ----------------------create location alias ESSCMD----------------CREATE LOCATION Edit /Delete Maxl display location alias drop location alias ESSCMD LIST LOCATIONS DELETE LOCATION What happens if you open outlines in two instances? If you open same outline with two instances of application manager using same login id, each save will overwrite the changes of the other instance. Copying database Database > copy Maxl create database as ESSCMD COPYDB What are important points while building an outline? All members and alias names should be unique; Only one dimension should be tagged as accounts, time, currency type and country; Level 0 members cannot be label only; Level 0 members cannot be assigned formulae but dynamic calc members of

standard dimensions may have formula; Dynamic calc should not have more than 100 children; Boolean attribute dimensions have only two members. What are the restructuring options in saving database? All data Level 0 data (when all data in the outline is at level 0) Input data (when you load data into non level 0 members) Discard all data (when you expect to reload data or when outline is radically changed that no existing data applies) How do you set dense and sparse settings? Settings>data storage Data dictionary button You must set the standard dimensions with which you plan to associate attribute dimension as sparse because attributes can only be associated to sparse standard dimensions. Application manager automatically sets attribute dimensions as sparse. How do you rename members? Data dictionary button Edit>properties Manually When does a DB restructure? When you add, delete, or move non-attribute (standard) dimensions or members, Essbase restructure DB and you must recalculate your data. What is Metadata? Metadata is data is data about data. Metadata is the data contained in the database outline that describes the values within a DB. Ex: East>New York>cola>sales>10000 East>New York>cola>sales> is metadata What are different types of dimension tags? Time Accounts Country Currency Attribute Can you add time members that are not tagged as time? Yes

When do you give an accounts tag to a dimension? You can tag a dimension as accounts if it contains items that you want to measure such as profit or inventory. Time dimension tag says how often you collect and update data. The time dimension enables several accounts dimension functions such as first and last time balances. What is the significance of time balance properties? When you set a time balance property on a member in an accounts dimension, it affects how Essbase calculates the parent of that member in the time dimension. TB FIRST (The parent value is the value of the first member in the branch) TB LAST (The parent value is the value of the last member in the branch) TB AVG (The parent value represents the average value of the children) TB NONE (default; rolls up parents in the time dimension in the usual way) Skip Properties None Missing Zeros Missing and zeros Skip properties, expense reporting, Time Balance properties are applicable only to the accounts dimension. What is a Two-Pass calculation? By default Essbase calculates outlines from the bottom up first calculating the values for children and then values for parent. Sometimes however the values of children depend may be based on the values of parent or the values of other members in the outline. To obtain correct values for these members, Essbase must first calculate the outline and then recalculate the members that are dependent on the calculated values of the other members. The members that are calculated on the second pass through the outline are called Two-Pass Calculation. Only accounts, dynamic calc, dynamic calc and store members can be given two pass calculation. Edit>properties Data dictionary button What does the consolidation properties do? Member consolidation determines how children roll up into their parents. Default (+) operator. Essbase dont use consolidation properties for attribute dimensions. Essbase automatically tags members of the attribute dimensions as dynamic calc. you

cannot change this setting. When do you use label only? When no data is associated with members we use label only. They are used only to ease navigation and reporting from the spread sheet add-in. You cannot associate attributes to label only. If you tag label only to the base member, which has, attributes associated with it, Essbase removes attributes and displays a warning message
Posted by Dornakal's-Hyperion-Blog at 4:07 PM 1 comments Links to this post Labels: Essbase Overview, Hyperion Essbase BSO, Hyperion Essbase Interview questions, Important Points in Hyperion Essbase

Reactions:
Monday, September 7, 2009

Fragmentation in Essbase (BSO)

What is Fragmentation?

Fragmentation is unused disk space.

When does Fragmentation occur?

Fragmentation is likely to occur with the following:


Read/write databases that users are constantly updating with data Databases that execute calculations around the clock Databases that frequently update and recalculate dense members Data loads that are poorly designed Databases that contain a significant number of Dynamic Calc and Store members Databases that use an isolation level of uncommitted access with commit block set to zero

How can you measure fragmentation?

You can measure fragmentation using the average clustering ratio or average fragmentation Quotient. Using the average fragmentation quotient

Any quotient above the high end of the range indicates that reducing fragmentation may help performance, with the following qualifications:
The reported value of the Fragmentation Quotient is more accurate when there are no other write transactions running on the database. For databases less than 50 MB using the Direct I/O access mode, the fragmentation quotient tends to be high. A high fragmentation quotient does not necessarily indicate a need to reduce fragmentation, because the free space is created in 8 MB chunks and all of it might not get used right away.

Database Size

Small (up to 200 MB) Medium (up to 2 40% or higher GB) Large (greater than 30% or higher 2 GB) Using the average clustering ratio:

Fragmentation Quotient Threshold 60% or higher

The average clustering ratio database statistic indicates the fragmentation level of the data (.pag) files. The maximum value, 1, indicates no fragmentation.

How do you can prevent and remove fragmentation?

You can prevent and remove fragmentation:


To prevent fragmentation, optimize data loads by sorting load records based upon sparse dimension members. For a comprehensive discussion of optimizing data load by grouping sparse members. To remove fragmentation, perform an export of the database, delete all data in the database with CLEARDATA, and reload the export file. To remove fragmentation, force a dense restructure of the database.

How can I track changes in the outline?


You can use the OUTLINECHANGELOG setting in the ESSBASE.CFG file to capture outline changes. This setting logs all outline changes into the database_name.OLG file. The OUTLINECHANGELOG setting allows database administrators to review the outline revision history and gather enough information to roll back changes if needed. Example: OUTLINECHANGELOG TRUE FALSE TRUE Essbase logs outline changes into the file database_name.OLG. FALSE Essbase does not log outline changes. The default is FALSE.
Posted by Dornakal's-Hyperion-Blog at 9:47 AM 0 comments Labels: Essbase Links to this post

Reactions:
Wednesday, May 6, 2009

How to Delete Dimension from Hyperion Planning Application

If you create a custom dimension in planning and wish to delete it, here is how you might remove it from SQL manually. We recommend that only someone familiar with

relational databases attempt this. Outlined below are the steps to remove a dimension from the Oracle relational store. The directions are for SQL, but the table names should be the same in Oracle. This procedure should only be performed by your SQL or Oracle DBA. BE SURE YOU HAVE A BACKUP OF YOUR APPLICATION BEFORE ATTEMPTING THIS PROCEDURE. You will need to delete all the children first, then the dimension. If you have the dimension in forms, you may also need to (after step 5) go into the hsp_formobj_def_mbr table and delete all references of that object ID. Then delete the dim id in the hsp_form_layout table. Recycle services of Planning.

The following assumptions are being made about the dimension: * * * * * No forms have any references to the dimension. Any and all attribute dimensions have been removed from the dimension. Any and all members have been removed from the dimension. All security access has been removed from dimension. Any Alias associated with the dimension has been removed.

In this example we have created a dimension called Dummy Dimension. 1. Open the Enterprise Manager for SQL server 2. Open the database that has your planning application 3. Open the table HSP_OBJECT 4. You need to find the row that has the dimension name you want to delete: 5. Take note of the OBJECT_ID in my example it is 50051, don't delete it yet. 6. Open the table HSP_MEMBER 7. Find and delete any rows that have a MEMBER_ID equal to the OBJECT_ID from step 5. 8. Close the Table HSP_MEMBER 9. Open the table HSP_MRU_MEMBERS. 10. Find and delete any rows that have a DIM_ID equal to the OBJECT_ID from step 5. 11. Close the table HSP_MRU_MEMBERS. 12. Open the table HSP_DIMENSION 13. Find and delete any rows that have a DIM_ID equal to the OBJECT_ID from step 5. 14. Close the table HSP_DIMENSION 15. Also delete it's reference from the HSP_UNIQUE_NAMES table.

16. Delete the row in the HSP_OBJECT table that you found in step 4. 17. Close the HSP_OBJECT table. 18. Open Essbase Application Manager for the application and remove the dimension from the necessary Essbase outlines. 19. Restart the application server. Now when you open the application in Planning the dimension will be removed. The next step is to perform a refresh to make sure planning and Essbase are in sync.
Posted by Dornakal's-Hyperion-Blog at 5:23 PM 0 comments Labels: Delete Dimension in Hyperion Planning Links to this post

Reactions:
Thursday, April 30, 2009

Hyperion Planning Installation Steps

This document demonstrates step by step procedure to install Hyperion Planning Software. This includes the installation and configuration of Hyperion components and other relative software. First step is to download hyperion planning and related software from the following website http://edelivery.oracle.com/ After entering the details you will be directed to the page below. Select Hyperion performance management and BI.

Download the following products: 1. Hyperion Shared Services Release 9.3.1 Microsoft Windows x86 Installer English (V11229-01) 2. Hyperion Smart View for Office Release 9.3.1.2 Microsoft Windows x86 Installer ( V12736-01) 3. Hyperion Essbase - System 9 Release 9.3.1.3 Server Windows Installer (V14762-01) 4. Hyperion Essbase Administration Services - System 9 Release 9.3.1.3 Windows Installer-- (V14792-01) 5. Hyperion Planning - System 9 Release 9.3.1.1 All Platforms Installer English-V11378-01

After downloading the software. Extract the setup files from downloads and start installation.

Make sure that you don't check Launch configuration utility in the last step in the first run.

As seen above. complete installation of all 5 products below with out launching configuration utility. Hyperion Hyperion Hyperion Hyperion Hyperion Shared Services Essbase Essbase Hyperion Essbase Administration Services Planning - System 9 Release 9.3.1.1 Smart View

The next step is to create relational databases or repositories for Shared Services EAS Planning System tables Planning Database I used sql server 2005 to create above repositories. After creating sql server repositeries, go to the server where you installed shared services and open Hyperion configuration utility from the start menu. we have to configure shared services first and then EAS and then planning.

The next step is to configure EAS. Open the foundation services on the server where you installed EAS and follow the procedure below:

Posted by Dornakal's-Hyperion-Blog at 11:28 AM 18 comments Labels: Hyperion Planning Installation and Configuration

Links to this post

Reactions:
Wednesday, April 1, 2009

Error Codes
www.EssbaseInfo.com

Hi All, you can find comprehensive list of error codes for essbase in the following website

"Thanks to EssbaseInfo.com for putting this Essbase Error list together"


Posted by Dornakal's-Hyperion-Blog at 9:13 AM 1 comments Links to this post

Reactions:
Monday, March 30, 2009

Common Mistakes to avoid in Hyperion Resume

Hi All, Good evening. We were recruiting for hyperion developer last year and got many resumes as response for our advertisement. Here are some things, which I observed while reviewing those resumes. 1. A candidate has overlapping experience. He claimed that he worked for a client in Jacksonville, FL and also at other client in San Jose, CA at the same period of time. We asked how he managed to work at both places (hectic schedule), he had no clue. If you were working on multiple projects should answer questions related to that or take care when listing project periods.

2.Putting lot of experience in unrelated technology. Common why do your prospective employer want to know what you did in cold fusion coding, when he advertised for hyperion developer. 3.Stating same responsibilities on different projects. It is possible to have same type of responsibilities in different projects. If so club both projects and state responsibilities once. The content of resume is more important than the number of pages. The common myth is that employer will look into resumes,

only if it has more than 5 pages. That is untrue. The candidate, which we hired have a clean and small resume focusing on main points. 4.Unable to answer what the candidate stated in resume. Once a candidate stated that he is expert in SQR reporting. SQR was not we were looking for and didnt ask for that in our advertisement. We saw that he is an expert in SQR in resume and asked him a question related to that. He was not able to answer fundamentals in SQR, which undermined the credibility of the candidate. Dont put something which you heard of. Employer will read your resume entirely and ask questions based on your resume. Very few people have set of questions prepared to ask for an interview. One should have complete grip on resume. Should have answers for every word you put in resume. Should not put any unrelated experience. Like project on IBM mainframes doesnt help you for the position in Hyperion. Hope you will take care of above points when building your resume.
Posted by Dornakal's-Hyperion-Blog at 5:36 PM 1 comments Labels: Resume Building Links to this post

Reactions:
Friday, March 27, 2009

Data transfer between two hyperion Essbase Cubes


Data Transfer from one cube to another. There are different ways to transfer data from one cube to other. 1. Hyperion Application Link (HAL) 2.Export data using report script and importing data into new cube 3.Jexport 4.XREF Today we will learn about XREF calc script, which is used by most who want to transfer data between cubes. please find sample xref calc script below: In this example I am trasfering payroll,social, bonus and headcount data from my main P&L (profit and loss) application to work force application. The first step of XREF is to create a location alias of the source application. In this example my location alias is _LocAliasPL. You can create location alias using EAS in the following way: open the application right click database Click Edit navigate to location alias. Click to create location alias and give the details of the source cube. /*XREF Calc Script Code*/ /*Information */

/* Script Name : XREF Created by : Dornakal, Hyperion Consultant, March 27, 2009 Purpose : Copy HR data from main application to work force application Directions : Check location alias Versions : Essbase 9.3.1 Assumptions : The Accounts, Time dimensions are Dense and the rest of dimensions are Sparse */ /*House Keeping*/ /*Set the calculator cache. */ SET CACHE HIGH ; /* Display calculation statistics in application log. */ SET MSG Summary; /* Display calculation completion messages in application log at 20% intervals. */ SET NOTICE LOW; /*Turn off Intelligent Calculation */ SET UPDATECALC OFF; /* Enables parallel calculation. */ SET CALCPARALLEL 4; /* Baseline Fix */ FIX(HSP_INPUTVALUE, Local, USD, FINAL,Actual, FY08, &ActualMnth,&NxtYr,@RELATIVE(Cost_Center,0),"EMPLOYEES") SET CREATENONMISSINGBLK ON; "PayRoll" = @XREF(_LocAliasPL, "PRODUCT"); "Social" = @XREF(_LocAliasPL, "PRODUCT"); "Bonus" = @XREF(_LocAliasPL, "PRODUCT"); "Headcount" = @XREF(_LocAliasPL, "PRODUCT"); SET CREATENONMISSINGBLK OFF; ENDFIX; /*END MAIN SCRIPT*/
Posted by Dornakal's-Hyperion-Blog at 3:10 PM 5 comments Labels: Data Transfer Links to this post

Reactions:
Monday, March 16, 2009

Sample Calculation Script

/*Information */ /* Script Name : CopyAct2Fcst Created by : Dornakal, Hyperion Consultant, March 16, 2009

Purpose : Copy Actuals to Current Forecast Directions : Set substitution variables CurFcst, Actmnth,CY Versions : Essbase 9.3.1 Assumptions : The Accounts, Time dimensions are Dense and the rest of dimensions are Sparse Comments : This script copies actual data from actual scenario to forecast scenario; This rule should be run before every forecast. */

/*House Keeping*/ /*Set the calculator cache. */ SET CACHE HIGH ; /* Display calculation statistics in application log. */ SET MSG Summary; /* Display calculation completion messages in application log at 20% intervals. */ SET NOTICE LOW; /*Turn off Intelligent Calculation */ SET UPDATECALC OFF; /* Enables parallel calculation. */ SET CALCPARALLEL 4; /* Baseline Fix on CurYear, Local Currency, and Level 0 cost center */ FIX(@LEVMBRS("Cost Center",0),Local)

/* Main Rollup */ /* Copies data for all existing employees of all Expense Accounts from Actual scenario , final version to Current Forecast and Working version */ FIX ("Existing_Employees", @IDESCENDANTS("Expense Accounts"), Jan:&Actmnth) DATACOPY Actual->Final TO &CurFcst->Working; ENDFIX

/* End of baseline Fix*/ ENDFIX;


Posted by Dornakal's-Hyperion-Blog at 3:18 PM 2 comments Labels: Sample Calc Script Links to this post

Reactions:
Friday, March 13, 2009

What is Intelligent Calculation? Why should we care?


Developing calc scripts Series What is intelligent calc? Why should I care? A primary goal in calculation script development is optimization (elimination of extra passes through database index). To optimize calculation, you can use FIX and IF statements to focus calculations, or you can use an option called intelligent calculation. When you perform a full database calculation, Essbase marks which blocks have been calculated. If you then load a subset of data, you can calculate only the changed data blocks and their ancestors. This selective calculation process is intelligent calculation. By default, intelligent calculation is turned on. You can change the default setting in the essbase.cfg file or on a script-by-script basis wit the SETUPDATECALC OFF command. Intelligent calculation is based on data-block marking, when intelligent calculation is active, during the normal processes, within the index file, blocks are marked clean or dirty. Clean BlocksBlocks that dont require calculation Dirty Blocks --- Blocks that require calculation. When intelligent calculation is active, during calculation, Essbase looks for only dirty blocks. Exceptions: Even when the intelligent calculation is enabled, for CALC DIM statements that do not include all dimensions, Essbase does not use intelligent calculation process. Rather, Essbase calculates all relevant data blocks, regardless of clean or dirty status, and all data blocks retain their status, dirty or clean. SET CLEARUPDATESTATUS AFTER is a calculation command that engages intelligent

calc for any calc script, regardless of construction. Typically, you use this command where you cannot meet the conditions for a calc dim on all dimensions. Example: SET CLEARUPDATESTATUS AFTER FIX(@IDESCENDANTS(Q1)) CALC DIM (Accounts); ENDFIX When you execute a calculation script that includes the SET UPDATESTATUS AFTER command, data blocks that are marked clean are not calculated and data blocks that are marked dirty are calculated and marked clean. How do you force block marking without calculating? SET CLEARUPDATESTATUS ONLY command instructs Essbase to mark as clean all data blocks that were previously marked dirty. How do blocks become dirty? In the following cases the data blocks are marked as dirty. Block creation during data input Data modification (Lock and send) Creation or modification of descendant blocks Database Restructure (both dense and sparse) What are False negative and False positive? Occasionally, clean data blocks are marked dirty (False negative). In such cases calculation efficiency suffers. A more serious problem, however, is a false positive condition, in which dirty blocks are marked as clean. In such case of false positives, data integrity can suffer. When does False Positives arise? Calculation only a subset of a data block: Essbase marks at block level not at the cell level, so a calculation that I executed on a subset of cells can cause a false positive condition. Only a few cells are calculated but the block is marked clean, although uncalculated cells remain. Using a FIX statement: Ancestors of a dirty block are not marked as dirty until the descendant dirty block is calculated. A false positive can result if the descendant dirty block is calculated within a FIX statement that does not include the dirty ancestor block. After calculation, essbase marks the descendant block clean, and the ancestor block remains marked clean, although it should be marked dirty.

Following SET CLEARUPDATESTATUS ONLY with unrelated calculations : You should follow SET CLEARUPDATESTATUS ONLY with repetition of the section of the script for which you want to force data block marking , A false positive can occur if SET CLEARUPDATESTATUS ONLY touches blocks that are otherwise dirty and that are not calculated. The Intelligent calc can provide significant performance benefits kin certain situations but require vigilant maintenance of the clean and dirty status of data blocks to avoid skipping the wrong blocks on calculation. The intelligent calc function most productively used in interactive or iterative situations in which small, incremental changes are made to a database and in which it is not necessary to recalculate the entire database. For example you can use intelligent calc in following situations: During quarter close periods, allocation rates and adjusting entries may be update multiple times. You use intelligent calc to view update results without recalculating the entire database. In budgeting or forecasting application, typically, many users update units and drivers on a regular basis. In such applications, for users to analyze the impact of their updates, a short calculation time is imperative.

Posted by Dornakal's-Hyperion-Blog at 4:21 PM 1 comments Labels: Developing Calc Scripts, Intelligent Calc

Links to this post

Reactions:

Implementation Process for Essbase Database


Hi Guys, good morning. please find implementation process for Essbase database.

Essbase Database implementation include many steps. The process if iterative. Analysis of the results of one cycle may rise new questions, prompting for new define business requirements, which in turn may lead to changes in design. Analysis and Planning: 1. Identify business results 2. Examine data sources

3. Analyze sample reports 4. Design Essbase Analytics outlines. Database Creation: 1. Create Essbase outlines 2. Create Load rules 3. Create Calculation scripts Deployment and Support: 1. 2. 3. 4. Maintain Essbase outlines Manage data flow Analyze data Provide management and user support.

hope this helps.


Posted by Dornakal's-Hyperion-Blog at 9:43 AM 2 comments Labels: Implementation of Essbase Links to this post

Reactions:
Monday, March 9, 2009

Automate HAL Load


Hi All, good morning. today we will see how we can autoamte HAL job (Flow diagram) If you are loading a large number of members, HAL chokes if you don't automate it (.exe etc). Here are the steps one should follow to autoamate a HAL job. Step:1 Complete the flow diagram as shown below

Step:2 Drag and drop Window Executible from Palleate.

Step:3 Open the window executible. Go to Runtime Target tab. give the location of the flow diagram. Browse to the location, where you want to store the executible file.

Step:4 Check

Use file name as runtime target name Automatically Build when OK pressed.

Step:5 don't check anything in Flow Diagrams tab as shown below:

Step:6 Don't check anything in Management tab as shown below:

Step:7 In Logging tab give the location of your log file.

Step:8 Don't check anything in Profile tab as shown below:

Step:9 Check

Copy needed Vignette Business Integration Studio DLLs Run as Console application If you want status bar check that box

Step:10 Hit OK

Step :11 you will see your execution file in the list as shown below:

Step:12 you can give the location of executible file in your batch file and run it using scheduler like window scheduler.

Posted by Dornakal's-Hyperion-Blog at 3:32 PM 6 comments Labels: Automation of HAL Load, HAL, Metadataload

Links to this post

Reactions:
Monday, February 23, 2009

Migration of DataForms in Hyperion Planning

The goal of this post is to explain how to migrate data forms from one environment to another in planning applications. The automation of this process helps to reduce time and leaves no scope for human error. FormDefUtil.cmd utility can be used to move data form definitions from one Planning application to another. Data form definitions can be exported or imported from an XML file. This utility is extremely useful when Data forms need to be moved from a development environment to a production environment.This utility uses a command line interface and is installed in the bin directory (D:Hyperion\Planning\bin). This utility runs only on Windows-based systems (even if application servers are on UNIX).

Only administrators can run it. The utility is located on Planning server as shown below.

Steps to export Data Forms : 1. Launch the FormDefUtil.cmd utility from the bin directory using this syntax: formdefutil export Formname/-all server name user name password application

The utility creates an XML file in D:Hyperion/Planning/bin and logs errors in FormDefUtil.log in the directory from which you run the utility (by default bin). You can copy the utility to any directory and launch it from there to save files to another directory.

Steps to Import Data Forms : 1. Launch the FormDefUtil.cmd utility from the bin directory using this syntax: formdefutil import Location of Formnames server name user name password application

This completes migration of data forms from one environment to another in planning applications.
Posted by Dornakal's-Hyperion-Blog at 1:50 PM 2 comments Labels: Migration of DataForms, Migration of WebForms Links to this post

Reactions:

Automation of Dimension extraction


Hi Guys, good morning. today we will learn how to automate dimension extraction from essbase. There is a very good utility called outline extractor in http://www.appliedolap.com Step # 1 As a first step you should install Outline extractor.

Step # 2 Build a batch file providing details of your application and database and dimension you want to extract as follows: cd C:\Program Files\olapunderground\Essbase Outline Extractor win C:\Program Files\olapunderground\Essbase Outline Extractor\exportdim.exeServerName/AdminName/Password/ApplicationName/Databa seName/DimensionName/Path where extracted file to be stored/!/ Doc/11111111111111111111/Text

You can schedule the above batch file to run at fixed time using various schedulers like Window scheduler etc. Hope this helps. Have a BLESSED day.
Posted by Dornakal's-Hyperion-Blog at 10:58 AM 0 comments Labels: Automate dimension extraction in essbase Links to this post

Reactions:
Thursday, February 19, 2009

Sample Report Script

Posted by Dornakal's-Hyperion-Blog at 5:37 PM 0 comments Labels: Report Script

Links to this post

Reactions:
Tuesday, February 17, 2009

Import Security in Hyperion Planning applications


Hi Guys, good morning. lot of times there will be a huge number of requests to grant or remove security access for users. for one or two changes, it is simple task, click on member and then assign access and grant permission. It becomes tiresome when we need to make changes for large number of members. it involves considerable amount of time. Automating the security changes saves considerable amount of time. The ImportSecurity utility in planning loads access permissions for users or groups from a text file into Planning. Importing access permissions using Import security utility overwrites existing access assignments only for imported members, users, or groups. All other existing access permissions remain intact. The SL_CLEARALL parameter clears all existing access permissions. ImportSecurity utility is located at D:\Hyperion\Planning\bin on Planning server as shown in the following picture:

Steps for importing access permissions: Step 1: Create a text file and name it as Secfile.txt and save it in bin directory (D:\Hyperion\Planning\bin). Example of Secfile.txt is shown in picture below where Planning_Security_Group is group name, MemberName is member name, Write is Access permission, and MEMBER is relationship.

Step 2: Locate the ImportSecurity utility by navigating to the bin directory.

Step 3: From the Command Prompt, enter this case-sensitive command, one space, and the parameters. Separate each parameter with a comma, and enclose parameters with double quotation marks: ImportSecurity.cmd appname,username,password[delimiter],[RUN_SILENT], [SL_CLEARALL] Where: appname : Name of the Planning application importing access permissions. username : Planning administrator user name. password :Planning administrator password. delimiter (Optional) : SL_TAB, SL_COMMA, SL_PIPE, SL_SPACE, SL_COLON, SL_SEMICOLON. If no delimiter is specified, comma is the default. RUN_SILENT ( Optional) : Execute the utility silently (the default) or with progress messages. Specify 0 for messages, or 1 for no messages. [SL_CLEARALL] (Optional): Clear existing access permissions when importing new access permissions. Must be in uppercase.

You can check the results in log file in bin folder.

Posted by Dornakal's-Hyperion-Blog at 3:14 PM 0 comments Links to this post Labels: Automate Security in Planning, Import Security in Planning

Reactions:
Monday, February 9, 2009

Load dimension members into Planning Application using HAL from Relational Database
Hi Guys, Good afternoon. please find the process of loading metadata into planning application using HAL (Hyperion Application Link). In the example below, I am loading employee dimension using HAL from SQL server table. You can also load it from flat file (text file or .csv file)

I am using following adapters to complete loading:

1. Variable

2. Planning Adapter and

3. ODBC adapter. The complete loading flow diagram is shown below:

The first adapter is Variable adapter. we use this adapter to give log in information and application details.

The second adapter is Planning adapter. We use this adapter as a connector to Planning application. This adapter is fed from variable adapter. Make sure that you change setting to connector in this adapter.

In the General tab you can give custom defined name to adapter like Planning Connector etc.

In the Methods tab you should specify which dimension you are loading in the drop down menu. In this example we changed the dimension to employee as we are loading meta data related to employee.

The third adapter is planning adapter again. Make sure that you change the drop down to load as shown below:

You can specify the name of the adapter. For example Planning load adapter etc.

In the methods section you should specify the dimension you are loading to. In this example we are using Employee.

The last adapter is ODBC adapter.

You should create a DSN for the relational database in the location where you are running the HAL job. Then connect to the relational database.

Select the table which has metadata information.

Once you have all the information. Connect to ports as shown below and save and then run to load metadata.

Hope this helps.

Posted by Dornakal's-Hyperion-Blog at 2:25 PM 0 comments Labels: HAL, Metadataload, Planning

Links to this post

Reactions:
Friday, January 30, 2009

Hyperion Planning Certification Help

Hi Guys, here are some planning questions which could help you get certified in Hyperion Planning Certification. I intentionally didn't post answers for most of them as you can find those answers in planning administrator manual. Hope this helps. 1. What are the required dimensions in planning? 2. What are the steps you need to take before creating planning application? 3. Which process state signifies that a planning unit is being reviewed by someone in the organization. 4. What file acts as bridge between Planning and relational data source? 5. When you tag a currency as a reporting currency, which dimensions will it be part of. 6. What is the maximum number of plan types you can have in planning? 7. Where are the rejected records after loading using HAL are placed in? 8. What are the different user roles in planning security? 9. Planning supports fiscal year calendars. It does not support mixed use of fiscal year and calendar year (True/False)? 10. What are the data sources supported by hyperion financial reporting? 11.Which type of tasks can you define in a task list? 12. What are the requirements for creating a dataform? 13. Row and column layout, business rules, POV definition, display options etc 14.Fiscal start of year and fiscal start month defines the starting fiscal year and start month for application. You cannot change this after you have created the application (True/False)? 15.To which application elements can you assign rights 16.When you enter plan data in the planning web client, planning automatically distributes values from : Summary periods to base periods 17. Do you need to refresh your database once you modify the webforms? 18. How many relational databases are needed for an application, which has 4 plantypes 19.List of places where you can launch business rules from 20.What is the maximum number of dimensions that a planning application can have? 21. Which can be runtime prompts in business rules? Member or members Dimension String integer, real or percent 22. The POV is always set to _______ for each POV dimension Single member Multiple members none 23.What is the reason for having sparse dimension? Data values are not smoothly and randomly distributed throughout the database Data values do not exist for the majority of member combinations in the database 24.How many databases will be created for two plan types.

25.By default account and period are dense dimensions in planning application. 26.When creating planning application, what base time period allows you to select weekly distribution option? (Ans:Monthly) 27.In which dimension your exchange rates are stored? 28.An authentication directory is a centralized store of users and passwords, user groups etc. 29. What authentication directories are supported by hyperion planning? 30. Which type of tasks can you define in a task list? Dataform Descriptive Workflow URL Business rule 31.Because dimension members can belong to more than one plan type you can specify different aggregation options by plan type. 32.Where does planning store application definition? 33. What happens when you use dynamic calc for base-level members for which users enter data? 34.Which data form tasks can you perform in smart view? 35. Parent members set to dynamic calc are read only in target version. 36.How many user variables can you setup for each dimension? 37.A parent member set to label only displays the value of its first child member. 38.In multiple currency applications, you cannot apply the label only storage option to members of the following dimensions: Entity, Version, Currency and user defined custom dimensions. To store exchange rates, these members should remain Never Share. 39. What is the calculation order in essbase Account dimension Time dimension Other dense dimensions in top down order Other sparse dimensions in top down order Members that are tagged as two pass calcs 40. The Two pass calculation option is used primarily for members of the account dimension. For other dimension, the two pass calculation option is only valid for Dynamic calc or dynamic calc and store members. 41.What is the maximum number of alias tables you can have for a dimension? 42.What is a planning unit? 43.For all Hyperion system 9 products, all user provisioning and external authentication is handled through: 44. After entering or modifying data in a dataform, you must calculate new totals for parent members in the dataform. 45.When loading files that contain member properties, you must : Load parent members before children Have a separate load file for each dimension.

Posted by Dornakal's-Hyperion-Blog at 3:56 PM 3 comments Labels: Hyperion Planning Certification

Links to this post

Reactions:
Wednesday, January 28, 2009

How to delete members in planning using HAL

Hi good morning. Deleting members in planning is challenging to do manually as it consume lots of time specially if you more than 5 members to delete. we can use Hyperion Application Link (HAL) to delete precisely the members we don't need. Here are the steps to follow on how to delete members using HAL Step:1 prepare a text document or .CSV file of the list of members you want to delete in Parent, Child format. Step:2 Open a new flow diagram and add flat file adapter, Planning adapter and Variable adapter as shown below. When you select a Planning adapter, the names of ports and the number of ports are determined by the dimension to which members are deleted. Most ports reflect the properties and custom attributes of the selected dimension.

Step : 3

Open a Variable adapter and type Delete in port name column and in the Initial Value column type Delete Level 0 .........................(If you want to delete the member if it has no children) Delete Idescendants ............(If you want to delete the member and its descendants) Delete Descendants ............. (If you want to delete the descendants but not the member)

Step.4: Upload the flat file with members to delete as shown below:

After the execution of HAL, you should refresh planning application to push the changes to essbase.
Posted by Dornakal's-Hyperion-Blog at 8:49 AM 3 comments Labels: Delete members in planning, HAL Links to this post

Reactions:
Tuesday, January 27, 2009

Automation of DataLoad
This document is intended to explain how to automate data load. Step.1: Create a data load rule in Essbase Step.2 : Create a Maxl file to execute the load rule Step .3 : Create a batch file to execute the MaxL file. We can schedule the Batch file using windows scheduler. Example of MaxL code. 1.This MaxL code clears the existing data 2.Loads data 3.Aggregates the data.

Remember : You need clear the data before you load. We clear the data because of our requirements. You can just use step 2 and 3 load data and aggregate data.

/*Script Start */ /*Login */ LOGIN 'UserName' 'Password' ON 'Server Name'; /*Clears data */ execute calculation ' Fix (@idescendants("Account"),@idescendants(Entity),&Current Year,Version) CLEARDATA Scenario; Endfix;' on ApplicationName.Database Name; /* Imports Data */ import database 'ApplicationName'.'DatabaseName' data connect as 'UserName' identified by 'Password' using server rules_file 'LoadRuleName' on error write to 'e:\\Logs\Errorfilename.err'; /*Aggregates Data*/ execute calculation' SET AGGMISSG ON; SET UPDATECALC OFF; Fix (Scenario,Year,Version) CALC DIM(Product,Entity); Endfix;' on ApplicationName.DatabaseName; LOGOUT; EXIT; /*End MaxL Script*/ Batch File to call the MaxL Script and send email about status of the Rem Rem Rem Rem Rem ****************************************************************************** Object Type: Batch File Object Name: BatchFileName.bat Script Date: 01-27-2009 Created by: Dornakal

Rem Purpose: This script loads the following data into Cube Rem Changed By: Rem Change Date: Rem Description: Rem ****************************************************************************** Rem This starts the log file echo "Start of log" > E:\Logs\Dataload.log Rem This calls MaxL script to load data essmsh E:\Scripts\MaxL \DataLoad.mxl >> E:\Logs\Dataload.log Rem Send mail about the status of the job sendmail -b E:\Logs\Dataload.log -s "Subject of the mail (data load status)." -f Sendersemail -r Recievers email -r Receivers email -X HQSMTP.yourcompany.net

Posted by Dornakal's-Hyperion-Blog at 10:37 AM 3 comments

Links to this post

Reactions:
Thursday, January 22, 2009

Certification Questions
Hi All, please find some sample questions, which can help you to get certified in Essbase. 1. Development tool used to build application which can add or delete dimensions. 2. essbase quick start when is it used 3. multiple fix dense or sparse 4. multiple if dense or sparse 5. Member selection wizard in excel. Placement 6. When are hash tables used 7. Number of passes through database (two pass calc) 2questions 8. Query designer what cannot be assigned to filter access 9. Sequence of cache files to be optimized based on their priority 10.What causes fragmentation? 11.Which compression type to use based on the statistics information of the database

is incremental restructuring deferred when u add, move or delete a member of a sparse dimension 12.What command do you use to optimize data export 13.Max .pag file size 14.Given a load file identify what field or load method should be used. 15.Attribute dimensions 16.What cannot be linked to a cell with an LRO 17.When would you select Shared Member functionality, as opposed to Attribute dimension functionality? 18.Proper use of substitution variables in the cal scripts 19.Variance calculation when is it used. Result 20.Given an exhibit identify the improper use of label only tag 21.What are the minimum security settings for LROs 22.Accept and reject records based on rules 23.Data source 3 partitions, data target updated. How many .CHG files are updated 24.Given settings, what is the optimal outline 25.Which partition uses less synchronization 26.Given 2 exhibits from excel, which exhibit will be retrieved 27.hashtbl theory 28.Set commands 3 questions 29.Dynamic calc and dynamic cal and store properties interchanged what kind of restructuring happens 30.Attribute calc dimensions 31.Use of attribute dimensions in partitions 32.Identify how many blocks are created given database statistics 33.How many index files will be restructures 34.Validate command 35.Which access a filter can have 36.Fix command and number of passes 37.Fix with datacopy 38.Fix with cross-dimensional operator 39.frmbottom up command 40.Given an outline which dimension is tagged as label only 41.Can u load data into attribute dimension 42.Datacopy syntax 43.beginarchive and endarchive commands 44.net delay command 45.query designer filter access issues 46.Which file holds uncompressed data blocks 47.Fragmentation, causes prevention and resolution 48.Essbase member selection placement in query designer of spread sheet
Posted by Dornakal's-Hyperion-Blog at 8:44 AM 1 comments Links to this post

Reactions:
Tuesday, January 20, 2009

Introduction to Hyperion Reports (Boot Camp)

Posted by Dornakal's-Hyperion-Blog at 5:14 PM 2 comments Labels: Hyperion Reports

Links to this post

Reactions:

Hyperion Essbase Interview questions Part 2


1. What is the difference between FIX and IF statements? In what situations they are used and what are its pros and cons? This is the favourite question, which everyone will be asking. If should be used for Dense dimensions and FIX for sparse dimensions. Reason: If you FIX on a Dense dimension. Remember dense dimension member will be present in every block of essbase. so if you FIX on dense dimension you are asking to pull all blocks, so the purpose of "FIX" (where you want to pull only some blocks) is lost. If you FIX on sparse dimensions, only required blocks are pulled and calculation will be fast. 2. In what situation I cannot use AGG MISSING ON setting? In some cases you may need to load data into parent level. Like allocations, for example you load expense data into east region and allocate the expenses to various cost centers under east region based on the headcount or otehr factors. If you have AGG MISSING ON and when we aggregate the database. it will clear the parent value if there are no data for children. In such cases we don't use AGGMISSING ON option.

3. Give me an estimate of the largest Essbase db you have worked on (Number of dims, members, calcs, etc) In my past experience, the biggest databases for BSO Essbase databases were below 10GB in most cases less than 5 GB. And number of dimensions are 8 to 10 with maximum 4 attribute dimensions. In most cases account and period are dense dimensions. number of members are around 5000 for entities. Any dimension members are below 10000. 4. What process do you follow when developing calc scripts? a. Analyze the requirements documents. b. Decide whether it is required to write calc script or can we create formulae in the database outline. c. Write the calculation script in the incremental method i.e. calculating some members and test for optimization. 5 .What is the major difference between CALCDIM and AGG commands? CALCDIM will only rollup only thru one dimensionor specified set of dimension and also calculates the formulae associated with the members AGG will roll up all dims ignoring formulae

Other questions you can find answers in DBAG. What is the significance of data cache? What are the advantages of attribute dimensions over shared members? What is the optimum setting index cache and Data file cache? What type of partitions does ASO support? Differentiate between dynamic calc and intelligent calc? How do you optimize data load in BSO? How do you back up ASO database? What members cannot be Dynamic Calc? Have you worked on currency conversion? What versions of Essbase have you worked on?
Posted by Dornakal's-Hyperion-Blog at 3:02 PM 2 comments Links to this post

Reactions:

How to tackle Essbase Interview


Hi Guys: Please find some of the interview questions :

The BSO architecture like


How blocks are built The impact of block size on calculations The impact of number of blocks on retrieval

The interviewer looks for real life scenarios not the bookish answers. For example if he asks Tell me about blocks in Essbase: DBAG says: "Essbase creates a data block for each unique combination of sparse standard dimension members (providing that at least one data value exists for the sparse dimension member combination). The data block represents all the dense dimension members for its combination of sparse dimension members." You should answer the question not like you memorized the definition of Block. You are good if answer the question like this : In BSO the blocks are created for every combination of sparse standard dimension member provided data existed for that combination. In addition you should add the following when you answer the question on blocks. Generally Blocks are in compressed state on disk. During calculation they are pulled in cache and expanded. Thats why Block size is very important. If the block size is huge, only few blocks are pulled onto cache at a time and if a calculation requires 10,000 blocks to finish calculation it takes forever to finish calculation and if block size is so small and the index file becomes huge; Essbase takes forever to search for the blocks it needed like needle in the stack of hay. This answer shows your confidence on subject and also makes interviewer to think that you have real time experience. 2.What are the different storage options in Essbase? There are two different storage options in Essbase. Previously there used to be only one BSO. With the version 7.0 ASO came into place. Deciding which storage option to use depends on the business requirements. If business dont care about write back option or complex calculations like allocations, currency conversions etc and need fast aggregation then ASO is the answer. In Contrast if the business requirements need write back functionality and complex calculations like inter company eliminations, allocation based on percentages etc BSO is the answer.

Because of the above reasons, Hyperion planning need to go with BSO option. Test on Sparse and Dense knowledge I had business requirements gathered and built initial dimensions. We dont sell all products in all cost centers. Can you suggest us the dimension types for the following dimensions? (This question is intended to test the concept of dense and sparse in BSO and outline optimization)

The second table gives you answer for the question. The outline is arranged in hour glass structure. Reason why we should arrange outline in HourGlass structure Hour glass structure makes index to be more search freindly. Like assume that we have largest sparse dimension as the first dimension and then next largest in that order. when the essbase calculates it has to search all the largest sparse dimension and then to next largest which take more time. In the hour glas sstructure it takes less time to search in index.
Posted by Dornakal's-Hyperion-Blog at 1:50 PM 2 comments Labels: BSO, Essbase, Hyperion, Interview Questions Links to this post

Reactions:

Migration of DataForms in Hyperion Planning

The goal of this post is to explain how to migrate data forms from one environment to another in planning applications. The automation of this process helps to reduce time and leaves no scope for human error. FormDefUtil.cmd utility can be used to move data form definitions from one Planning application to another. Data form definitions can be exported or imported from an XML file. This utility is extremely useful when Data forms need to be moved from a development environment to a production environment.This utility uses a command line interface and is installed in the bin directory (D:Hyperion\Planning\bin). This utility runs only on Windows-based systems (even if application servers are on UNIX). Only administrators can run it. The utility is located on Planning server as shown below.

Steps to export Data Forms : 1. Launch the FormDefUtil.cmd utility from the bin directory using this syntax: formdefutil export Formname/-all server name user name password application

The utility creates an XML file in D:Hyperion/Planning/bin and logs errors in FormDefUtil.log in the directory from which you run the utility (by default bin). You can copy the utility to any directory and launch it from there to save files to another directory.

Steps to Import Data Forms : 1. Launch the FormDefUtil.cmd utility from the bin directory using this syntax: formdefutil import Location of Formnames server name user name password application

This completes migration of data forms from one environment to another in planning applications.
Posted by Dornakal's-Hyperion-Blog at 1:50 PM 2 comments Labels: Migration of DataForms, Migration of WebForms Links to this post

Reactions:

Automation of Dimension extraction


Hi Guys, good morning.

today we will learn how to automate dimension extraction from essbase. There is a very good utility called outline extractor in http://www.appliedolap.com Step # 1 As a first step you should install Outline extractor.

Step # 2 Build a batch file providing details of your application and database and dimension you want to extract as follows: cd C:\Program Files\olapunderground\Essbase Outline Extractor win C:\Program Files\olapunderground\Essbase Outline Extractor\exportdim.exeServerName/AdminName/Password/ApplicationName/Databa seName/DimensionName/Path where extracted file to be stored/!/ Doc/11111111111111111111/Text

You can schedule the above batch file to run at fixed time using various schedulers like Window scheduler etc. Hope this helps. Have a BLESSED day.
Posted by Dornakal's-Hyperion-Blog at 10:58 AM 0 comments Labels: Automate dimension extraction in essbase Links to this post

Reactions:
Thursday, February 19, 2009

Sample Report Script

Posted by Dornakal's-Hyperion-Blog at 5:37 PM 0 comments Labels: Report Script

Links to this post

Reactions:
Tuesday, February 17, 2009

Import Security in Hyperion Planning applications

Hi Guys, good morning. lot of times there will be a huge number of requests to grant or remove security access for users. for one or two changes, it is simple task, click on member and then assign access and grant permission. It becomes tiresome when we need to make changes for large number of members.

it involves considerable amount of time. Automating the security changes saves considerable amount of time. The ImportSecurity utility in planning loads access permissions for users or groups from a text file into Planning. Importing access permissions using Import security utility overwrites existing access assignments only for imported members, users, or groups. All other existing access permissions remain intact. The SL_CLEARALL parameter clears all existing access permissions. ImportSecurity utility is located at D:\Hyperion\Planning\bin on Planning server as shown in the following picture:

Steps for importing access permissions: Step 1: Create a text file and name it as Secfile.txt and save it in bin directory (D:\Hyperion\Planning\bin). Example of Secfile.txt is shown in picture below where Planning_Security_Group is group name, MemberName is member name, Write is Access permission, and MEMBER is relationship.

Step 2: Locate the ImportSecurity utility by navigating to the bin directory.

Step 3: From the Command Prompt, enter this case-sensitive command, one space, and the parameters. Separate each parameter with a comma, and enclose parameters with double quotation marks: ImportSecurity.cmd appname,username,password[delimiter],[RUN_SILENT], [SL_CLEARALL] Where: appname : Name of the Planning application importing access permissions. username : Planning administrator user name. password :Planning administrator password. delimiter (Optional) : SL_TAB, SL_COMMA, SL_PIPE, SL_SPACE, SL_COLON, SL_SEMICOLON. If no delimiter is specified, comma is the default. RUN_SILENT ( Optional) : Execute the utility silently (the default) or with progress messages. Specify 0 for messages, or 1 for no messages. [SL_CLEARALL] (Optional): Clear existing access permissions when importing new access permissions. Must be in uppercase.

You can check the results in log file in bin folder.

Posted by Dornakal's-Hyperion-Blog at 3:14 PM 0 comments Links to this post Labels: Automate Security in Planning, Import Security in Planning

Reactions:
Monday, February 9, 2009

Load dimension members into Planning Application using HAL from Relational Database
Hi Guys, Good afternoon. please find the process of loading metadata into planning application using HAL (Hyperion Application Link). In the example below, I am loading employee dimension using HAL from SQL server table. You can also load it from flat file (text file or .csv file)

I am using following adapters to complete loading:

1. Variable

2. Planning Adapter and

3. ODBC adapter. The complete loading flow diagram is shown below:

The first adapter is Variable adapter. we use this adapter to give log in information and application details.

The second adapter is Planning adapter. We use this adapter as a connector to Planning application. This adapter is fed from variable adapter. Make sure that you change setting to connector in this adapter.

In the General tab you can give custom defined name to adapter like Planning Connector etc.

In the Methods tab you should specify which dimension you are loading in the drop down menu. In this example we changed the dimension to employee as we are loading meta data related to employee.

The third adapter is planning adapter again. Make sure that you change the drop down to load as shown below:

You can specify the name of the adapter. For example Planning load adapter etc.

In the methods section you should specify the dimension you are loading to. In this example we are using Employee.

The last adapter is ODBC adapter.

You should create a DSN for the relational database in the location where you are running the HAL job. Then connect to the relational database.

Select the table which has metadata information.

Once you have all the information. Connect to ports as shown below and save and then run to load metadata.

Hope this helps.

Posted by Dornakal's-Hyperion-Blog at 2:25 PM 0 comments Labels: HAL, Metadataload, Planning

Links to this post

Reactions:

Automation of Dimension extraction


Hi Guys, good morning. today we will learn how to automate dimension extraction from essbase. There is a very good utility called outline extractor in http://www.appliedolap.com Step # 1 As a first step you should install Outline extractor.

Step # 2 Build a batch file providing details of your application and database and dimension you want to extract as follows: cd C:\Program Files\olapunderground\Essbase Outline Extractor win C:\Program Files\olapunderground\Essbase Outline Extractor\exportdim.exeServerName/AdminName/Password/ApplicationName/Databa seName/DimensionName/Path where extracted file to be stored/!/

Doc/11111111111111111111/Text

You can schedule the above batch file to run at fixed time using various schedulers like Window scheduler etc.

Sample Report Script

Import Security in Hyperion Planning applications


Hi Guys, good morning. lot of times there will be a huge number of requests to grant or remove security access for users. for one or two changes, it is simple task, click on member and then assign access and grant permission. It becomes tiresome when we need to make changes for large number of members. it involves considerable amount of time. Automating the security changes saves considerable amount of time. The ImportSecurity utility in planning loads access permissions for users or groups from a text file into Planning. Importing access permissions using Import security utility

overwrites existing access assignments only for imported members, users, or groups. All other existing access permissions remain intact. The SL_CLEARALL parameter clears all existing access permissions. ImportSecurity utility is located at D:\Hyperion\Planning\bin on Planning server as shown in the following picture:

Steps for importing access permissions: Step 1: Create a text file and name it as Secfile.txt and save it in bin directory (D:\Hyperion\Planning\bin). Example of Secfile.txt is shown in picture below where Planning_Security_Group is group name, MemberName is member name, Write is Access permission, and MEMBER is relationship.

Step 2: Locate the ImportSecurity utility by navigating to the bin directory.

Step 3: From the Command Prompt, enter this case-sensitive command, one space, and the parameters. Separate each parameter with a comma, and enclose parameters with double quotation marks: ImportSecurity.cmd appname,username,password[delimiter],[RUN_SILENT], [SL_CLEARALL] Where: appname : Name of the Planning application importing access permissions. username : Planning administrator user name. password :Planning administrator password. delimiter (Optional) : SL_TAB, SL_COMMA, SL_PIPE, SL_SPACE, SL_COLON, SL_SEMICOLON. If no delimiter is specified, comma is the default. RUN_SILENT ( Optional) : Execute the utility silently (the default) or with progress messages. Specify 0 for messages, or 1 for no messages. [SL_CLEARALL] (Optional): Clear existing access permissions when importing new access permissions. Must be in uppercase.

You can check the results in log file in bin folder.

Posted by Dornakal's-Hyperion-Blog at 3:14 PM Labels: Automate Security in Planning, Import Security in Planning

Reactions:

Load dimension members into Planning Application using HAL from Relational Database
Hi Guys, Good afternoon. please find the process of loading metadata into planning application using HAL (Hyperion Application Link). In the example below, I am loading employee dimension using HAL from SQL server table.

You can also load it from flat file (text file or .csv file)

I am using following adapters to complete loading:

1. Variable

2. Planning Adapter and

3. ODBC adapter. The complete loading flow diagram is shown below:

The first adapter is Variable adapter. we use this adapter to give log in information and application details.

The second adapter is Planning adapter. We use this adapter as a connector to Planning application. This adapter is fed from variable adapter. Make sure that you change setting to connector in this adapter.

In the General tab you can give custom defined name to adapter like Planning Connector etc.

In the Methods tab you should specify which dimension you are loading in the drop down menu. In this example we changed the dimension to employee as we are loading meta data related to employee.

The third adapter is planning adapter again. Make sure that you change the drop down to load as shown below:

You can specify the name of the adapter. For example Planning load adapter etc.

In the methods section you should specify the dimension you are loading to. In this

example we are using Employee.

The last adapter is ODBC adapter.

You should create a DSN for the relational database in the location where you are running the HAL job. Then connect to the relational database.

Select the table which has metadata information.

Once you have all the information. Connect to ports as shown below and save and then run to load metadata.

Hope this helps.

Posted by Dornakal's-Hyperion-Blog at 2:25 PM Labels: HAL, Metadataload, Planning

Reaction s: 0 comments: Post a Comment Links to this post


Create a Link

Newer PostOlder PostHome

Common Mistakes to avoid in Hyperion Resume


Hi All, Good evening. We were recruiting for hyperion developer last year and got many resumes as response for our advertisement. Here are some things, which I observed while reviewing those resumes. 1. A candidate has overlapping experience. He claimed that he worked for a client in Jacksonville, FL and also at other client in San Jose, CA at the same period of time. We asked how he managed to work at both places (hectic schedule), he had no clue.

If you were working on multiple projects should answer questions related to that or take care when listing project periods.

2.Putting lot of experience in unrelated technology. Common why do your prospective employer want to know what you did in cold fusion coding, when he advertised for hyperion developer. 3.Stating same responsibilities on different projects. It is possible to have same type of responsibilities in different projects. If so club both projects and state responsibilities once. The content of resume is more important than the number of pages. The common myth is that employer will look into resumes, only if it has more than 5 pages. That is untrue. The candidate, which we hired have a clean and small resume focusing on main points. 4.Unable to answer what the candidate stated in resume. Once a candidate stated that he is expert in SQR reporting. SQR was not we were looking for and didnt ask for that in our advertisement. We saw that he is an expert in SQR in resume and asked him a question related to that. He was not able to answer fundamentals in SQR, which undermined the credibility of the candidate. Dont put something which you heard of. Employer will read your resume entirely and ask questions based on your resume. Very few people have set of questions prepared to ask for an interview. One should have complete grip on resume. Should have answers for every word you put in resume. Should not put any unrelated experience. Like project on IBM mainframes doesnt help you for the position in Hyperion. Hope you will take care of above points when building your resume.
Posted by Dornakal's-Hyperion-Blog at 5:36 PM 1 comments Labels: Resume Building Links to this post

Reactions:
Friday, March 27, 2009

Data transfer between two hyperion Essbase Cubes


Data Transfer from one cube to another. There are different ways to transfer data from one cube to other. 1. Hyperion Application Link (HAL) 2.Export data using report script and importing data into new cube 3.Jexport 4.XREF

Today we will learn about XREF calc script, which is used by most who want to transfer data between cubes. please find sample xref calc script below: In this example I am trasfering payroll,social, bonus and headcount data from my main P&L (profit and loss) application to work force application. The first step of XREF is to create a location alias of the source application. In this example my location alias is _LocAliasPL. You can create location alias using EAS in the following way: open the application right click database Click Edit navigate to location alias. Click to create location alias and give the details of the source cube. /*XREF Calc Script Code*/ /*Information */ /* Script Name : XREF Created by : Dornakal, Hyperion Consultant, March 27, 2009 Purpose : Copy HR data from main application to work force application Directions : Check location alias Versions : Essbase 9.3.1 Assumptions : The Accounts, Time dimensions are Dense and the rest of dimensions are Sparse */ /*House Keeping*/ /*Set the calculator cache. */ SET CACHE HIGH ; /* Display calculation statistics in application log. */ SET MSG Summary; /* Display calculation completion messages in application log at 20% intervals. */ SET NOTICE LOW; /*Turn off Intelligent Calculation */ SET UPDATECALC OFF; /* Enables parallel calculation. */ SET CALCPARALLEL 4; /* Baseline Fix */ FIX(HSP_INPUTVALUE, Local, USD, FINAL,Actual, FY08, &ActualMnth,&NxtYr,@RELATIVE(Cost_Center,0),"EMPLOYEES") SET CREATENONMISSINGBLK ON; "PayRoll" = @XREF(_LocAliasPL, "PRODUCT"); "Social" = @XREF(_LocAliasPL, "PRODUCT"); "Bonus" = @XREF(_LocAliasPL, "PRODUCT"); "Headcount" = @XREF(_LocAliasPL, "PRODUCT");

SET CREATENONMISSINGBLK OFF; ENDFIX; /*END MAIN SCRIPT*/


Posted by Dornakal's-Hyperion-Blog at 3:10 PM 5 comments Labels: Data Transfer Links to this post

Reactions:
Monday, March 16, 2009

Sample Calculation Script

/*Information */ /* Script Name : CopyAct2Fcst Created by : Dornakal, Hyperion Consultant, March 16, 2009 Purpose : Copy Actuals to Current Forecast Directions : Set substitution variables CurFcst, Actmnth,CY Versions : Essbase 9.3.1 Assumptions : The Accounts, Time dimensions are Dense and the rest of dimensions are Sparse Comments : This script copies actual data from actual scenario to forecast scenario; This rule should be run before every forecast. */

/*House Keeping*/ /*Set the calculator cache. */ SET CACHE HIGH ; /* Display calculation statistics in application log. */ SET MSG Summary; /* Display calculation completion messages in application log at 20% intervals. */ SET NOTICE LOW; /*Turn off Intelligent Calculation */ SET UPDATECALC OFF; /* Enables parallel calculation. */ SET CALCPARALLEL 4;

/* Baseline Fix on CurYear, Local Currency, and Level 0 cost center */ FIX(@LEVMBRS("Cost Center",0),Local)

/* Main Rollup */ /* Copies data for all existing employees of all Expense Accounts from Actual scenario , final version to Current Forecast and Working version */ FIX ("Existing_Employees", @IDESCENDANTS("Expense Accounts"), Jan:&Actmnth) DATACOPY Actual->Final TO &CurFcst->Working; ENDFIX /* End of baseline Fix*/ ENDFIX;
Posted by Dornakal's-Hyperion-Blog at 3:18 PM 2 comments Labels: Sample Calc Script Links to this post

Reactions:
Friday, March 13, 2009

What is Intelligent Calculation? Why should we care?


Developing calc scripts Series What is intelligent calc? Why should I care? A primary goal in calculation script development is optimization (elimination of extra passes through database index). To optimize calculation, you can use FIX and IF statements to focus calculations, or you can use an option called intelligent calculation. When you perform a full database calculation, Essbase marks which blocks have been calculated. If you then load a subset of data, you can calculate only the changed data blocks and their ancestors. This selective calculation process is intelligent calculation. By default, intelligent calculation is turned on. You can change the default setting in the essbase.cfg file or on a script-by-script basis wit the SETUPDATECALC OFF command. Intelligent calculation is based on data-block marking, when intelligent calculation is active, during the normal processes, within the index file, blocks are marked clean or

dirty. Clean BlocksBlocks that dont require calculation Dirty Blocks --- Blocks that require calculation. When intelligent calculation is active, during calculation, Essbase looks for only dirty blocks. Exceptions: Even when the intelligent calculation is enabled, for CALC DIM statements that do not include all dimensions, Essbase does not use intelligent calculation process. Rather, Essbase calculates all relevant data blocks, regardless of clean or dirty status, and all data blocks retain their status, dirty or clean. SET CLEARUPDATESTATUS AFTER is a calculation command that engages intelligent calc for any calc script, regardless of construction. Typically, you use this command where you cannot meet the conditions for a calc dim on all dimensions. Example: SET CLEARUPDATESTATUS AFTER FIX(@IDESCENDANTS(Q1)) CALC DIM (Accounts); ENDFIX When you execute a calculation script that includes the SET UPDATESTATUS AFTER command, data blocks that are marked clean are not calculated and data blocks that are marked dirty are calculated and marked clean. How do you force block marking without calculating? SET CLEARUPDATESTATUS ONLY command instructs Essbase to mark as clean all data blocks that were previously marked dirty. How do blocks become dirty? In the following cases the data blocks are marked as dirty. Block creation during data input Data modification (Lock and send) Creation or modification of descendant blocks Database Restructure (both dense and sparse) What are False negative and False positive? Occasionally, clean data blocks are marked dirty (False negative). In such cases calculation efficiency suffers. A more serious problem, however, is a false positive condition, in which dirty blocks are marked as clean. In such case of false positives, data integrity can suffer.

When does False Positives arise? Calculation only a subset of a data block: Essbase marks at block level not at the cell level, so a calculation that I executed on a subset of cells can cause a false positive condition. Only a few cells are calculated but the block is marked clean, although uncalculated cells remain. Using a FIX statement: Ancestors of a dirty block are not marked as dirty until the descendant dirty block is calculated. A false positive can result if the descendant dirty block is calculated within a FIX statement that does not include the dirty ancestor block. After calculation, essbase marks the descendant block clean, and the ancestor block remains marked clean, although it should be marked dirty. Following SET CLEARUPDATESTATUS ONLY with unrelated calculations : You should follow SET CLEARUPDATESTATUS ONLY with repetition of the section of the script for which you want to force data block marking , A false positive can occur if SET CLEARUPDATESTATUS ONLY touches blocks that are otherwise dirty and that are not calculated. The Intelligent calc can provide significant performance benefits kin certain situations but require vigilant maintenance of the clean and dirty status of data blocks to avoid skipping the wrong blocks on calculation. The intelligent calc function most productively used in interactive or iterative situations in which small, incremental changes are made to a database and in which it is not necessary to recalculate the entire database. For example you can use intelligent calc in following situations: During quarter close periods, allocation rates and adjusting entries may be update multiple times. You use intelligent calc to view update results without recalculating the entire database. In budgeting or forecasting application, typically, many users update units and drivers on a regular basis. In such applications, for users to analyze the impact of their updates, a short calculation time is imperative.

Posted by Dornakal's-Hyperion-Blog at 4:21 PM 1 comments Labels: Developing Calc Scripts, Intelligent Calc

Links to this post

Reactions:

Implementation Process for Essbase Database


Hi Guys, good morning. please find implementation process for Essbase database. Essbase Database implementation include many steps. The process if iterative. Analysis of the results of one cycle may rise new questions, prompting for new define business requirements, which in turn may lead to changes in design. Analysis and Planning: 1. 2. 3. 4. Identify business results Examine data sources Analyze sample reports Design Essbase Analytics outlines.

Database Creation: 1. Create Essbase outlines 2. Create Load rules 3. Create Calculation scripts Deployment and Support: 1. 2. 3. 4. Maintain Essbase outlines Manage data flow Analyze data Provide management and user support.

hope this helps.


Posted by Dornakal's-Hyperion-Blog at 9:43 AM 2 comments Labels: Implementation of Essbase Links to this post

Reactions:
Monday, March 9, 2009

Automate HAL Load


Hi All, good morning.

today we will see how we can autoamte HAL job (Flow diagram) If you are loading a large number of members, HAL chokes if you don't automate it (.exe etc). Here are the steps one should follow to autoamate a HAL job. Step:1 Complete the flow diagram as shown below

Step:2 Drag and drop Window Executible from Palleate.

Step:3 Open the window executible. Go to Runtime Target tab. give the location of the flow diagram. Browse to the location, where you want to store the executible file.

Step:4 Check

Use file name as runtime target name Automatically Build when OK pressed.

Step:5 don't check anything in Flow Diagrams tab as shown below:

Step:6 Don't check anything in Management tab as shown below:

Step:7 In Logging tab give the location of your log file.

Step:8 Don't check anything in Profile tab as shown below:

Step:9 Check

Copy needed Vignette Business Integration Studio DLLs Run as Console application If you want status bar check that box

Step:10 Hit OK

Step :11 you will see your execution file in the list as shown below:

Step:12 you can give the location of executible file in your batch file and run it using scheduler like window scheduler.

Posted by Dornakal's-Hyperion-Blog at 3:32 PM 6 comments Labels: Automation of HAL Load, HAL, Metadataload

Links to this post

Reactions:

Data transfer between two hyperion Essbase Cubes


Data Transfer from one cube to another. There are different ways to transfer data from one cube to other. 1. Hyperion Application Link (HAL) 2.Export data using report script and importing data into new cube 3.Jexport 4.XREF Today we will learn about XREF calc script, which is used by most who want to transfer data between cubes.

please find sample xref calc script below: In this example I am trasfering payroll,social, bonus and headcount data from my main P&L (profit and loss) application to work force application. The first step of XREF is to create a location alias of the source application. In this example my location alias is _LocAliasPL. You can create location alias using EAS in the following way: open the application right click database Click Edit navigate to location alias. Click to create location alias and give the details of the source cube. /*XREF Calc Script Code*/ /*Information */ /* Script Name : XREF Created by : Dornakal, Hyperion Consultant, March 27, 2009 Purpose : Copy HR data from main application to work force application Directions : Check location alias Versions : Essbase 9.3.1 Assumptions : The Accounts, Time dimensions are Dense and the rest of dimensions are Sparse */ /*House Keeping*/ /*Set the calculator cache. */ SET CACHE HIGH ; /* Display calculation statistics in application log. */ SET MSG Summary; /* Display calculation completion messages in application log at 20% intervals. */

SET NOTICE LOW; /*Turn off Intelligent Calculation */ SET UPDATECALC OFF; /* Enables parallel calculation. */ SET CALCPARALLEL 4; /* Baseline Fix */ FIX(HSP_INPUTVALUE, Local, USD, FINAL,Actual, FY08, &ActualMnth,&NxtYr,@RELATIVE(Cost_Center,0),"EMPLOYEES") SET CREATENONMISSINGBLK ON; "PayRoll" = @XREF(_LocAliasPL, "PRODUCT"); "Social" = @XREF(_LocAliasPL, "PRODUCT"); "Bonus" = @XREF(_LocAliasPL, "PRODUCT"); "Headcount" = @XREF(_LocAliasPL, "PRODUCT"); SET CREATENONMISSINGBLK OFF; ENDFIX; /*END MAIN SCRIPT*/
Posted by Dornakal's-Hyperion-Blog at 3:10 PM Labels: Data Transfer

Reaction s: 5 comments:
mahesh said... Excellent post Dornakal. I have some queries on this topic. Can you please clarify it for me.

1.Do i need equal number of dimensions on both cubes? 2.suppose i have equal number of dimensions on both cubes but dimensions are different how will it works? I think it is working fine in the 2 situation, but functionally is it right? my suggestion is can you please describe how many dimensions are there and what are that. so we get good clarity on the script. Many thanks, Mahesh.
March 28, 2009 10:18 AM

mahesh said... Hi Dornakal, your posts are very interesting. Can please post some information about EPMA. I have some knowledge on EPMA. Can you please tell me how is it working. what are the situations we use EPMA. and something about Dimension library, Application library, Data Synchronization, Application upgradation and all. Thanks, Mahesh.
March 28, 2009 10:31 AM

Anonymous said... Mahesh, you don't need same number of dimentions for data copy or XREF. Dronakal (yes, I've been reading your blogs) here is a question for you. You are using "SET CREATENONMISSINGBLK ON;" don't this command create unnecessary blocks hence increasing size of your database? Second: What's the advantage of using script vs having @XREF in the outline? I can think of couple but would like to know what you think.

Third: Are you using something like this in production and if so what is the performance. You know I asked you this before. Thanks Pranay
March 30, 2009 2:55 PM

Dornakal's-Hyperion-Blog said... Hi Pranay, Thanks for your comments. You are using "SET CREATENONMISSINGBLK ON;" don't this command create unnecessary blocks hence increasing size of your database? You are right in your comment, but it is when you enable database wide in database settings. The purpose of SET CREATEONMISSINGBLK ON; is to create to new blocks for the XREF operation only. I also included SET CREATEONMISSINGBLK OFF; at the end of script so that it doesn't create unneccesary blocks. Yes we are using this script in production and don't have any noticible size increase because of this. What's the advantage of using script vs having @XREF in the outline? By using script we can run XREF on need basis, not every time when you do aggregation. Are you using something like this in production and if so what is the performance. Yes. we are using this script in production. our cube sizes are 4 GB and 6 GB and script takes less than a 5 minutes to complete. have a great day Pranay.
March 30, 2009 5:08 PM

Anonymous said...

This creates a cube in the same application, but if we want to copy data to other application, how can we maupulate it. Example: We have two application (app1 & app2) with different dimensions, app1 have 10 dimensions and app2 have 8 dimensions. From app1 we need to extract all the level0 data and copy in the app2. Can you suggest me how i can go ahead with the XREF script. If possible can you give one sample script. Thanks Vivek

Sample Calculation Script

/*Information */ /* Script Name : CopyAct2Fcst Created by : Dornakal, Hyperion Consultant, March 16, 2009 Purpose : Copy Actuals to Current Forecast Directions : Set substitution variables CurFcst, Actmnth,CY Versions : Essbase 9.3.1 Assumptions : The Accounts, Time dimensions are Dense and the rest of dimensions are Sparse Comments : This script copies actual data from actual scenario to forecast scenario; This rule should be run before every forecast. */

/*House Keeping*/ /*Set the calculator cache. */ SET CACHE HIGH ; /* Display calculation statistics in application log. */ SET MSG Summary; /* Display calculation completion messages in application log at 20% intervals. */ SET NOTICE LOW; /*Turn off Intelligent Calculation */

SET UPDATECALC OFF; /* Enables parallel calculation. */ SET CALCPARALLEL 4;

/* Baseline Fix on CurYear, Local Currency, and Level 0 cost center */ FIX(@LEVMBRS("Cost Center",0),Local)

/* Main Rollup */ /* Copies data for all existing employees of all Expense Accounts from Actual scenario , final version to Current Forecast and Working version */ FIX ("Existing_Employees", @IDESCENDANTS("Expense Accounts"), Jan:&Actmnth) DATACOPY Actual->Final TO &CurFcst->Working; ENDFIX

/* End of baseline Fix*/ ENDFIX;


Posted by Dornakal's-Hyperion-Blog at 3:18 PM Labels: Sample Calc Script

Reaction s: 2 comments:
mahesh said... Hi Dornakal, I have gone through your script. It is really good. Can you post some more calculation scripts like this.It really helps me.

Thanks, Mahesh
March 18, 2009 1:17 AM

Dornakal's-Hyperion-Blog said... Hi Mahesh, Thanks for your comment. I am planning to post more calc scripts and business rules in future. have a great day. with best wishes, Dornakal.

What is Intelligent Calculation? Why should we care?


Developing calc scripts Series What is intelligent calc? Why should I care? A primary goal in calculation script development is optimization (elimination of extra passes through database index). To optimize calculation, you can use FIX and IF statements to focus calculations, or you can use an option called intelligent calculation. When you perform a full database calculation, Essbase marks which blocks have been calculated. If you then load a subset of data, you can calculate only the changed data blocks and their ancestors. This selective calculation process is intelligent calculation. By default, intelligent calculation is turned on. You can change the default setting in the essbase.cfg file or on a script-by-script basis wit the SETUPDATECALC OFF command. Intelligent calculation is based on data-block marking, when intelligent calculation is active, during the normal processes, within the index file, blocks are marked clean or dirty.

Clean BlocksBlocks that dont require calculation Dirty Blocks --- Blocks that require calculation. When intelligent calculation is active, during calculation, Essbase looks for only dirty blocks. Exceptions: Even when the intelligent calculation is enabled, for CALC DIM statements that do not include all dimensions, Essbase does not use intelligent calculation process. Rather, Essbase calculates all relevant data blocks, regardless of clean or dirty status, and all data blocks retain their status, dirty or clean. SET CLEARUPDATESTATUS AFTER is a calculation command that engages intelligent calc for any calc script, regardless of construction. Typically, you use this command where you cannot meet the conditions for a calc dim on all dimensions. Example: SET CLEARUPDATESTATUS AFTER FIX(@IDESCENDANTS(Q1)) CALC DIM (Accounts); ENDFIX When you execute a calculation script that includes the SET UPDATESTATUS AFTER command, data blocks that are marked clean are not calculated and data blocks that are marked dirty are calculated and marked clean. How do you force block marking without calculating? SET CLEARUPDATESTATUS ONLY command instructs Essbase to mark as clean all data blocks that were previously marked dirty.

How do blocks become dirty? In the following cases the data blocks are marked as dirty. Block creation during data input Data modification (Lock and send) Creation or modification of descendant blocks Database Restructure (both dense and sparse)

What are False negative and False positive? Occasionally, clean data blocks are marked dirty (False negative). In such cases calculation efficiency suffers. A more serious problem, however, is a false positive condition, in which dirty blocks are marked as clean. In such case of false positives, data integrity can suffer. When does False Positives arise? Calculation only a subset of a data block: Essbase marks at block level not at the cell level, so a calculation that I executed on a subset of cells can cause a false positive condition. Only a few cells are calculated but the block is marked clean, although uncalculated cells remain. Using a FIX statement: Ancestors of a dirty block are not marked as dirty until the descendant dirty block is calculated. A false positive can result if the descendant dirty block is calculated within a FIX statement that does not include the dirty ancestor block. After calculation, essbase marks the descendant block clean, and the ancestor block remains marked clean, although it should be marked dirty. Following SET CLEARUPDATESTATUS ONLY with unrelated calculations : You should follow SET CLEARUPDATESTATUS ONLY with repetition of the section of the script for which you want to force data block marking , A false positive can occur if SET CLEARUPDATESTATUS ONLY touches blocks that are otherwise dirty and that are not calculated.

The Intelligent calc can provide significant performance benefits kin certain situations but require vigilant maintenance of the clean and dirty status of data blocks to avoid skipping the wrong blocks on calculation. The intelligent calc function most productively used in interactive or iterative situations in which small, incremental changes are made to a database and in which it is not necessary to recalculate the entire database. For example you can use intelligent calc in following situations: During quarter close periods, allocation rates and adjusting entries may be update multiple times. You use intelligent calc to view update results without recalculating the entire database. In budgeting or forecasting application, typically, many users update units and drivers

on a regular basis. In such applications, for users to analyze the impact of their updates, a short calculation time is imperative.

Posted by Dornakal's-Hyperion-Blog at 4:21 PM Labels: Developing Calc Scripts, Intelligent Calc

Reaction s: 1 comments:
parthiv said... Hello Dornakal, I saw the interview qustion in ur blog,I dont know these answers could u pls post these answeres 1)essbase quick start when is it used 2)When are hash tables used 3)query designer filter access issues 4)How many index files will be restructures 5)hashtbl theory 6)Where are the rejected records after loading using HAL are placed in? 7)Identify how many blocks are created given database statistics? Thank u , bye

Implementation Process for Essbase Database

Hi Guys, good morning. please find implementation process for Essbase database.

Essbase Database implementation include many steps. The process if iterative. Analysis of the results of one cycle may rise new questions, prompting for new define business requirements, which in turn may lead to changes in design. Analysis and Planning: 1. 2. 3. 4. Identify business results Examine data sources Analyze sample reports Design Essbase Analytics outlines.

Database Creation: 1. Create Essbase outlines 2. Create Load rules 3. Create Calculation scripts Deployment and Support: 1. 2. 3. 4. Maintain Essbase outlines Manage data flow Analyze data Provide management and user support.

hope this helps.


Posted by Dornakal's-Hyperion-Blog at 9:43 AM Labels: Implementation of Essbase

Reaction s: 2 comments:
parthiv said...

hi thats great to helping hyperion people. Is this same to planning also. where can i get the DBAG guide. Could u help me plss. thanku, parthiv
March 13, 2009 1:07 PM

Dornakal's-Hyperion-Blog said... Hi Partiv, thanks for your comment. For planning this will be little bit different. I will post that soon. you can find DBAG in Hyperion Documentation link on my blog. hope this helps.
March 13, 2009 3:01 PM

Automate HAL Load


Hi All, good morning. today we will see how we can autoamte HAL job (Flow diagram) If you are loading a large number of members, HAL chokes if you don't automate it (.exe etc). Here are the steps one should follow to autoamate a HAL job. Step:1 Complete the flow diagram as shown below

Step:2 Drag and drop Window Executible from Palleate.

Step:3 Open the window executible. Go to Runtime Target tab. give the location of the flow diagram. Browse to the location, where you want to store the executible file.

Step:4 Check

Use file name as runtime target name Automatically Build when OK pressed.

Step:5 don't check anything in Flow Diagrams tab as shown below:

Step:6 Don't check anything in Management tab as shown below:

Step:7 In Logging tab give the location of your log file.

Step:8 Don't check anything in Profile tab as shown below:

Step:9 Check

Copy needed Vignette Business Integration Studio DLLs Run as Console application If you want status bar check that box

Step:10 Hit OK

Step :11 you will see your execution file in the list as shown below:

Step:12

you can give the location of executible file in your batch file and run it using scheduler like window scheduler.

Posted by Dornakal's-Hyperion-Blog at 3:32 PM Labels: Automation of HAL Load, HAL, Metadataload

Reaction s:

6 comments:
Anonymous said... hi Can u post the process of,backup of planning repository? Thanku in advance
March 11, 2009 10:28 AM

Anonymous said... Can u pls post sample businesrule n for what it was created. Thanku
March 11, 2009 4:03 PM

chinni said... Hi this is chinni.I urgenty need of the SDLC process of an essbase project plsssssssssss thanku in advance
March 12, 2009 1:25 PM

Dornakal's-Hyperion-Blog said... Hi Chinni, can you email me at [email protected] Thanks Dornakal


March 12, 2009 1:54 PM

Anonymous said... To backup Planning repository, export all HSP_xxxxx Oracle tables from the Oracle schema. Examples of HSP tables - HSP_Object, HSP_Group. Also, export Business Rules tables from HBR repository relational database. Here is example of Business Rule - it is same as calc script but you can use [variable] to prompt and limit members: FIX (&CurrFcst , "Working", "Local", "HSP_InputValue", [Department]) FIX(&FYofFcstQtr, &fcstmonth: Jan) "61100" ="61100_ex"+"61100_adj"; "15200" = "15200"+ "15200_new_calc" ; "61300" ="61300_calc"+"61300_adj"; : : : above HBR is used to total up accounts. [Department] is variable that is retrieved from Webform
March 13, 2009 4:13 PM

Dornakal's-Hyperion-Blog said... Thanks for taking time to post on backup of planning and business rule.
March 16, 2009 10:01 AM

Hyperion Planning Installation Steps

This document demonstrates step by step procedure to install Hyperion Planning Software. This includes the installation and configuration of Hyperion components and other relative software. First step is to download hyperion planning and related software from the following website http://edelivery.oracle.com/ After entering the details you will be directed to the page below. Select Hyperion performance management and BI.

Download the following products: 1. Hyperion Shared Services Release 9.3.1 Microsoft Windows x86 Installer English (V11229-01) 2. Hyperion Smart View for Office Release 9.3.1.2 Microsoft Windows x86 Installer ( V12736-01)

3. Hyperion Essbase - System 9 Release 9.3.1.3 Server Windows Installer (V14762-01) 4. Hyperion Essbase Administration Services - System 9 Release 9.3.1.3 Windows Installer-- (V14792-01) 5. Hyperion Planning - System 9 Release 9.3.1.1 All Platforms Installer English-V11378-01

After downloading the software. Extract the setup files from downloads and start installation. Make sure that you don't check Launch configuration utility in the last step in the first run.

As seen above. complete installation of all 5 products below with out launching configuration utility. Hyperion Shared Services Hyperion Essbase Hyperion Essbase Hyperion Essbase Administration Services Hyperion Planning - System 9 Release 9.3.1.1 Hyperion Smart View

The next step is to create relational databases or repositories for Shared Services EAS Planning System tables Planning Database I used sql server 2005 to create above repositories. After creating sql server repositeries, go to the server where you installed shared services and open Hyperion configuration utility from the start menu. we have to configure shared services first and then EAS and then planning.

The next step is to configure EAS. Open the foundation services on the server where you installed EAS and follow the procedure below:

Posted by Dornakal's-Hyperion-Blog at 11:28 AM

Labels: Hyperion Planning Installation and Configuration

Reaction s: 18 comments:
Ahamed said... Thanks for all your time and effort spent keeping this blog up to date.
May 5, 2009 4:52 PM

Dornakal's-Hyperion-Blog said... Hey Ahamed, Thanks for your comment. can you please advise me on the content for the future posts. with regards, Dornakal.
May 5, 2009 4:58 PM

Anu said... Thanks Dornakal.....Itz of gr8 help to all learning Planning.... Coluld you plzmake it as pdf & upload it.....
May 5, 2009 5:11 PM

mahesh said... Hi Dornakal; your posts are very helpful.

many thanks for posting the installation process of planning. long back i request you for installation of planning. Many thanks...
May 7, 2009 8:21 AM

Dornakal's-Hyperion-Blog said... Hi Mahesh, how are you. I remember your suggestion :-) I had to procure computer to install planning. Thanks for your comments. Please comment your suggestions so that I can post more based on your suggestions. have a great day.
May 7, 2009 9:07 AM

Dornakal's-Hyperion-Blog said... Hi Anu, I don't know whether I can post PDF in blog. I can make PDF document and mail you. please email me at [email protected]
May 7, 2009 9:08 AM

Anu said... Hi Dornakal, DO we need to install BI sevices for planning to function....Do we get the workspace UP if we dont Install BI.....
May 7, 2009 2:18 PM

Anu said... Dornakal, Could you post more tutorials on Planning.What does a developer do on a Planning project.... Appreciate your Effort.
May 7, 2009 2:21 PM

mahesh said... HI Dornakal, How are you? How do we know that there is no user connect to the planning server? Thanks; Mahesh
May 17, 2009 1:06 AM

Dornakal's-Hyperion-Blog said... Hi Mahesh, good morning. I am assuming that you are asking who is logged into planning application. you can check for this information in planning web application (front end) and look in view statistics. hope this helps.
May 18, 2009 8:51 AM

Anonymous said... Hi, Can i know how many Datasource i have to create in SQL totally. When i create an instance, im getting an error as stated below,

" System Failur: Error while retrievinf xml file from database" Please help me to resolve this. Thanks, Prabhu [email protected]
June 10, 2009 3:26 AM

Dornakal's-Hyperion-Blog said... Hi Prabhu, i passed through the same error, when i was installing the planning. what you need to do is to have mixed mode authentication for the sql repository, which you careate and also be careful with user name and password when you enter your repository information in your confi utility. if you have same error i can walk you through. you can reach me at [email protected] with best wishes, Dornakal.
June 15, 2009 3:21 PM

Anonymous said... Thats really a great effort to take the screen shots and helping the newbies.. Thanks for the initiative and hope we get more valuable inputs from your blog. I am checking if you could comeout something on writing calculation scripts and optimizing techniques. Thanks once again. Venkat
July 2, 2009 8:08 AM

mahesh said...

Hi Dornakal, How are you? i want know, How the planning unit related to enter the budget data into planning application. Can you please tell me that how the process inter related one another(i.e entering budget values and planning unit annotations). if possible explain with some example. Thanks, Mahesh.
July 20, 2009 3:17 AM

Bala said... Hi Dronakal, I am exactly following your steps, but i am facing some difficulty in the Essbase server configuration . Can you please eloberate the configuration of EAS . and is it necessary to install weblogic server prior to this step . My email id is [email protected] Thanks for all your help Your efforts are very much appritiated Balaji
July 24, 2009 11:03 AM

Manohar Singh Rana said... Hi Dornakal, How are you. You are doing a very good job. Thanks. Though I never installed Planning 9.3.1, I will try this. Can you also post how to proceed with planning from the point this post ends. Regards Manohar Rana

August 3, 2009 2:03 AM

Anonymous said... Very good site with valuable information. 1) I configured MSAD as user directory and "externalize users". 2) In Windows Server 2003 AD added user to MSSQL group. 3) SQL Server 2005 is "Mixed mode Authentication" 4) I see the Windows user in SQL Server. 5) Created databases using Windows user as dbo. 6) In config utility, for db username and password, left it blank. 7) When I was creating an instance for Planning, I got " System Failur: Error while retrieving xml file from database" Can this be due to Windows user? Do you have to use SQL Server authentication to create databases? Thanks, Devang
March 3, 2010 2:03 PM

Tamer Elbadawy said... Dears, I have a problem to run the workspace after installing and configuring the application. I'm sure that all services are up and running. I'm using the following URL to connect to the workspace : http://localhost:19000/workspace/index.jsp is it a correct URL or should I use another one. please help
May 13, 2010 7:50 AM

Post a Comment Links to this post

Error Codes

Hi All, you can find comprehensive list of error codes for essbase in the following website

www.EssbaseInfo.com

Error Codes
Hi All, you can find comprehensive list of error codes for essbase in the following website www.EssbaseInfo.com

How can I track changes in the outline?


You can use the OUTLINECHANGELOG setting in the ESSBASE.CFG file to capture outline changes. This setting logs all outline changes into the database_name.OLG file. The OUTLINECHANGELOG setting allows database administrators to review the outline revision history and gather enough information to roll back changes if needed. Example: OUTLINECHANGELOG TRUE FALSE TRUE Essbase logs outline changes into the file database_name.OLG. FALSE Essbase does not log outline changes. The default is FALSE.
Posted by Dornakal's-Hyperion-Blog at 9:47 AM Labels: Essbase

Reactions:

How to Delete Dimension from Hyperion Planning Application


If you create a custom dimension in planning and wish to delete it, here is how you might remove it from SQL manually. We recommend that only someone familiar with relational databases attempt this. Outlined below are the steps to remove a dimension from the Oracle relational store. The directions are for SQL, but the table names should be the same in Oracle. This procedure should only be performed by your SQL or Oracle DBA. BE SURE YOU HAVE A BACKUP OF YOUR APPLICATION BEFORE ATTEMPTING THIS PROCEDURE. You will need to delete all the children first, then the dimension. If you have the dimension in forms, you may also need to (after step 5) go into the hsp_formobj_def_mbr table and delete all references of that object ID. Then delete the dim id in the hsp_form_layout table.

Recycle services of Planning.

The following assumptions are being made about the dimension: * * * * * No forms have any references to the dimension. Any and all attribute dimensions have been removed from the dimension. Any and all members have been removed from the dimension. All security access has been removed from dimension. Any Alias associated with the dimension has been removed.

In this example we have created a dimension called Dummy Dimension. 1. Open the Enterprise Manager for SQL server 2. Open the database that has your planning application 3. Open the table HSP_OBJECT 4. You need to find the row that has the dimension name you want to delete: 5. Take note of the OBJECT_ID in my example it is 50051, don't delete it yet. 6. Open the table HSP_MEMBER 7. Find and delete any rows that have a MEMBER_ID equal to the OBJECT_ID from step 5. 8. Close the Table HSP_MEMBER 9. Open the table HSP_MRU_MEMBERS. 10. Find and delete any rows that have a DIM_ID equal to the OBJECT_ID from step 5. 11. Close the table HSP_MRU_MEMBERS. 12. Open the table HSP_DIMENSION 13. Find and delete any rows that have a DIM_ID equal to the OBJECT_ID from step 5. 14. Close the table HSP_DIMENSION 15. Also delete it's reference from the HSP_UNIQUE_NAMES table. 16. Delete the row in the HSP_OBJECT table that you found in step 4. 17. Close the HSP_OBJECT table. 18. Open Essbase Application Manager for the application and remove the dimension from the necessary Essbase outlines. 19. Restart the application server. Now when you open the application in Planning the dimension will be removed. The next step is to perform a refresh to make sure planning and Essbase are in sync.
Posted by Dornakal's-Hyperion-Blog at 5:23 PM Labels: Delete Dimension in Hyperion Planning

Reactions:

Hyperion Essbase Overview

please find some Q&A, which provide you with essbase overview. What is Essbase OLAP server? An OLAP server is a multidimensional database for storing data with an unlimited number of dimensions such as time, region, accounts, channel or products. Essbase server manages analytical data models, data storage, calculations, and data security. What are the Essbase Application tools? Applications tools are used for extending Essbase applications Spreadsheet Add-in Smart view for Microsoft applications Currency Conversion Essbase SQL interface Essbase Application Programming Interface (API) What is Partitioning? Copying a slice of a large database to work with it locally, or link from your database directly to other databases. What is a Hybrid Analysis? Hybrid analysis integrates relational databases with Essbase databases to combine the size and scalability of the relational database with conceptual power and analytical capabilities of the multidimensional Database. What are administrative requests and client requests? Administrative requests such as Logging in and logging out Starting and stopping applications and databases, Viewing users security information are handled by the Essbase server agent Client requests such as Data loads Spread sheet reports Data lock and unlock are handled by the application server (ESSVR) What is the use of multidimensional database such as Essbase? Multidimensional database supports multiple views of data sets for users who need to analyze the relationships between data categories.

For example marketing analyst needs detailed information in different view than the manager. Multidimensional DB consolidates and calculates data to provide different views. Only Database outline, the structure that defines all elements of the DB, limits the number of views With the multidimensional DB users can pivot the data to see information from different view point, drill down to find more detailed information or drill up to see an over view. Relational database have more data and have all transactions information. Whereas the Essbase has limitations on data which it can hold. In Essbase the filters (security) can be given until the data cell value. Whereas in RDBMS the security can be given only until table view. In RDBMS we can see only one view. What are Standard dimensions? Standard dimensions are those which represent the core components of the business plan an often relate to the departmental functions Examples of standard dimensions are as follows Time Accounts Products Market Dimension Dimensions are static in most databases. DB dimensions rarely change over the life of an application. What is an Outline? Outline is the structure that defines all elements of the Database. It dictates how data is to be stored into the database. Outline defines the structural relationship between the members in DB. Organizes all data in the DB Defines consolidations and mathematical relationships between members It defines type of dimensions. Aliases, member formulas etc. The order of the outline is that how dimensions are arranged is as follows: Dense dimensions followed by sparse dimensions followed by Attribute dimensions. How do you order the Outline? All the attribute dimensions should be placed at the end of the outline. Dense dimensions should be placed in the first then followed by the sparse dimensions The order determines How quickly calculations are run How long it takes users to retrieve information

The order of the outline for query performance Dense Most queried Sparse Least queried Sparse Most queried Attribute Least queried Attribute The order of Outline for Calculation time Dense Smallest Sparse dimension Largest Sparse Smallest Attribute Largest Attribute

What is the highest level of consolidation in the outline? Dimension Is there any limitation on number of members? No. Essbase does not limit the number of members within a dimension and allows you to add new members as needed.

Parent is a member, which has a branch below it. Child is a member, which has a parent above it. Siblings are the child members of same immediate parent, at the same generation. Descendants are all members in branches below a parent. Ancestors are all members in above a member. Root is a top member in a branch. Leaf member has no children. Generation number refers to the consolidation levels within a dimension. Level also refers to a branch within a dimension. What is a cell/data value? A data value is defined by the intersection of all standard dimensions in the database. What is the maximum number of values in the database? Product of members in each dimension

Why do we need to have classification as dense and sparse dimensions? As the data is no smoothly and uniformly distributed and data does not exist for the majority of members. Essbase speeds up data retrieval while minimizing the memory and disk requirements. A sparse dimension is a dimension with a low percentage of available data positions filled. A dense dimension is a dimension with a high probability that one or more data points are occupied in every combination of dimensions. What are the two types of internal structures in Essbase? Data blocks Index system The two types of internal structures are to store data and access data. What is a Data block? Data block is a cube created for each unique combination of sparse standard dimension members (provided that atleast one data value exists for sparse member combination). The Data block represents all the dense dimension members for its combination of sparse standard dimensions. Its size depends on number of dense dimensions. How does Essbase calculate the data? Top down order What is an Index entry? The index entry provides a pointer to the data block Essbase creates Index entry for each data block. The index entry represents the combinations of sparse standard dimensions. It contains an entry for each unique combination of sparse standard dimension members for which atleast one data value exists. What happens if you make all dimensions sparse? Data blocks are created for each unique combination of sparse standard dimension members. Thus a large number of dense blocks are created, and thus a huge index containing pointers (or addresses) for all those data blocks. Huge index consumes large amount of memory. The more index entries the longer

Essbase searches to find a specific block. What happens if you make all dimensions dense? Only one huge sparse block is created with only one index entry. This block is very sparse. This configuration requires thousands of times more storage than other configurations. Essbase need to load the entire data block into memory when it searches for a data value, which requires enormous amounts of memory. What is the Design Process? Analyze business needs and plan the database Define the database outline Check the system requirements Load the test data into the database Define calculations Define reports Verify with the users Repeat the process What are the different types of data sources? Flat files (column formatted) Spreadsheet files Any RDBMS files What is a shared member? The shared member concept lets two members with the same name share data. The shared member stores only pointer to the data contained in the other member, so the Essbase only stores the data once. Shared members should be in the same dimension. What dimension can be given time balance properties? Only accounts dimensions can be given time balance, expense reporting, and country and currency properties. What is the use of variance reporting? Variance reporting properties defines how Essbase calculates the difference between actual and budget data in members with @VAR, @VARPER functions in their member formula. Expense reporting (Budget-Actual) Non-Expense reporting (Actual-Budget) What is a Function? It is a predefined routine to carry on specific task or calculation.

What is a formula? Formulas are used to calculate relationships between members in the DB Outline. What is a dynamic Calc? When you tag a member as dynamic calc, Essbase calculates the combinations of the member only when user retrieves data, instead of pre calculating member combinations during the regular DB. Dynamic calc shorten the regular calc time, but may increase the retrieval time for dynamically calculated data values.

What are the advantages of Dynamic calc? Low disk space Reduced database restructure time Reduced back up time Optimum regular calculation time What are the members for which Two-pass calculations can be given? Accounts Dynamic calc Dynamic calc and store How does a user can view data? Spread sheet Printed reports Reports published on web web analysis smart view

Can you load data or calculate data on client machine? No. Applications and Databases created on client machine are used only to store database objects, such as outlines and calc scripts. You cannot load or calculate data on a client machine. What are Database Objects? Files that are related to databases are called Objects. Common types of objects are: Database Outlines (.OTL)

Report Scripts (.REP) Calculation Scripts (.CSC) Data Load rules and Dimension build rules (.RUL) Data sources Security definitions LROs (Linked Reporting Objects) Partition definitions What is a rule file? Data load rules are set of operations that Essbase performs on the data from external data source file as it is loaded, or copied into the Essbase database. Specifying the data load rules is the most common way to load data into the Database. Dimension build rule files create or modify an outline dynamically based on the data in the external source file. What is a calculation script? Calc script is a text file with set of instructions telling Essbase how to calculate data in the database. It has . csc extension. What is a Report script? Report script is a text file with a set of instructions on data retrieval, formatting and output to create a report from the database. Report script has .REP extension. What is a Linked Reporting Object (LRO)? A LRO is an object associated with a specific data cell in the Essbase database. A LRO can any of the following: A paragraph of descriptive text ( cell note). A separate file that contain text, audio, video or graphics. An URL (Uniform Resource Locator). A link to data in another Essbase database. What are .EQD files? Within spreads sheet add-in, users can create queries using query designer (EQD). Users can save the reports in the form of queries (.EQD files) What are .sel files? With the spreadsheet add-in, users can define member retrievals with the member select feature. If users want to save member select specification, they can do so with a .sel file.

How can you create a database? Application manager file>new>database Essbase administrative services console ESSCMD (CREATE DB) Maxl (create database) Application and database names should be less than 8 characters. create application------maxl CREATEAPP------------ESSCMD What is annotating database? It is a database note that can provide useful information in the situations where you need to broadcast messages to users about status of the database deadlines for updates and so on Select database>set note

What are substitution variables? Substitution variables act as global placeholders for the information that changes regularly. Each variable has a value assigned to it. The value can be changed at any time by the DB designer, thus manual changes are reduced. Ex :- currmnth. You cannot use the substitution variables in formulae that are applied to the DB outline. The value of the substitution variable cannot be more than 256 characters. Substitution variables can be used only in Calculation scripts Report scripts Spread sheet add-in SQL interface Server>substitution variable Maxl (for creating/deleting/updating) Alter system Alter application Alter db

ESSCMD CREATE VARIABLE DELETE VARIABLE UPDATE VARIABLE What is a location alias? A location alias maps an alias name for a DB to the location of that DB. You can use location aliases only with the @XREF function. With @XREF function you can retrieve data value from another database to include in calculation in the current database. In this case, the location alias points to the database from which the value to be retrieved. Database>location aliases Create Maxl ----------------------create location alias ESSCMD----------------CREATE LOCATION Edit /Delete Maxl display location alias drop location alias ESSCMD LIST LOCATIONS DELETE LOCATION What happens if you open outlines in two instances? If you open same outline with two instances of application manager using same login id, each save will overwrite the changes of the other instance. Copying database Database > copy Maxl create database as ESSCMD COPYDB What are important points while building an outline? All members and alias names should be unique; Only one dimension should be tagged as accounts, time, currency type and country; Level 0 members cannot be label only; Level 0 members cannot be assigned formulae but dynamic calc members of standard dimensions may have formula; Dynamic calc should not have more than 100 children;

Boolean attribute dimensions have only two members. What are the restructuring options in saving database? All data Level 0 data (when all data in the outline is at level 0) Input data (when you load data into non level 0 members) Discard all data (when you expect to reload data or when outline is radically changed that no existing data applies) How do you set dense and sparse settings? Settings>data storage Data dictionary button You must set the standard dimensions with which you plan to associate attribute dimension as sparse because attributes can only be associated to sparse standard dimensions. Application manager automatically sets attribute dimensions as sparse. How do you rename members? Data dictionary button Edit>properties Manually When does a DB restructure? When you add, delete, or move non-attribute (standard) dimensions or members, Essbase restructure DB and you must recalculate your data. What is Metadata? Metadata is data is data about data. Metadata is the data contained in the database outline that describes the values within a DB. Ex: East>New York>cola>sales>10000 East>New York>cola>sales> is metadata What are different types of dimension tags? Time Accounts Country Currency

Attribute Can you add time members that are not tagged as time? Yes When do you give an accounts tag to a dimension? You can tag a dimension as accounts if it contains items that you want to measure such as profit or inventory. Time dimension tag says how often you collect and update data. The time dimension enables several accounts dimension functions such as first and last time balances. What is the significance of time balance properties? When you set a time balance property on a member in an accounts dimension, it affects how Essbase calculates the parent of that member in the time dimension. TB FIRST (The parent value is the value of the first member in the branch) TB LAST (The parent value is the value of the last member in the branch) TB AVG (The parent value represents the average value of the children) TB NONE (default; rolls up parents in the time dimension in the usual way) Skip Properties None Missing Zeros Missing and zeros Skip properties, expense reporting, Time Balance properties are applicable only to the accounts dimension.

What is a Two-Pass calculation? By default Essbase calculates outlines from the bottom up first calculating the values for children and then values for parent. Sometimes however the values of children depend may be based on the values of parent or the values of other members in the outline. To obtain correct values for these members, Essbase must first calculate the outline and then recalculate the members that are dependent on the calculated values of the other members. The members that are calculated on the second pass through the outline are called Two-Pass Calculation. Only accounts, dynamic calc, dynamic calc and store members can be given two pass calculation.

Edit>properties Data dictionary button What does the consolidation properties do? Member consolidation determines how children roll up into their parents. Default (+) operator. Essbase dont use consolidation properties for attribute dimensions. Essbase automatically tags members of the attribute dimensions as dynamic calc. you cannot change this setting. When do you use label only? When no data is associated with members we use label only. They are used only to ease navigation and reporting from the spread sheet add-in. You cannot associate attributes to label only. If you tag label only to the base member, which has, attributes associated with it, Essbase removes attributes and displays a warning message
Posted by Dornakal's-Hyperion-Blog at 4:07 PM Labels: Essbase Overview, Hyperion Essbase BSO, Hyperion Essbase Interview questions, Important Points in Hyperion Essbase

Reaction s: 1 comments:
Anonymous said... Essbase objects .. like reports is not .RUL . please correct that question. FYI Rule file is .RUL
October 22, 2009 12:27 AM

Fragmentation in Essbase (BSO)

What is Fragmentation?

Fragmentation is unused disk space.

When does Fragmentation occur?

Fragmentation is likely to occur with the following:


Read/write databases that users are constantly updating with data Databases that execute calculations around the clock Databases that frequently update and recalculate dense members Data loads that are poorly designed Databases that contain a significant number of Dynamic Calc and Store members Databases that use an isolation level of uncommitted access with commit block set to zero

How can you measure fragmentation?

You can measure fragmentation using the average clustering ratio or average fragmentation Quotient. Using the average fragmentation quotient Any quotient above the high end of the range indicates that reducing fragmentation may help performance, with the following qualifications:
The reported value of the Fragmentation Quotient is more accurate when there are no other write transactions running on the database. For databases less than 50 MB using the Direct I/O access mode, the fragmentation quotient tends to be high. A high fragmentation quotient does not necessarily indicate a need to reduce fragmentation, because the free space is created in 8 MB chunks and all of it might not get used right away.

Database Size Small (up to 200 MB)

Fragmentation Quotient Threshold 60% or higher

Medium (up to 2 40% or higher GB) Large (greater than 30% or higher 2 GB) Using the average clustering ratio: The average clustering ratio database statistic indicates the fragmentation level of the data (.pag) files. The maximum value, 1, indicates no fragmentation.

How do you can prevent and remove fragmentation?

You can prevent and remove fragmentation:


To prevent fragmentation, optimize data loads by sorting load records based upon sparse dimension members. For a comprehensive discussion of optimizing data load by grouping sparse members. To remove fragmentation, perform an export of the database, delete all data in the database with CLEARDATA, and reload the export file. To remove fragmentation, force a dense restructure of the database.
Posted by Dornakal's-Hyperion-Blog at 9:31 AM Labels: Essbase Database Optimization, Force Restructure, Fragmentation in Essbase

Reactions:

Correct Order of restarting planning services


If you are planning admin and had to restart planning services. here is the order you have to follow to restart. Stop Order Planning Service RMI registry AAS Start Order AAS RMI registry Planning Service

Screen shots of services shown below:

Posted by Dornakal's-Hyperion-Blog at 10:19 AM 1 comments Labels: Order of restarting planning services

Links to this post

Reactions:

Smart View retrieve Error


One of my Business user recieved an error when she was running Smart view query, which had lot of attributes in her retrive sheet. The error she received is as follows: "The request timed out. Contact your administrator to increase netRetrycount and netRetryInterval" Eventhough I increased NetDelay and NetRetrycount in essbase.cfg, but that does not resolve this problem. She was using IE7 on XP SP3. Here is the reason and resolution for the issue: By design, Internet Explorer imposes a time-out limit for the server to return data. The time-out limit is five minutes for versions 4.0 and 4.01 and is 60 minutes for versions 5.x and 6. Also, the time-out limit is 30 seconds for Windows Internet Explorer 7. As a result, Internet Explorer does not wait endlessly for the server to come back with data when the server has a problem. Apparently the query which the user was running takes around 45 seconds. The IE7 time out setting was causing it to error out. we need to change (add) three new registry keys to resolve the issue. 1. Open the Registry (Start -> Run -> Regedit) Locate the following section: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]\ 2. Create the following new keys for dword with decimal values: "ReceiveTimeout"=dword:00dbba00 "KeepAliveTimeout"=dword:00180000 "ServerInfoTimeout"=dword:00180000 3. Restart the machine for the new settings to take effect If the above settings does not make any difference and the version of SmartView is 9.3.1.2, it may need to upgrade SmartView 9.3.1.4 or higher version.

Here are the Screen shots for changing the registry settings. Right click and select DWORD (32-bit) value

Rename to KeepAliveTimeout

Right click and select Modify

Select Decimal and enter the following data 00180000

repeat the same process for other 2 keys

Validate whether you have right keys or not.

Posted by Dornakal's-Hyperion-Blog at 4:11 PM 1 comments Labels: Smart View retrieval error.

Links to this post

Reactions:

Hyperion Essbase Questions


How do you optimize outline? Usually the outline is optimized using the hourglass design for dimension ordering i.e, Dimension with Accounts tag Dimension with Time tag Largest Dense dimension Smallest dense dimension Smallest Sparse dimension Largest Sparse dimension What are the ways to improve performance during data loads? There are several ways to optimize load 1. Grouping of Sparse member combinations 2. Making the data source as small as possible 3. Making source fields as small as possible 4. Positioning the data in the same order as the outline

5. Loading from Essbase Server 6. Managing parallel data load processing What are the design considerations for calculation optimization? You can configure a database to optimize calculation performance. The best configuration for the site depends on the nature and size of the database. Block Size(8Kb to 100Kb) and Block Density Order of Sparse Dimensions Incremental Data Loading Database Outlines with Two or More Flat Dimensions Formulas and Calculation Scripts When does Fragmentation occur? Fragmentation is likely to occur with the following: Read/write databases that users are constantly updating with data Databases that execute calculations around the clock Databases that frequently update and recalculate dense members Data loads that are poorly designed Databases that contain a significant number of Dynamic Calc and Store members Databases that use an isolation level of uncommitted access with commit block set to zero How can you measure fragmentation? You can measure fragmentation using the average clustering ratio or average fragmentation Quotient. Using the average fragmentation quotient Any quotient above the high end of the range indicates that reducing fragmentation may help performance Small (up to 200 MB) 60% or higher

Medium (up to 2 GB) 40% or higher Large (greater than 2 GB) 30% or higher Using the average clustering ratio: The average clustering ratio database statistic indicates the fragmentation level of the data (.pag) files. The maximum value, 1, indicates no fragmentation. How do you can prevent and remove fragmentation? You can prevent and remove fragmentation: To prevent fragmentation, optimize data loads by sorting load records based upon sparse dimension members. For a comprehensive discussion of optimizing data load by grouping sparse members. To remove fragmentation, perform an export of the database, delete all data in the database with CLEARDATA, and reload the export file. To remove fragmentation, force a dense restructure of the database. Why is database restructuring? As your business changes, you change the Essbase database outline to capture new product lines, provide information on new scenarios, reflect new time periods, etc. Some changes to a database outline affect the data storage arrangement, forcing Essbase to restructure the database. What are the types of database restructuring? The two ways by which a database restructure is triggered:

Implicit Restructures Dense restructure Sparse restructure Outline-only restructure Explicit Restructures

What are the conditions affecting Database restructuring? Intelligent Calculation, name changes, and formula changes affect database restructuring: If you use Intelligent Calculation in the database, all restructured blocks are marked as dirty whenever data blocks are restructured. Marking the blocks as dirty forces the next default Intelligent Calculation to be a full calculation.

If you change a name or a formula, Essbase does not mark the affected blocks as dirty. Therefore, you must use a method other than full calculation to recalculate the member or the database. What are the files used during Restructuring? When Essbase restructures both the data blocks and the index, it uses the files described essxxxxx.pag Essbase data file essxxxxx.ind Essbase index file dbname.esm Essbase kernel file that contains control information used for db recovery dbname.tct Transaction control table dbname.ind Free fragment file for data and index free fragments dbname.otl Outline file in which is defined all metadata for a database and how data is stored What are the actions that improve performance for restructuring? There are a number of things you can do to improve performance related to database restructuring: If you change a dimension frequently, make it sparse. Use incremental restructuring to control when Essbase performs a required database restructuring. Select options when you save a modified outline that reduce the amount of restructuring required. Which restructure operations are faster? These types of restructure operations are listed from fastest to slowest: Outline only (no index or data files) Sparse (only index files) Dense (index files and data files) as a result of adding, deleting, or moving members and other operations Dense (index and data files) as a result of changing a dense dimension to sparse or changing a sparse dimension to dense What is Implicit Restructures? Essbase initiates an implicit restructure of the database files after an outline is changed using Outline Editor or Dimension Build. The type of restructure that is performed depends on the type of changes made to the outline What is Explicit Restructures?

When you manually initiate a database restructure, you perform an explicit restructure. An explicit restructure forces a full restructure of the database. A full restructure comprises a dense restructure plus removal of empty blocks. What is Dense restructure? If a member of a dense dimension is moved, deleted, or added, Essbase restructures the blocks in the data files and creates new data files. When Essbase restructures the data blocks, it regenerates the index automatically so that index entries point to the new data blocks. Empty blocks are not removed. Essbase marks all restructured blocks as dirty, so after a dense restructure you need to recalculate the database. What is Sparse restructure? If a member of a sparse dimension is moved, deleted, or added, Essbase restructures the index and creates new index files. Restructuring the index is relatively fast; the amount of time required depends on the size of the index. What is Outline-only restructure? If a change affects only the database outline, Essbase does not restructure the index or data files. Member name changes, creation of aliases, and dynamic calculation formula changes are examples of changes that affect only the database outline. Explain the process of dense restructure? To perform a dense restructure, Essbase does the following: 1. Creates temporary files that are copies of the .ind, .pag, .otl, .esm, and .tct files. Each temporary file substitutes either N or U for the last character of the file extension, so the temporary file names are .inn, essxxxxx.inn, essxxxxx.pan, dbname.otn, dbname.esn, and dbname.tcu. 2. Reads the blocks from the database files copied in step 1, restructures the blocks in memory, and then stores them in the new temporary files. This step takes the most time. 3. Removes the database files copied in step 1, including .ind, .pag, .otl, .esm, and .tct files. 4. Renames the temporary files to the correct file names: .ind, .pag, .otl, .esm, and .tct. Explain the process of sparse restructure? When Essbase does a sparse restructure (restructures just the index), it uses the following files: essxxxxx.ind dbname.otl dbname.esm What is data compression?

Essbase allows you to choose whether data blocks that are stored on disk are compressed, as well as which compression scheme to use. When data compression is enabled, Essbase compresses data blocks when it writes them out to disk. Essbase fully expands the compressed data blocks, including empty cells, when the blocks are swapped into the data cache. Generally, data compression optimizes storage use. You can check compression efficiency by checking the compression ratio statistic. What are types of data compression? Essbase provides several options for data compression: 1. Bitmap compression, the default. Essbase stores only non-missing values and uses a bitmapping scheme. A bitmap uses one bit for each cell in the data block, whether the cell value is missing or non-missing. When a data block is not compressed, Essbase uses 8 bytes to store every non-missing cell. In most cases, bitmap compression conserves disk space more efficiently. However, much depends on the configuration of the data. 2. Run-length encoding (RLE). Essbase compresses repetitive, consecutive values --any value that repeats three or more times consecutively, including zeros and #MISSING values. Each data value that is repeated three or more times uses 8 bytes plus a 16 byte repetition factor. 3. zlib compression. Essbase builds a data dictionary based on the actual data being compressed. This method is used in packages like PNG, Zip, and gzip. Generally, the more dense or heterogeneous the data is, the better zlib will compress it in comparison to bitmap or RLE compression. 4. Index Value Pair compression. Essbase applies this compression if the block density is less than 3%.Index Value Pair addresses compression on databases with larger block sizes, where the blocks are highly sparse. zlib does not use this. 5. No compression. Essbase does not compress data blocks when they are written to disk When do you use RLE over Bitmap Compression? Use RLE over Bitmap When, Average block density very low (< 3%). Database has many consecutive repeating Values. When do you disable compression? You may want to disable data compression if blocks have very high density (90% or greater) and have few consecutive, repeating data values. Under these conditions, enabling compression

consumes resources unnecessarily. Don't use compression if disc space/memory is not an issue compared to your application. It can become a drain on the processor. What are data locks? Essbase issues write (exclusive) locks for blocks that are created, updated, or deleted, and issues read (shared) locks for blocks that should be accessed but not modified. By issuing the appropriate locks, Essbase ensures that data changed by one operation cannot be corrupted by a concurrent update. What is a transaction? When a database is in read/write mode, Essbase considers every update request to the server (such as a data load, a calculation, or a statement in a calculation script) as a transaction. What is transaction control file? Essbase tracks information about transactions in a transaction control file (dbname.tct). The transaction control file contains an entry for each transaction and tracks the current state of each transaction (Active, Committed, or Aborted). What is isolation level and what are the types of isolation levels? Isolation levels determine how Essbase commits data to disk. Essbase offers two isolation levels for transactions --committed access and uncommitted access (the default). What is commited access? When data is committed, it is taken from server memory and written to the database on disk. Essbase automatically commits data to disk. There are no explicit commands that users perform to commit data blocks. Talk about committed and uncommitted access? Committed: Committed at the end of a transaction. Data retained till then. All blocks in question locked. Pre-Image Access: If enabled, Read only access allowed Wait Times: Indefinite

Immediate Access or no Wait No. of Seconds Specified Uncommitted: Committed only at synchronization points. Block by Block Locks. Commit Row: No of rows of data loaded when Sync point occurs. Commit Block: No. of Blocks Modified when Sync Point occurs. For Rollback, Commit Row=0 and Commit Block=0 What are the advantages and disadvantages of using committed access? You can optimize data integrity by using committed access. Setting the isolation level to committed access may increase memory and time requirements for database restructure. Which transaction is always in committed mode? The Spreadsheet Add-in lock and Send and the Grid API are always in Committed Access Mode What are the memory caches used by Essbase to coordinate memory usage? Essbase uses five memory caches to coordinate memory usage 1. Index Cache 2. Data File Cache 3. Data Cache 4. Calculator Cache 5. Dynamic Calculator Cache What is Index cache? The index cache is a buffer in memory that holds index pages. How many index pages are in memory at one time depends upon the amount of memory allocated to the cache. What is Data file cache? The data file cache is a buffer in memory that holds compressed data files (.pag files). Essbase allocates memory to the data file cache during data load, calculation, and retrieval operations, as needed. The data file cache is used only when direct I/O is in effect. What is Data cache?

The data cache is a buffer in memory that holds uncompressed data blocks. Essbase allocates memory to the data cache during data load, calculation, and retrieval operations, as needed. What is Calculator cache? The calculator cache is a buffer in memory that Essbase uses to create and track data blocks during calculation operations. What is Dynamic calculator cache? The dynamic calculator cache is a buffer in memory that Essbase uses to store all of the blocks needed for a calculation of a Dynamic Calc member in a dense dimension (for example, for a query). What are the memory caches used by Essbase to coordinate memory usage? Essbase uses five memory caches to coordinate memory usage Index Cache: Min -1024 KB (1048576 bytes) Default - Buffered I/O : 1024 KB (1048576 bytes);Direct I/O : 10240 KB (10485760 bytes) Opt -Combined size of all essn.ind files, if possible; as large as possible otherwise.Do not set this cache size higher than the total index size, as no performance improvement results. Data File Cache: Min - Direct I/O: 10240 KB(10485760 bytes) Default -Direct I/O: 32768 KB(33554432 bytes)Opt -Combined size of all essn.pag files, if possible; otherwise as large as possible.This cache setting not used if Essbase is set to use buffered I/O. Data Cache:Min - 3072 KB (3145728 bytes) Default - 3072 KB (3145728 bytes) Opt 0.125 * the value of data file cache size. Calculator Cache:Min - 4 bytes Max: 200,000,000 bytes Default - 200,000 bytes Opt -The best size for the calculator cache depends on the number and density of the sparse dimensions in your outline. The optimum size of the calculator cache depends on the amount of memory the system has available. What is the structure of currency applications? In a business application requiring currency conversion, the main database is divided into at least two slices. One slice handles input of the local data, and another slice holds a copy of the input data converted to a common currency. Essbase holds the exchange rates required for currency conversion in a separate currency database. The currency database outline, which is automatically generated by Essbase from the main database after you assign the necessary tags, typically maps a given conversion ratio onto a section of the main database. After the currency database is generated, it can be edited just like any other Essbase database.

What are the three dimension that should be present in main database of currency application? The main database outline can contain from 3 to n dimensions. At a minimum, the main database must contain the following dimensions: A dimension tagged as time. A dimension tagged as accounts. A market-related dimension tagged as country.

What are the dimensions that should be present in currency database of currency application? A currency database always consists of the following three dimensions, with an optional fourth dimension: A dimension tagged as time, which is typically the same as the dimension tagged as time in the main database. A dimension tagged as country, which contains the names of currencies relevant to the markets (or countries) defined in the main database. A dimension tagged as accounts, which enables the application of various rates to members of the dimension tagged as accounts in the main database. A currency database, which typically includes an optional currency type dimension, which enables different scenarios for currency conversion. What are the conversion methods supported by Essbase for currency applications? Different currency applications have different conversion requirements. Essbase supports two conversion methods: Overwriting local values with converted values. Keeping local and converted values.

Either of these two methods may require a currency conversion to be applied at report time. Report time conversion enables analysis of various exchange rate scenarios without actually storing data in the database. What is the process to build a currency conversion application and perform conversions? To build a currency conversion application and perform conversions, use the following process: 1. Create or open the main database outline. 2. Prepare the main database outline for currency conversion. 3. Generate the currency database outline. 4. Link the main and currency databases. 5. Convert currency values. 6. Track currency conversions. 7. If necessary, troubleshoot currency conversion. What is CCONV? After you create a currency conversion application, you convert data values from a local currency to a common, converted currency by using the CCONV command in calculation scripts Ex: CCONV USD;CALC ALL; Can we convert the converted currency back into its local currency? You can convert the data values back to the original, local currencies by using the CCONV TOLOCALRATE command. When you convert currencies using the CCONV command, are the resulting data blocks are marked as dirty or clean?When you convert currencies using the CCONV command, the resulting data blocks are marked as dirty for the purposes of Intelligent Calculation. Thus, Essbase recalculates all converted blocks when you recalculate the database. What is CCTRACK? You can use the CCTRACK setting in the essbase.cfg file to control whether Essbase tracks the currency partitions that have been converted and the exchange rates that have been used for the conversions. By default CCTRACK is turned on. What are the reasons to turn off CCTRACK? For increased efficiency when converting currency data between currency partitions, you may want to turn off CCTRACK. For example, you load data for the current month into the local partition, use the DATACOPY command to copy the entire currency partition that contains the updated data, and then run the conversion on the currency partition. How can you turn off CCTRACK? You can turn off CCTRACK in three ways: Use the SET CCTRACKCALC ONOFF command in a calculation script to turn off CCTRACK temporarily Use the CLEARCCTRACK calculation command to clear the internal exchange rate tables created by CCTRACK. Set CCTRACK to FALSE in the essbase.cfg file. What is LRO (Linked reporting objects)? An LRO is an artifact associated with a specific data cell in an Essbase database. LROs can enhance data analysis capabilities by providing additional information on a cell.

An LRO can be any of the following: A paragraph of descriptive text (a "cell note") A separate file that contains text, audio, video, or graphics A URL for a Web site A link to data in another Essbase database How do you create LRO's? Users create linked objects through Essbase Spreadsheet Add-in for Excel by selecting a data cell and choosing a menu item. There is no limit to the number of objects you can link to a cell. The objects are stored on the Essbase Server where they are available to any user with the appropriate access permissions. Users retrieve and edit the objects through the Essbase Spreadsheet Add-in for Excel Linked Objects Browser feature, enabling them to view objects linked to the selected cell. Does adding or removing links to a cell does not affect the cell contents? No.LROs are linked to data cells --not to the data contained in the cells. The link is based on a specific member combination in the database. Give a few examples of LRO's? Ex1: A sales manager may attach cell notes to recently updated budget items. Ex2: A finance manager might link a spreadsheet containing supporting data for this quarter's results. Ex3: A product manager might link bitmap images of new products. Ex4: A sales manager may link the URL of a company's Web site to quickly access the info on the Web How does Essbase locate and retrieve linked objects? Essbase uses the database index to locate and retrieve linked objects. If you clear all data values from a database, the index is deleted and so are the links to linked objects. If you restructure a database, the index is preserved and so are the links to linked objects. Do shared members share LRO's? Shared members share data values but do not share LROs. This is because LROs are linked to specific member combinations and shared members do not have identical member combinations. To link a given object to shared members, link it to each shared member individually.

Can you change the member combination associated with any linked object? You cannot change the member combination associated with any linked object. To move an object to another member combination, first delete it, then use Essbase Spreadsheet Addin for Excel to re-link the object to the desired member combination. Why do we need to limit the LRO file sizes for storage conversion? Because Essbase stores linked files in a repository on the server and, by default, the size is unlimited. Limiting the file size prevents users from taking up too much of the server resources by storing extremely large objects. You can set the maximum linked file size for each application. If a user attempts to link a file that is larger than the limit, an error message displays. The maximum file size setting applies only to linked files and does not affect cell notes or URLs. The lengths of the cell note, URL string, and LRO descriptions are fixed.

What is partitioning? A partition is the piece of a database that is shared with another database. An Essbase partitioned application can span multiple servers, processors, or computers. What is Essbase Partitioning? Essbase Partitioning is a collection of features that makes it easy to design and administer databases that span Essbase applications or servers. Partitioning is licensed separately from Essbase. What are the types of Partitions available in Essbase? Three types of partitions are there. 1. Transparent partition: A form of shared partition that provides the ability to access and manipulate remote data transparently as though it is part of your local database. The remote data is retrieved from the data source each time you request it. Any updates made to the data are written back to the data source and become immediately accessible to both local data target users and transparent data source users 2. Replicated Partition: A portion of a database, defined through Partition Manager, used to propagate an update to data mastered at one site to a copy of data stored at another site. Users can access the data as though it were part of their local database.

3. Linked Partition: A shared partition that enables you to use a data cell to link two databases. When a user clicks a linked cell in a worksheet, Essbase opens a new sheet displaying the dimensions in the linked database. The user can then drill down those dimensions. What is the process for designing a partitioned database? Here is the suggested process for designing a partitioned database. 1. Learn about partitions. 2. Determine whether the database can benefit from partitioning. 3. Identify the data to partition. 4. Decide on the type of partition. 5. Understand the security issues related to partitions. What are the parts of partition? Partitions contain the following parts, Type of partition: A flag indicating whether the partition is replicated, transparent, or linke Data source information: The server, application, and database name of the data source. Data target information: The server, application, and database name of the data target. Login and password: The login and password information for the data source and the data target. Shared areas: A definition of one or more areas, or sub cubes, shared between the data source and the data target. Member mapping information: A description of how the members in the data source map to members in the data target. State of the partition: Information about whether the partition is up-to-date and when the partition was last updated. What are benefits of partitioning?

Partitioning applications can provide the following benefits: Improved scalability, reliability, availability, and performance of databases Reduced database sizes More efficient use of resources Data synchronization across multiple databases. Outline synchronization across multiple databases. Ability for user navigation between databases with differing dimensionality. Can you define different types of partitions between the same two databases? No

Can a single database serve as the data source or data target for multiple partitions? Yes

What is overlapping partition? An overlapping partition occurs when similar data from two or more databases serve as the data source for a single data target in a partition. Is overlapping partition valid in all the partitions? An overlapping partition is allowed in linked partitions, but is invalid in replicated and transparent partitions and generates an error message during validation. When do you use substitution variables in partitions? Using substitution variables in partition definitions enables you to base the partition definition on different members at different times. Can we use attribute values to partition a database? Yes,You can use attribute functions for partitioning on attribute values. But you cannot partition an attribute dimension.

Can we partition an attribute dimension? No, we cannot partition an attribute dimension. What is the limitation on version and mode during partition? Both ends of a transparent, replicated, or linked partition must be on the same release level of Essbase Server. For example, if the source of a linked partition is on a Release 7.1.2 server, the target must also be on a Release 7.1.2 server. In addition, for transparent and replicated (but not linked) partitions, the application mode of both ends of the partitions must be the same--either Unicode mode or nonUnicode mode. What are the major difference between ASO & BSO? If we have more dimensions (generally more than 10) then we will go for ASO that simply rollup If we have less dimensions then we will go for BSO We cannot write back in ASO we can write back in BSO Most of the dimensions are sparse in ASO Most of the dimensions are dense in BSO What is "Enterprise Analytics"? ASO in System 9 is called Enterprise Analytics. Explain in detail about the features of ASO? ASO databases are created specifically to deal with the requirements of very large sparse data sets with a high no of dimensions and potentially millions of members. ASO do not have indexes or data blocks. ASO do not use calculation scripts. Bcoz calculations are not complex. ASO uses a new kind of storage mechanism that allows improved calculation times from 10 to100 times faster than BSO. ASO can store up to 252 dimensional combinations. The front end tools usually do not care if the database is ASO or BSO. Even Maxl sees minor differences. We can have attribute dimensions in ASO. In ASO there is no concept as dense and sparse dimensions. We do not have two pass logic and built in time balance functionality.( time balance functionality is present from 9.3 version onwards). Member formulas are not supported in stored hierarchies. Only non consolidation (~) and addition (+) operators are supported in shared hierarchies. We cannot create more than 1 database in ASO. ASO does not utilize procedural calculation scripts. ASO formulas are written in MDX syntax. ASO has Accounts dimension but it is completely different from the account dimension of BSO. ASO is read-only. You cannot write to ASO databases, but there is a workaround using transparent partitions and pointing to an attached BSO database for those duties. You can load data to level zero members only. The database must restructure after any members in the standard dimensions are added ,deleted or moved. In fact most actions on an ASO outline will either cause a loss of data or restructure.

How do you differentiate ASO applications? You can easily differentiate the ASO database in the Administrative Services Console by the red star beside the application name. How do you create an ASO application? ASO has two types of hierarchies: stored and dynamic. The dimension can contain both types of hierarchies (if you enable multiple hierarchies).Other properties that need to be set for dimensions and members include Dimension Type Data Storage(store, never share, label only) Member solve order Alias You can add dimensions using the visual editor or the rules files. Unlike in block storage ASO does not allow you to preview the outline changes. If you are unsure of the build file, make a backup of your outline before running the new build rule. For ASO databases after the data values are loaded into the level 0 cells of an outline, the database requires no separate calculation step. For retrieving from the ASO database, retrieve and analyze just as in BSO database. How do you create an ASO database using ASO Outline Conversion Wizard ? You can also create an ASO database using ASO Outline Conversion Wizard. This wizard uses the existing BSO database to convert to an ASO database. This is advantageous because we do not need to create an ASO database from the Scratch. However we need perform reengineering of dimensions and hierarchies. How do you create ASO in the Automated Way? The final way of creating an ASO application is by using "Create Application" , "Create Database" ,"Create Outline " commands using MaxL. Typically this method is used when you are running the MaxL command as a part of the batch job. **Unicode is supported for BSO databases only. **Data Mining is not supported by ASO databases. **MDX is the only mechanism for defining member calculations in databases. Unicode applications use UTF-8 encoding form to interpret and store character text, providing support for multiple character sets. To set up a Unicode application 1. Setup a computer for Unicode support by doing one of Install the for that supports UTF-8 encoding

Install a Unicode editor 2. Set the Essbase server to Unicode Mode via Administrative Services or MaxL. 3. Check the Unicode box when creating a new Unicode -mode application. 4. You can also migrate from non-Unicode applications to Unicode applications (but not the other way round). Report Scripts are outdated but still can be helpful when extracting subsets of data from Essbase for online backups or feeding into other systems. The Wizards Tab of Administrative Services Console menu has the following components 1. Migration 2. Aggregate Storage Outline Conversion 3. Aggregate Storage Partition 4. User Setup 5. Data Mining Wizard
Posted by Dornakal's-Hyperion-Blog at 4:46 PM 2 comments Links to this post

Reactions:

You might also like