while designing data forms below are some of the steps to keep in mind in HPB while development or this may lead to performance issue as well as Data retrieval.
- Keep dense dimensions in rows and columns.
- Place sparse dimensions in the Page and Point of View (POV).
- Place static dimensions in POV and hide these dimensions where not relevant to the form.
- Place Scenario, Version, and Year dimensions in the Page wherever possible.
- Use dynamic user variables and substitution variables as much as possible.
- Use Run on Save and Run on Load for business rules on data forms only where business rules can complete execution within a short timeframe (say less than 30 sec.). All other business rules should be set to launch manually.
- For Planning release 9.3.1 and later, set long-running business rules to run in the background. See the Hyperion Planning Administrator’s Guide for details on these settings.
- Limit composite data forms to two data forms where possible
- Use the Suppress Missing Data option to skip #MISSING values from resultant data forms.
- Split single larger data forms into multiple smaller data forms with fewer rows and columns.
- Minimize using account annotations on data forms.
- For Planning release 9.3 and later, enable the Mass Allocate feature on data forms only where absolutely necessary. This feature runs calculation scripts that can impact data values at intersections to which the end user may not have access.
Optimal Design Example
Columns: Time Period
Page/POV: Entity and other dimensions.
Sub-optimal Design Example
Page/POV: Account, Time Period, and other dimensions.
- The Run on Save and Run on Load calculation options place an additional demand on resources within the Essbase server for each save or load operation performed by end users. If it is necessary to use Run on Save or Run on Load, runtime prompts should be used to restrict the scope of the calculation and minimize the impact on users of the Essbase server.
- Review the Hyperion Planning Administrator’s Guide for steps that detail the execution of large calculations in batch mode. For example, you can set Planning properties to have business rules switch to background processing after a threshold that you configure. In addition, you can run business rules in batch mode using the options under Tools > Business Rules.
- When users access data form members that are dynamically calculated or have member formulas, an additional load is placed on the Essbase server. The impact is more acute during heavier user load.
- The biggest impact on data form performance is the grid size. Grid size consists of the number of rows, multiplied by the number of columns. The grid size doubles if an application uses multiple currencies.
- Adjust the number of cells retrieved to the memory on end users’ client machines. To determine the number of cells, multiply the number of rows by the number of columns.
- The Suppress Missing Blocks option for rows allows placing large sparse dimensions in rows, while providing good response time if the density of the query is low. Only blocks with data are retrieved. For example, when using this option, you can place an employee dimension consisting of thousands of members in the rows, and place the entity in the page or POV. Then, only employees of the selected entity are retrieved.
- Using Suppress Missing Data can improve performance. Before using this feature however it is recommended that you test the impact on performance.
- Using account annotations impacts performance. Use this option only if account annotations are required.
- If the Supporting Detail Detection Cache reaches 75% or higher, the cache size should be increased.
- Enabling shared member security impacts performance. Use this option only if you want the base member’s security to be based on its own security and that of all of its shared members. If this option is not enabled, users with access to the base member still have access to all of its shared members.
- The administrator should define data forms using dynamic user variables, to narrow the data form display to the dimensionality required by users. End users can set the value for the user variable in preferences. Review the Hyperion Planning Administrator’s Guide for these settings.
- For areas with low bandwidth, it is recommended that users access Planning data forms using Smart View for Office for faster response time.
- When Planning is first loaded, the first few requests to Planning can take longer because caches might not be loaded. It is recommended that an administrator or power user pre-load the most commonly used data forms before the general community uses the Planning server after each reboot to the Planning server.
- It is highly recommended that administrators conduct performance tests on data forms to ensure that they meet user expectations. Data forms should be tested in both single and multi-user environments before they are deployed to production.
- Data form definitions are cached when users log on to a Planning application. Because one cache is created for data form definitions, memory usage is not affected by the number of users viewing data forms. However, memory usage goes up if multiple users enter data in data forms at the same time.
Data Form Size Estimation
To get a rough estimate of data form size, open the data form and select File > Save As from the browser. The size of the .HTML file is the portion of the data form that changes based on grid size. The .JS files remain the same size and can be cached, depending on browser settings. Information such as data form definitions, pages, and .gif files are not compressed when data forms are opened and sent to the Web browser.
Planning follows this basic sequence to suppress information in data forms, depending on suppression settings for Suppress Missing Blocks and Suppress Missing Data.
1. First, Planning evaluates the data form definition and creates a grid to send to Essbase.
2. If Suppress Missing Blocks is selected for data form rows:
a. Planning queries Essbase to determine which members in the data form definition have data blocks. This query typically takes only a few milliseconds. (This setting is most effective for sparse dimensions, and should not be used for dense dimensions.)
b. Planning then determines which members have data blocks available in Essbase, and filters out members for which the user does not have access permissions.
3. Next, Planning constructs a grid, and sends information to Essbase to fill in the data. (The constructed grid is generally very small, so the result is returned quickly from Essbase.)
4. If Suppress Missing Data is selected, Planning suppresses data for any #MISSING data element. (This operation generally occurs quickly. However, if a large volume of data is set to #MISSING, or blocks are created but have no data, this can take some time.)
5. Planning then queries the relational database, and marks every cell to show whether it has supporting details and cell text.
6. The Web data form is then presented to the user.