MDX List Optimization

By sending a MDX script to the cube, CXO creates a list with MDX list. The cube subsequently renders the MDX list.
This process by default involves the handling of data by the cube, which can prolong the time it takes for the cube to render the list.
In some cases it is necessary to handle this data, as the data determines the content of the CXO list. These MDX lists are called “data driven”.
In all other cases handling this data is not necessary to render the MDX list. These lists are called “non-data driven”.
The rendering of MDX lists can be optimized by enabling the feature Use MDX List Optimization in the configurator.

MDX list optimization.png

When set to True, CXO will render MDX lists in such a way that only in case a MDX list is “data driven” data will need to be handled by the cube.
In case a MDX lists is “Non-data driven” the relevant queries "Where clause" will be replaced with "Where (null)". This prevents data from being handled during rendering of the MDX list, which is quicker and more efficient.

Note: Applicable to only MSOLAP cubes.

Example for Non-data driven MDX:

CROSSJOIN(
DESCENDANTS([ENT].[ENT].[Geographical],,LEAVES),
DESCENDANTS([a01].[a01].[TotalProducts],,LEAVES)

Example for Data driven MDX:

{ TOPCOUNT
({Descendants([ENT].[ENT].[Geographical],,LEAVES)},7,([ACC].
[ACC].CurrentMember)),
[ENT].[ENT].[CXO_Top7Entities_Other],
[ENT].[ENT].[Geographical]}

Was this article helpful?

We're sorry to hear that.