Storage Options

When working with dimensions, it's important to understand the different data storage options and how to use them in the business process.

Storage Options

Table 11-1 Storage Options

Option Impact

Dynamic Calc and Store

Calculates data values of members, and stores values.

Store

Stores data values of members.

Dynamic Calc

Calculates data values of members, and disregards the values.

Never Share

Prohibits members in the same dimension from sharing data values.

Shared

Allows members in the same dimension to share data values.

Label Only

Has no data associated with the member.

About Dynamic Calc

With dynamically calculated members, the application calculates data values of members, and disregards these values. As a best practice, Oracle recommends a limit of 100 children under a Dynamic Calc parent. Changing a member's storage to Dynamic Calc may result in loss of data, depending on how the data was originally derived. You may need to update outlines, calculations, or both to get the dynamically calculated value.

Dynamic Calc Versus Dynamic Calc and Store

In most cases, you can optimize calculations and lower disk usage by using Dynamic Calc instead of Dynamic Calc and Store when calculating members of sparse dimensions. Use Dynamic Calc and Store for members of sparse dimensions with complex formulas, or that users retrieve frequently.

For members of dense dimensions, use Dynamic Calc. Dynamic Calc and Store provides only a small decrease in retrieval time and regular calculation time, and doesn't significantly lower disk usage. For data values accessed concurrently by many users, use Dynamic Calc. Retrieval time may be significantly lower than for Dynamic Calc and Store.

Note:

  • Don't use Dynamic Calc for base-level members for which users enter data.

  • Don't use Dynamic Calc for a parent member if you enter data for that member in a target version. Parent members set to Dynamic Calc are read-only in target versions.

  • Data values are not saved for Dynamic Calc members.

About Store Data Storage

Don't set parent members to Store if their children are set to Dynamic Calc. With this combination, new totals for parents are not calculated when users save and refresh forms.

About Shared Data Storage

Use Shared to allow alternate rollup structures in the application.

About Never Share Data Storage

The default data storage type is Never Share when you add user-defined custom dimensions. You can use Never Share for parent members with only one child member that aggregates to the parent, to apply access to the child member.

About Label Only Data Storage

Label Only members are virtual members; they are typically used for navigation and have no associated data.

Note:

  • You can't assign level 0 members as Label Only.

  • Label Only members can display values.

  • Making dimension members Label Only minimizes database space by decreasing block size.

  • You can't assign attributes to Label Only members.

  • In a multicurrency application, you can't apply Label Only storage to members of these dimensions: Entity, Versions, Currencies, and user-defined custom dimensions. To store exchange rates, use Never Share.

  • Data storage for children of Label Only parents is set to Never Share by default.

    Caution:

    Don't design forms in which Label Only parents follow their first child member, as you can't save data in the first child member. Instead, create forms with Label Only parents selected before their children, or don't select Label Only parents for forms.