CreateDimSelectionSetOp(Options: Integer): IDimSelectionSet;
CreateDimSelectionSet(Options: Integer): Prognoz.Platform.Interop.Dimensions.IDimSelectionSet;
Options. Опции создания набора отметок.
Метод CreateDimSelectionSeOpt создает набор отметок для измерений источника данных с учетом дополнительных параметров.
Параметр Options может принимать следующие значения:
0. Метод отработает аналогично методу CreateDimSelectionSet.
1. Метод вернет пустую коллекцию отметок.
Для выполнения примера предполагается наличие в репозитории куба с идентификатором «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(Null) As 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(0, False);
Sel1.SelectElement(1, False);
Sel2.SelectElement(0, False);
Sel2.SelectElement(1, False);
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;
При выполнении примера будет создана пустая коллекция отметок для измерений куба. В данную коллекцию будут добавлены два измерения, в этих измерениях будут отмечены указанные элементы. После этого на базе созданной отметки будет получена матрица с данными и для указанного элемента матрицы будет изменено значение. Изменения будут сохранены обратно в куб.
Для выполнения примера предполагается наличие в репозитории куба с идентификатором «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(Null) As 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(0, False);
Sel1.SelectElement(1, False);
Sel2.SelectElement(0, False);
Sel2.SelectElement(1, False);
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;
При выполнении примера будет создана пустая коллекция отметок для измерений куба. В данную коллекцию будут добавлены два измерения, в этих измерениях будут отмечены указанные элементы. После этого на базе созданной отметки будет получена матрица с данными и для указанного элемента матрицы будет изменено значение. Изменения будут сохранены обратно в куб.
См. также: