Transform: IAutoCubeTransform;
The Transform property returns the object that transforms data when position of the dimensions in cube structure changes.
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 is rearranged.
See also: