Understanding Explicit Dimension Sets

You create an explicit dimension set to form a distinct group of an analytic model's dimensions. Explicit dimension sets improve the calculation efficiency of multidimensional data cubes. You can create one or more explicit dimension sets within an analytic model. Explicit dimension sets may contain completely different or some of the same dimensions as one another. The analytic calculation set instantiates valid combinations of members called explicit tuples from explicit dimension sets.

See Understanding Implicit Tuples and Explicit Tuples.

A model can contain explicit dimension supersets and explicit dimension subsets. An explicit dimension superset is a set of dimensions that contains the same dimensions as its subset; however, the superset contains one or more dimensions than its subset. A subset is the inverse of a superset: it contains the same dimensions as its superset; however, the subset contains one or more fewer dimensions than its superset. An analytic model can contain multiple supersets and subsets.

Explicit dimension sets are applied to individual data cubes when calculating data, and are also used for exporting data. To determine which explicit dimension set it uses on a data cube, the analytic calculation engine first reads which dimensions are attached to the data cube, and then analyzes and iterates through the explicit dimension sets in priority order. The set at the lowest numbered row in the Explicit Dimension Sets dialog box receives the highest priority.

See Editing or Adding New Explicit Dimension Sets.

Note: Explicit dimension subsets must exist at a lower priority than their supersets. However, it is not necessary for an explicit dimension subset to exist in the row directly beneath its superset. For example, suppose that a superset exists in row 1. Its subset can be in row 3; it does not have to be in row 2. The explicit dimension set in row 2 can contain dimensions that are not included in other explicit dimension sets.

Using the priority order, the analytic calculation engine matches the first explicit dimension set that has either the same or fewer dimensions as are attached to the data cube, and then continues down the priority order for the remaining dimensions. The analytic calculation engine uses single dimensions if any of these dimensions remain unmatched after it has iterated through all explicit dimension sets.

For example, suppose these dimensions are attached to the OVERHEAD_COSTS data cube:

  • CHANNELS

  • CUSTOMERS

  • TAXES

  • EXPENSES

  • MONTHS

  • PRODUCTS

  • REGIONS

The analytic model contains these explicit dimension sets:

  • SET_1: MONTHS, REGIONS (first priority)

  • SET_2: TAXES, PRODUCTS (second priority)

  • SET_3: CHANNELS, CUSTOMERS, PRODUCTS (third priority)

  • SET_4: CHANNELS, CUSTOMERS (fourth priority)

  • SET_5: TAXES, EXPENSES (fifth priority)

The analytic calculation engine iterates through the explicit dimension sets, beginning with SET_1, and then continues down the priority order for the remaining dimensions, matching the following:

  • SET_1: MONTHS, REGIONS (first priority)

  • SET_2: TAXES, PRODUCTS (second priority)

  • SET_4: CHANNELS, CUSTOMERS (fourth priority)

The following table lists an analytic model's data cubes and their attached dimensions.

Data Cubes

Data Cube Formula (if any)

Attached Dimensions

SALES

UNIT_SALES * UNIT_PRICE

  • PRODUCTS

  • REGIONS

  • MONTHS

UNIT_SALES

None (input cube)

  • PRODUCTS

  • REGIONS

  • MONTHS

UNIT_PRICE

None (input cube)

  • PRODUCTS

  • REGIONS

  • MONTHS

The company:

  • Sells the hamburgers product in both the Africa and Asia regions during all months of the year.

  • Sells the french fries product in the Africa region only during the summer months.

  • Never sells the french fries product in the Asia region.

If you do not create an explicit dimension set to calculate these data cubes, the analytic calculation engine calculates the sales for all products in all regions during all months, even if some of these combinations are not valid. In other words, the analytic calculation engine calculates the sales for french fries for all months in Asia, even though the company does not sell french fries in Asia. Additionally, the analytic calculation engine calculates the sales for french fries during all months in Africa, even though the company only sells french fries in Africa during the summer.

In total, without using an explicit dimension set, the analytic calculation engine performs 48 calculations for the SALES data cube:

 (2 PRODUCTS * 2 REGIONS * 12 MONTHS)

The analytic calculation engine generates the value of 0 for each invalid member combination, taking valuable time to do so. These invalid member values are:

  • Not saved to the main record.

  • Not displayed to end users in the application.

    End users view invalid member combinations as blank cells.

To prevent this unneeded calculation of data, you should create an explicit dimension set consisting of the PRODUCTS, REGIONS, and MONTHS dimensions. The analytic calculation engine uses this explicit dimension set, plus the UNIT_SALES and UNIT_PRICE input data cubes, to determine the explicit tuples. Using these tuples, the analytic calculation engine calculates only the necessary values.

Note: The analytic calculation engine uses the input cubes that comprise the relevant data cube's formula to instantiate the explicit tuples that it uses to calculate the data cube.

In total, the analytic calculation engine performs 27 calculations for the SALES data cube:

(1 PRODUCT * 2 REGIONS * 12 MONTHS) + (1 PRODUCT * 1 REGIONS * 3 MONTHS)

An analytic model contains the SALES data cube. These dimensions are attached to this data cube:

  • PRODUCTS

  • REGIONS

  • ORDER_ID

  • BUSINESS_UNIT

  • DEPT_ID

  • EMPL_ID

You have defined these explicit dimension sets:

  • SET_1: PRODUCTS, REGIONS, ORDER_ID (Priority 1).

  • SET_2: PRODUCTS, REGIONS (Priority 2).

  • SET_3: REGIONS, ORDER_ID (Priority 3).

  • SET_4: DEPT_ID, EMPL_ID (Priority 4).

The explicit dimension subset (PRODUCTS, REGIONS) exists at a lower priority than its superset (PRODUCTS, REGIONS, ORDER_ID). The subset is in row 2; the superset is in row 1. The analytic calculation engine takes the cross product of the following to instantiate the valid combinations of dimension members for the SALES data cube:

  • SET_1: PRODUCTS, REGIONS, ORDER_ID.

  • SET_4: DEPT_ID, EMPL_ID.

  • BUSINESS_UNIT dimension.