Share via


AggregationUsage (Dimension Interface)

Note

  This feature will be removed in the next version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.

The AggregationUsage property of the Dimension interface specifies how aggregations are to be designed for the dimension levels.

Applies To:clsCubeDimension, clsPartitionDimension

Access

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

Class type

Access

clsCubeDimension

R/W

clsPartitionDimension

R

Remarks

When aggregations are designed for a dimension, the value of this property determines which levels of a dimension may have aggregations created for them. The following table describes how the value of this property affects the consideration of levels for aggregation.

Aggregation usage

Description

dimAggUsageCustom

Aggregations are created only for those levels whose EnableAggregations property is set to True.

dimAggUsageDetailsOnly

Aggregations are created only for the lowest level in the dimension.

dimAggUsageStandard

All levels are considered by the aggregation design algorithm.

dimAggUsageTopOnly

Aggregations are created only for the top (All) level.

dimAggUsageTopAndDetailsOnly

Aggregations are created only for the top (All) and lowest levels in the dimension.

Note

For virtual dimensions, AggregationUsage is read-only and automatically set to dimAggUsageStandard. An error is raised if you attempt to set this property on a virtual dimension.

Example

The following example changes the aggregation behavior of the Product dimension for the Sales cube in the FoodMart 2000 database to create aggregations only for the topmost level, and then it updates and reprocesses the Sales cube:

    Dim dsoServer As New DSO.Server
    Dim dsoDB As DSO.MDStore
    Dim dsoCube As DSO.MDStore
    Dim dsoDim As DSO.Dimension
        
    ' Connect to local Analysis server.
    dsoServer.Connect "LocalHost"
    
    ' Open FoodMart 2000 database.
    Set dsoDB = dsoServer.MDStores("FoodMart 2000")

    ' Open the Sales cube.
    Set dsoCube = dsoDB.MDStores("Sales")
    
    ' Open the Product dimension in the Sales cube.
    Set dsoDim = dsoCube.Dimensions("Product")
    
    ' Set the dimension to create aggregations only
    ' for the topmost (or All) level.
    dsoDim.AggregationUsage = dimAggUsageTopOnly
    
    ' Update the cube.
    dsoCube.Update
    
    ' Process the cube.
    dsoCube.Process processFull
        
    ' Clean up.
    Set dsoDim = Nothing
    Set dsoCube = Nothing
    Set dsoDB = Nothing
    dsoServer.CloseServer
    Set dsoServer = Nothing