StorageMode (Dimension Interface)

Analysis Services Programming

Analysis Services Programming

StorageMode (Dimension Interface)

The StorageMode property of the Dimension interface determines how the contents of a dimension are stored.

Applies To

clsAggregationDimension

clsCubeDimension

clsDatabaseDimension

clsPartitionDimension

Data Type

StorageModeValues

Access

Access depends on the value of the ClassType property of the object.

Class type Access
ClsDatabaseDimension R/W*
ClsCubeDimension R
ClsPartitionDimension R
ClsAggregationDimension R

* Read-only for virtual dimensions and objects with a SubClassType of sbclsLinked, sbclsMining, or sbclsParentChild.

Remarks

If the StorageMode property is set to storeasMOLAP, the contents of the dimension are processed and stored on the Analysis server. If StorageMode is set to storeasROLAP, the dimension contents are not read during processing; they are left in the source relational database and retrieved as required. ROLAP storage mode provides for improved scalability of dimensions at the expense of slower query performance.

The StorageMode property uses one of the constants, defined in the StorageModeValues enumeration, shown in the following table.

Storage mode Result
storeasMOLAP Dimension members are read during processing and are stored in the Analysis server.
storeasROLAP Dimension members are not read during processing and are left in the relational data source.

Before the StorageMode property for a dimension can be set to storeasROLAP, the AreMemberKeysUnique property must be set to True for the last level in the dimension.

When the StorageMode property is set to storeasROLAP, the value of the IsChanging property for the dimension automatically becomes read-only and True.

Caution  Any changes to the relational source table of a ROLAP dimension must be followed by an immediate reprocessing of the dimension. Failure to do so may result in inconsistent results to queries of the cubes that use the dimension. To ensure correct processing of both the source table and the dimension, use nested transactions to link the two changes together. Because an incremental update is all that is necessary, use the processRefreshData option with the Process method to update the dimension.

To set the StorageMode property to storeasROLAP, the Grouping property for all levels in the dimension must be set to None. Member groups are not supported for ROLAP dimensions.

See Also

Dimension Interface