PrepareExecute(Selection: IDimSelectionSet);
Selection. The selection, according to which the calculation is executed. If this parameter is set to Null, the calculation is based on all the elements.
The PrepareExecute method prepares calculation. The selection, by which the calculation will be executed, is determined by the Selection parameter.
Executing the example requires that the repository contains a time series database with the OBJ_RUBRICATOR identifier. This database must include a unique attribute that refers to the dictionary with the DICT_IND identifier stored in the MDM repository with the MDM_REPO identifier.
Sub Main;
Var
MB: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
RubrIn: IRubricatorInstance;
Cub: ICubeInstance;
Dest: ICubeInstanceDestination;
Sels: IDimSelectionSet;
Sel: IDimSelection;
DictDescr: IMetabaseObjectDescriptor;
DictInst: IDimInstance;
Exec: ICubeInstanceDestinationExecutor;
Mat: IMatrix;
Ite: IMatrixIterator;
Begin
MB := MetabaseClass.Active;
RubDesc := MB.ItemById("FC_RUBRICATOR");
RubrIn := RubDesc.Open(Null) As IRubricatorInstance;
Cub := RubrIn As ICubeInstance;
Dest := Cub.Destinations.DefaultDestination;
Sels := Dest.CreateDimSelectionSet;
Sels.Clear;
Sel := Sels.Add(RubrIn.CalendarLevelsDimension);
Sel.SelectAll;
DictDescr := MB.ItemByIdNamespace("DICT_IND", MB.ItemById("RDS_REPO").Key);
DictInst := DictDescr.Open(Null) As IDimInstance;
Sel := Sels.Add(DictInst);
Sel.SelectElement(0, False);
Exec := Dest.CreateExecutor;
Exec.ScenarioKey := -1;
Exec.PrepareExecute(Sels);
Exec.PerformExecute;
Mat := Exec.Matrix;
Ite := Mat.CreateIterator;
Ite.Move(IteratorDirection.First);
While Ite.Valid Do
Debug.WriteLine(Ite.Value);
Ite.Move(IteratorDirection.Next);
End While;
End Sub Main;
After executing the example data of the time series database is represented as data of a cube instance. Calculation is prepared and executed by the indicated selection, collected data is displayed in the console window.
See also: