8 Manage Application and Cube Artifacts and Settings

You can manage many application and cube artifacts and settings in the Essbase web interface.

Topics:

Name Generations and Levels

You can create your own names for generations and levels in an outline, using a word or phrase that describes the generation or level. For example, you might create a generation name called Cities for all cities in the outline. You can define only one name for each generation or level.

Use generation and level names in calculation scripts wherever you need to specify either a list of member names or a list of generation or level numbers. For example, you can limit a calculation in a calculation script to the members of a specific generation.

Data Visualization displays generation names, while in Smart View, you use dimension names for browsing.

  1. On the Applications page, expand <yourapplication>.
  2. From the Actions menu, to the right of the cube name, click Inspect.
  3. In the inspector, select the Dimensions tab.
  4. On the Dimensions tab, select the dimension in which you want to name generations or levels.
  5. Click a generation or level name to enable editing of that field.
  6. Enter a generation or level name.
    <yourapplication> already has generation and level names, but you can change them if you want to.
  7. Click Save.

Generate Aggregate Views Automatically

For aggregate storage cubes, you can automate the creation and maintenance of default aggregate views.

In Essbase releases prior to 19C, default aggregate views were created by Essbase using internal analysis based on data sampling. Starting in Release 19C, a new algorithm is used for selecting default views, based on database metadata analysis.

If you use the view-selection algorithm based on database metadata analysis, it enables Essbase to perform automatic default aggregate views selection, build, and maintenance. When you select to use automatically generated aggregation views, query performance can improve. It also impacts data load time and increases the amount of disk space used by data, because right after a data load, aggregate views will be built (or updated, in the case of existing views).

To automate default aggregate view generation and management, set the METADATABASEDAGGVIEWSBUILD configuration to AUTO (in Release 21C or later), or set the DEFAULTVIEWBUILD configuration to TRUE (in Release 19C). If enabled, aggregation views will be generated automatically based on qualifying criteria, or on-demand (when the execute aggregate selection MaxL statement is run).

For details about the qualifying criteria, see METADATABASEDAGGVIEWSBUILD (for 21C) or DEFAULTVIEWBUILD (for earlier releases).

To control the size of the resulting aggregate views, add the additional application configuration setting DEFAULTVIEWBUILDSIZE, and set its value to the desired total size ratio. For example, DEFAULTVIEWBUILDSIZE AsoSamp 1.2 limits the resulting growth of the aggregated cube to no more than 20% of its size prior to the aggregation.

Set Advanced Cube Properties

If the current cube is a block storage cube, then you can select whether to enable the following options:

  • Aggregate missing values: If you never load data at parent levels, selecting this option may improve calculation performance. If this option is selected and you load data at the parent level, then the parent-level values are replaced by the results of the cube consolidation, even if the results are #MISSING values.
  • Create blocks on equations: If this option is selected, then when you assign a non-constant value to a member combination for which no data block exists, a data block is created.

    Selecting this option can produce a very large cube.

  • Two-Pass calculation: If this option is selected, then after a default calculation, members that are tagged as two-pass are recalculated.
  1. On the Applications page, expand the application.
  2. From the Actions menu, to the right of the cube name, click Inspect.
  3. Select the Settings tab.
  4. Select Calculation.
  5. Select the options that you want.
  6. Click Save.

Unlock Objects

Essbase uses a checkout facility for cube objects (such as calculation scripts, rules files, and outlines). Objects are locked automatically when they are in use and the locks are deleted when they are no longer in use.

You can view and unlock objects, according to your security role. Users with the Service Admin role can unlock any object. Users without the Service Admin role can unlock only those objects that they locked.

  1. On the Applications page, expand the application.
  2. From the Actions menu, to the right of the cube name, click Inspect.
  3. Select Locks.
  4. From the Display menu, select Objects.
  5. Select the object you want to unlock and click Unlock Image of the unlock icon. .
You can also unlock outlines directly from the Actions menu, to the right of the cube name. Click the Actions menu icon and select Unlock outline.

Remove Data Locks

Data locks apply to block storage cubes only.

Occasionally, you may need to release a lock that you created in the cube, generally from a Smart View Submit Data action. For example, if you’re calculating a cube that has active locks on data, and the calculation encounters a lock, then the calculation must wait. If you release the lock, the calculation can resume.

