Dimension indices

The analysis server can index certain process dimensions. The purpose of an index is to speed up certain queries that have a filter on this dimension. The index is held in memory so that adding more indices can make it necessary to increase the configured analysis server memory.

Data access dimensions automatically get indexed. You can select additional dimensions specific to your usage scenario. These will usually be one or more dimensions that are frequently used for selective filtering. A good example would be a highly selective filter that is always specified when accessing the main dashboard. For advice on which dimensions to index, please contact Software AG Product Support.

For multi-level, two-level, variant, time, and time of day dimensions, you can also specify in which granularity (refinement) the index is to be maintained. If no refinement or an incorrect refinement is specified, the coarsest level (BY_LEVEL_1, BY_LEVEL1_N, BY_YEAR, BY_HOUR_OF_DAY) is used.

Indices are allowed for the following dimension types:

The indices are defined in the settings file AnalysisServer_settings.properties:

Example

INDEX.PROCESS.VSTEL.USE=true -> Index on the Dimension VSTEL.

INDEX.PROCESS.MATERIAL.USE=true

INDEX.PROCESS.MATERIAL.REFINEMENT=BY_LEVEL2_4 -> Index on the second level of the dimension MATERIAL.

INDEX.PROCESS.TIME.USE=true

INDEX.PROCESS.TIME.REFINEMENT=BY_DAY -> Index on the dimension TIME with the accuracy DAY.

Currently, only indices on process dimensions are supported. In addition, only one index per dimension is currently allowed. This means that the index can only be created with one refinement, which is not a problem since the index can be used for filters of any refinement although with different performance.

If an index is switched on or off several times (.USE=true/false), the last specified value is used. If several refinements are specified, the last one is also used.

Topics

Updating the indices

Dependency on the process tree