OrdinalPosition (Command Interface)

Analysis Services Programming

Analysis Services Programming

OrdinalPosition (Command Interface)

The OrdinalPosition property of the Command interface contains the ordinal position of a command in the Commands collection in the parent MDStore object.

Applies To

clsCubeCommand

clsDatabaseCommand

clsRoleCommand

Data Type

Integer

Access

Read-only

Remarks

Ordinal position determines the order in which commands are executed. This order is important when one command depends on another command (for example, a CREATE SET command that uses a member defined in a CREATE MEMBER command). In this case, the CREATE MEMBER command should have a lower OrdinalPosition property value than the CREATE SET command. However, the ordinal position of the command does not affect the solve order of the calculated member or calculated cells definition the command may create. For more information on how solve order affects calculated cells and calculated members, see Understanding Pass Order and Solve Order.

Example

The following code creates three new commands in the Commands collection of the FoodMart 2000 database. It then enumerates the collection, printing the OrdinalPosition and Name properties to the Debug window. Then, the code example deletes and re-creates the first command, and again enumerates the collection to demonstrate the change in ordinal position on the other commands.

    Dim dsoServer As New DSO.Server
    Dim dsoDB As DSO.MDStore
    Dim dsoCmd As DSO.Command
    
    ' Connect to the local Analysis server.
    dsoServer.Connect "LocalHost"
    
    ' Open the FoodMart 2000 database.
    Set dsoDB = dsoServer.MDStores("FoodMart 2000")
    
    ' Add three sample commands.
    Set dsoCmd = dsoDB.Commands.AddNew("Command3")
    Set dsoCmd = dsoDB.Commands.AddNew("Command1")
    Set dsoCmd = dsoDB.Commands.AddNew("Command2")
    
    ' Iterate through the commands for the database.
    For Each dsoCmd In dsoDB.Commands
        ' Print its name and ordinal position
        Debug.Print dsoCmd.OrdinalPosition & " = " & dsoCmd.Name
    Next

    ' Now, delete the Command3 command and add it again.
    dsoDB.Commands.Remove "Command3"
    Set dsoCmd = dsoDB.Commands.AddNew("Command3")
    
    ' Iterate again through the commands for the database.
    Debug.Print "-----"
    For Each dsoCmd In dsoDB.Commands
        ' Print its name and ordinal position
        Debug.Print dsoCmd.OrdinalPosition & " = " & dsoCmd.Name
    Next

See Also

Command Interface

CREATE SET Statement

CREATE MEMBER Statement