IAutoCubeDimensions.Move

Syntax

Move(IndexFrom: Integer; IndexTo: Integer);

Parameters

IndexFrom - dimension index that must be moved.

IndexTo - position index, in which dimension must be moved.

Description

The Move method moves dimensions in the automatic cube list.

NOTE. When dimension are rearranged, the corresponding transformation is required, otherwise, data will be lost. See also: IAutoCubeTransform.

Example

Executing the example requires that the repository contains an automatic cube with AUTO_CUBE identifier. There are more than one dimension in the cube.

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

AutoCub: IAutoCube;

Dims: IAutoCubeDimensions;

Dim: IAutoCubeDimension;

Transf: IAutoCubeTransform;

b: Boolean;

Begin

MB := MetabaseClass.Active;

MObj := MB.ItemById("AUTO_CUBE").Edit;

AutoCub := MObj As IAutoCube;

Dims := AutoCub.Dimensions;

Dims.Move(0, 1);

Transf := AutoCub.Transform;

Debug.WriteLine(Initial dimensions list);

For Each Dim In Transf.MapDimensions Do

Debug.WriteLine((Dim.Dimension As IMetabaseObject).Name)

End For;

Debug.WriteLine("Dimensions list after rearrangement");

For Each Dim In Transf.Dimensions Do

Debug.WriteLine((Dim.Dimension As IMetabaseObject).Name)

End For;

If Transf.GetChanged(b) Then

Transf.Execute;

End If;

MObj.Save;

End Sub Main;

After executing the example the first two dimensions are rearranged in the dimensions list of automatic cube. If changes have relations to dimensions with data, the corresponding cube data rearrangement will be applied.

See also:

IAutoCubeDimensions