Understanding the Calculation of Aggregate Data

This topic discusses the calculation of aggregate data in analytic calculation engine.

The order of dimensions in the analytic model determines which member the analytic calculation engine uses to calculate the data cube aggregate value that exists at an intersection of two or more aggregate members. When evaluating the data cube's value at this intersection, the analytic calculation engine uses the aggregate member of the dimension that appears as first in the order of dimensions in the part browser.

See Example: Creating Overrides.

User functions often refer to dimension members to calculate data cubes. For this reason, you must understand the factors that affect the way in which the analytic calculation engine orders dimension members:

Note: This topic describes the member order as it exists within the analytic calculation engine. This internal order may differ from the member order that is ultimately displayed to the end user.

  • If the dimension is mapped to a tree, the analytic calculation engine first determines the member order by the order of the detail values in the tree.

    Next, the analytic calculation engine determines the member order from the order of the values as they exist in the database.

    For example, suppose a dimension is attached to a GBL tree and uses the United Kingdom node as its hierarchy root member. This node contains detail values in this order: Cardiff, Liverpool, London, Manchester. This dimension is also mapped to the UNITED_KINGDOM field in the database, which contains the Edinburgh and Glasgow values. The analytic calculation engine creates this member order in the hierarchy:

    1. Cardiff

    2. Liverpool

    3. London

    4. Manchester

    5. Edinburgh

    6. Glasgow

      Note: The next time the analytic calculation engine creates these members (for example, when the application loads the analytic model), the analytic calculation engine employs the existing member order, even if it recognizes a new database value that matches the name of an existing member.

      For example, suppose the analytic model has already established the above hierarchy before the application adds the Manchester value to the UNITED_KINGDOM field. When the application reloads the analytic model, the member order in this hierarchy remains; for this reason, Manchester retains its fourth member position.

  • If the dimension is not mapped to a tree, the member order is determined by the order of the members' values as they exist in the field that is mapped to the dimension.