Execute(Dimensions: IDimSelectionSet): IMatrix;
Execute(Dimensions: Prognoz.Platform.Interop.Dimensions.IDimSelectionSet): Prognoz.Platform.Interop.Matrix.IMatrix;
Dimensions - отметка, в соответствии с которой, будет производиться расчет матрицы.
Метод Execute осуществляет расчет матрицы с данными в соответствии с указанной отметкой элементов и параметров расчета.
В отличии от метода IMatrixDataSource.Execute, данный метод учитывает установленные параметры расчета результирующей матрицы. При выполнении метода осуществляется извлечение данных с сервера путем выполнения сформированных SQL-запросов.
Для выполнения примера предполагается наличие в репозитории куба с идентификатором «Cube_1». В качестве измерений данного куба выступают справочники с идентификаторами «Dim_1» и «Dim_2».
Sub UserProc;
Var
MB: IMetabase;
CubeInst: ICubeInstance;
MatrDS: IMatrixDataSource;
DimSS: IDimSelectionSet;
MatrExecutor: IMatrixDataSourceExecutor;
Matr: IMatrix;
Begin
MB := MetabaseClass.Active;
CubeInst := MB.ItemById("Cube_1").Open(Null) As ICubeInstance;
MatrDS := CubeInst.Destinations.DefaultDestination As IMatrixDataSource;
MatrExecutor := MatrDS.CreateExecutor;
(MatrExecutor As IMatrixDataSourceExecutorSetup).DimensionsIntegrityCheck := True;
DimSS := MatrDS.CreateDimSelectionSet;
DimSS.FindById("Dim_1").SelectAll;
DimSS.FindById("Dim_2").SelectAll;
Try
Matr := MatrExecutor.Execute(DimSS);
Except On Ex: Exception Do
Debug.WriteLine("Возникла ошибка построения измерения.");
Debug.WriteLine("Текст ошибки: " + Ex.Message);
Finally
End Try;
End Sub UserProc;
При выполнении примера будет осуществлен расчет результирующей матрицы куба. При расчете осуществляется проверка построения справочников, используемых для составления отметки. Если во время построения возникнут ошибки, то текст ошибки будет выведен в консоль среды разработки.
Для выполнения примера предполагается наличие в репозитории куба с идентификатором «Cube_1». В качестве измерений данного куба выступают справочники с идентификаторами «Dim_1» и «Dim_2». Указанная процедура является точкой входа для .NET-сборки.
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
CubeInst: ICubeInstance;
MatrDS: IMatrixDataSource;
DimSS: IDimSelectionSet;
MatrExecutor: IMatrixDataSourceExecutor;
Matr: IMatrix;
Begin
MB := Params.Metabase;
CubeInst := MB.ItemById["Cube_1"].Open(Null) As ICubeInstance;
MatrDS := CubeInst.Destinations.DefaultDestination As IMatrixDataSource;
MatrExecutor := MatrDS.CreateExecutor(0);
(MatrExecutor As IMatrixDataSourceExecutorSetup).DimensionsIntegrityCheck := True;
DimSS := MatrDS.CreateDimSelectionSet();
DimSS.FindById("Dim_1").SelectAll();
DimSS.FindById("Dim_2").SelectAll();
Try
Matr := MatrExecutor.Execute(DimSS);
Except On Ex: Exception Do
Begin
System.Diagnostics.Debug.WriteLine("При построении возникла ошибка.");
System.Diagnostics.Debug.WriteLine("Текст ошибки: " + Ex.Message);
End;
Finally
End Try;
End Sub;
При выполнении примера будет осуществлен расчет результирующей матрицы куба. При расчете осуществляется проверка построения справочников, используемых для составления отметки. Если во время построения возникнут ошибки, то текст ошибки будет выведен в консоль среды разработки.
См. также: