Accelerators. Optimizing rule performance

OLAP Server can perform consolidations of vast multidimensional matrices quickly because multidimensional matrices tend to have large quantities of empty cells, and OLAP Server ignores empty cells in its calculations.

But, in earlier versions of OLAP Server, the calculation algorithm was switched off if cube rules were implemented. This resulted in the inclusion of empty cells in consolidations and calculations. In large, sparse databases, this decreased performance significantly.

Accelerators counter this decrease in performance by instructing OLAP Server to calculate only if the result would be non-zero. In effect, they place a flag in the Target area of a calculation every time the corresponding cell in the Source area is non-zero. For example, if ['Units','Germany'] is non-zero, then a flag is placed in ['Sales','Germany'], etc

However, in the current version of OLAP Server the calculation algorithm has been enhanced to avoid the need for accelerators.

We recommend that, in new implementations, accelerators are not used. But, in existing implementations which include accelerators, you should not change your data model.

Examples

Sometimes more than one accelerator for one rule is required.

For example, Cube Rule: [A] = [X] + [Y] + [Z]

[A] will be non-zero if any one of [X], [Y], or [Z] are non-zero. Therefore, these three accelerators are required:
Source Target
[X] [A]
[Y] [A]
[Z] [A]

If a rule has a reference to an external cube, then you must specify the name of the external cube in front of the source area and the name of the main cube in front of the target area in this way:

Cube rule for the Cube PNL:

['Sales'] = DB('TOTSALES',!Years,'Actual',!Regions,'Total',!Months,'Sales')

To write the accelerator, you write the area in the external cube as if you were writing the area for the actual rules cube. You must, however, prefix the area with the external cube name:
Source Target
Totsales['Actual','Total','Sales'] PNL['Sales']

The Edit Accelerator dialog has two buttons: Internal Reference and External Reference. These buttons open wizards to help you to write areas for both the main cube and any external cubes:

  • Internal Reference: Generates an area for the main cube.
  • External Reference: Generates an area for an external cube. This button is disabled for the Target area of an accelerator and a rule, because you cannot enter external references for these areas. For more information on external cubes, see Writing Rules to External Cubes.
  • See Writing rules to external cubes.