EvaluateOnly: EvaluateOnlyType;
Свойство EvaluateOnly определяет, по каким координатам будут вычисляться значения результирующей матрицы.
Для выполнения примера, предполагается наличие вычисляемого куба с идентификатором "Calc_Cube". В кубе имеется два измерения.
Sub Main;
Var
MB: IMetabase;
Cube: ICalculatedCubeInstance;
Exe: ICalculatedCubeExecutor;
Mat: IMatrix;
Coord: IMatrixCoord;
Ite: IMatrixIterator;
Begin
MB := MetabaseClass.Active;
Cube := Mb.ItemById("Calc_Cube").Open(Null) As ICalculatedCubeInstance;
Exe := Cube.CreateExecutor(Null);
//Подготовка пустой матрицы
(Exe As ICubeInstanceDestinationExecutor).PrepareExecute(Null);
Mat := Exe.Matrix;
Ite := Mat.CreateIterator;
//Определяем координату
Coord := Mat.CreateCoord;
Coord.Item(0) := 0;
Coord.Item(1) := 1;
Exe.Selected(Coord) := True; //Выделяем элемент по координате
//Определяем координату
Coord := Mat.CreateCoord;
Coord.Item(0) := 1;
Coord.Item(1) := 1;
Exe.Selected(Coord) := True; //Выделяем элемент по координате
Exe.EvaluateOnly := EvaluateOnlyType.Selected; //Вычислять только выделенные координаты
Exe.Execute;
Ite.Move(IteratorDirection.First);
While Ite.Valid Do
Debug.WriteLine(Ite.Value);
Ite.Move(IteratorDirection.Next);
End While;
End Sub Main;
После выполнения примера у куба будут вычислены только выделенные координаты. Рассчитанные значения будут выведены в окно консоли. Идентификатор вычисляемого куба - "Calc_Cube".
См. также: