IMatrixDataSourceExecutor.Execute

Синтаксис Fore

Execute(Dimensions: IDimSelectionSet): IMatrix;

Синтаксис Fore.NET

Execute(Dimensions: Prognoz.Platform.Interop.Dimensions.IDimSelectionSet): Prognoz.Platform.Interop.Matrix.IMatrix;

Параметры

Dimensions - отметка, в соответствии с которой, будет производиться расчет матрицы.

Описание

Метод Execute осуществляет расчет матрицы с данными в соответствии с указанной отметкой элементов и параметров расчета.

Комментарии

В отличии от метода IMatrixDataSource.Execute, данный метод учитывает установленные параметры  расчета результирующей матрицы. При выполнении метода осуществляется извлечение данных с сервера путем выполнения сформированных SQL-запросов.

Пример Fore

Для выполнения примера предполагается наличие в репозитории куба с идентификатором «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(NullAs 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;

При выполнении примера будет осуществлен расчет результирующей матрицы куба. При расчете осуществляется проверка построения справочников, используемых для составления отметки. Если во время построения возникнут ошибки, то текст ошибки будет выведен в консоль среды разработки.

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории куба с идентификатором «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(NullAs 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;

При выполнении примера будет осуществлен расчет результирующей матрицы куба. При расчете осуществляется проверка построения справочников, используемых для составления отметки. Если во время построения возникнут ошибки, то текст ошибки будет выведен в консоль среды разработки.

См. также:

IMatrixDataSourceExecutor