IMatrixDataSource.CreateDimSelectionSetOp

Синтаксис Fore

CreateDimSelectionSetOp(Options: Integer): IDimSelectionSet;

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

CreateDimSelectionSet(Options: Integer): Prognoz.Platform.Interop.Dimensions.IDimSelectionSet;

Параметры

Options. Опции создания набора отметок.

Описание

Метод CreateDimSelectionSeOpt создает набор отметок для измерений источника данных с учетом дополнительных параметров.

Комментарии

Параметр Options может принимать следующие значения:

Пример

Для выполнения примера предполагается наличие в репозитории куба с идентификатором «Cube_1». Куб имеет не менее двух измерений, первое измерение расположено по столбцам, второе - по строкам.

Sub UserProc;
Var
    MB: IMetabase;
    CubeInst: ICubeInstance;
    Destination: ICubeInstanceDestination;
    DimsInstance: ICubeInstanceDimensions;
    MatrDS: IMatrixDataSource;
    DimSS: IDimSelectionSet;
    Sel1, Sel2: IDimSelection;
    Matr: IMatrix;
    Coord: IMatrixCoord;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    CubeInst := MB.ItemById("Cube_1").Open(NullAs ICubeInstance;
    Destination := CubeInst.Destinations.DefaultDestination;
    MatrDS := Destination As IMatrixDataSource;
    DimsInstance := Destination.Dimensions;
    DimSS := MatrDS.CreateDimSelectionSetOp(1);
    Sel1 := DimSS.Add(DimsInstance.Item(0));
    Sel2 := DimSS.Add(DimsInstance.Item(1));
    Sel1.SelectElement(0False);
    Sel1.SelectElement(1False);
    Sel2.SelectElement(0False);
    Sel2.SelectElement(1False);
    Matr := MatrDS.Execute(DimSS);
    Coord := Matr.CreateCoord;
        Debug.WriteLine(Matr.DimensionCount);
    For i := 0 To Matr.DimensionCount - 1 Do
        Coord.Item(i) := 0;
    End For;
    Matr.Item(Coord) := 101;
    MatrDS.SaveData(Matr);
End Sub UserProc;

При выполнении примера будет создана пустая коллекция отметок для измерений куба. В данную коллекцию будут добавлены два измерения, в этих измерениях будут отмечены указанные элементы. После этого на базе созданной отметки будет получена матрица с данными и для указанного элемента матрицы будет изменено значение. Изменения будут сохранены обратно в куб.

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории куба с идентификатором «Cube_1». Куб имеет не менее двух измерений, первое измерение расположено по столбцам, второе - по строкам.

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Matrix;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    CubeInst: ICubeInstance;
    Destination: ICubeInstanceDestination;
    DimsInstance: ICubeInstanceDimensions;
    MatrDS: IMatrixDataSource;
    DimSS: IDimSelectionSet;
    Sel1, Sel2: IDimSelection;
    Matr: IMatrix;
    Coord: IMatrixCoord;
    i: Integer;
Begin
    MB := Params.Metabase;
    CubeInst := MB.ItemById["Cube_1"].Open(NullAs ICubeInstance;
    Destination := CubeInst.Destinations.DefaultDestination;
    MatrDS := Destination As IMatrixDataSource;
    DimsInstance := Destination.Dimensions;
    DimSS := MatrDS.CreateDimSelectionSetOp(1);
    Sel1 := DimSS.Add(DimsInstance.Item[0]);
    Sel2 := DimSS.Add(DimsInstance.Item[1]);
    Sel1.SelectElement(0False);
    Sel1.SelectElement(1False);
    Sel2.SelectElement(0False);
    Sel2.SelectElement(1False);
    Matr := MatrDS.Execute(DimSS);
    Coord := Matr.CreateCoord();
    For i := 0 To Matr.DimensionCount - 1 Do
        Coord.Item[i] := 0;
    End For;
    Matr.Item[Coord] := 101;
    MatrDS.SaveData(Matr);
End Sub;

При выполнении примера будет создана пустая коллекция отметок для измерений куба. В данную коллекцию будут добавлены два измерения, в этих измерениях будут отмечены указанные элементы. После этого на базе созданной отметки будет получена матрица с данными и для указанного элемента матрицы будет изменено значение. Изменения будут сохранены обратно в куб.

См. также:

IMatrixDataSource