You can always unlock data that you locked. To remove another user’s data locks, you must have the Application Manager or Database Manager role.

  1. On the Applications home page, expand the application.
  2. From the Actions menu, to the right of the cube name, click Inspect.
  3. Select the Locks tab.
  4. From the Display menu, select Blocks.
  5. Select the lock and click Unlock Image of the Unlock icon..

Set Buffer Sizes to Optimize Reports

You can change the retrieval buffer and retrieval sort buffer sizes to optimize Report Writer reports and Smart View Query Designer queries.

The time required to generate a report varies depending upon factors such as the size of the cube you are reporting from, the number of queries included in the script, and the size of the retrieval buffer and retrieval sort buffer.

Configurable variables specify the size of the buffers used for storing and sorting data extracted by retrievals. The retrieval buffer and retrieval sort buffer should be large enough to prevent unnecessary read and write activities. You can set them in the Essbase web interface or in MaxL.

The retrieval buffer holds extracted row data cells before they are evaluated by the RESTRICT or TOP/BOTTOM Report Writer commands. The default size is 20 KB. The minimum size is 2 KB. Increasing the size may improve retrieval performance.

When the retrieval buffer is full, the rows are processed and the retrieval buffer is reused. If this buffer is too small, frequent reuse of the area can increase retrieval times. If this buffer is too large, too much memory may be used when concurrent users perform queries, also increasing retrieval times.

The retrieval sort buffer holds data until it is sorted. Report Writer and Query Designer (in Smart View) use the retrieval sort buffer. The default size is 20 KB. The minimum size is 2 KB. Increasing the size may improve retrieval performance.

You can change the retrieval buffer and retrieval sort buffer size in the Essbase web interface, in the cube inspector, to optimize Report Writer reports and Smart View Query Designer queries.


Image of the cube inspector, Settings, Buffers tab in the Essbase web interface.

To set the retrieval buffer size and retrieval sort buffer size:

  1. In the Essbase web interface, in the cube inspector, go to the Settings tab and select Buffers.
  2. Add the values you want to use, and click Save.

Understand Transaction Semantics in Essbase

When a cube 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.

Each transaction has a current state: active, committed, or aborted. When data is committed, it is taken from server memory and written to the cube on disk.

The Commit Blocks/Commit Rows options in the Transactions tab of the cube inspector settings indicate the frequency at which Essbase commits data blocks or rows.

Essbase allows transactions to hold read/write locks on a block-by-block basis; Essbase releases a block after it is updated but does not commit blocks until the transaction completes or until a set limit (a “synchronization point”) has been reached.

You control when Essbase performs an explicit commit operation by specifying the following synchronization point parameters:


Image of the uncommitted access option in the cube inspector > settings > transactions tab in the Essbase web interface.

  • Commit Blocks (number of blocks modified before a synchronization point occurs). Essbase commits after the specified number of blocks has been reached. This frequency may adjust dynamically during a calculation.

    If you set Commit Blocks to 0, the synchronization point occurs at the end of the transaction.

  • Commit Rows (number of rows to data load before a synchronization point occurs). The default is 0, which means that the synchronization point occurs at the end of the data load.

If either Commit Blocks or Commit Rows has a nonzero value, a synchronization point occurs when the first threshold is reached. For example, if Commit Blocks is 10 but Commit Rows is 0 and you load data, a synchronization point occurs after 10 blocks are updated. If Commit Blocks is 5 and Commit Rows is 5 and you load data, a synchronization point occurs after 5 rows are loaded or 5 blocks are updated, whichever happens first.

If Essbase Server runs on Oracle Exalytics In-Memory machine, uncommitted access settings are not applicable. The commit happens at the end of the command or request. Any changes you make to the Commit Blocks or Commit Rows settings are ignored.

If Essbase Server runs on a Windows independent deployment, Commit Blocks is set to 3000 by default.

If a user-defined threshold is exceeded during an operation, Essbase issues a synchronization point to commit the data processed to that point. Essbase performs as many synchronization points as are necessary to complete the operation.

Essbase analyzes the value of Commit Blocks and Commit Rows during its analysis of feasibility for parallel calculation use. If Essbase finds the values set too low, it automatically increases them.

Essbase retains redundant data to enforce transactional semantics. Allow disk space for double the size of the database to accommodate redundant data, particularly if both Commit Blocks and Commit Rows are set to 0.