OpenCubeEx(CubeInstance: ICubeInstance; Options: EaxOpenCubeOptions);
OpenCubeEx(CubeInstance: Prognoz.Platform.Interop.Cubes.ICubeInstance; Options: Prognoz.Platform.Interop.Express.EaxOpenCubeOptions);
CubeInstance. Куб, являющийся источником данных;
Options. Режим открытия куба.
Метод OpenCubeEx открывает куб (с расширенными параметрами), на базе которого строится экспресс-отчет.
Доступные режимы:
EaxOpenCubeOptions.None. Использовать только данные куба. Загружаются только данные куба;
EaxOpenCubeOptions.DefaultView. Использовать данные и сохранённое представление куба. Если у куба имеется сохранённое представление, то оно будет загружено. Сохраненное представление содержит пользовательские настройки отображения куба. Например: отображаемые элементы измерений, настройки диаграммы, параметры подписей и т.д. Если сохранённое представление отсутствует, то загружаются только данные куба.
Для выполнения примера в репозитории предполагается наличие куба с идентификатором «CUBE_SEP».
Добавьте ссылки на системные сборки «Metabase», «Cubes», «Express».
Sub UserProc;
Var
MB: IMetabase;
CreateInfo: IMetabaseObjectCreateInfo;
MObj: IMetabaseObject;
Expr: IEaxAnalyzer;
Cube: ICubeInstance;
Begin
MB := MetabaseClass.Active;
CreateInfo := MB.CreateCreateInfo;
CreateInfo.Id := MB.GenerateId("EXPR_REP");
CreateInfo.ClassId := MetabaseObjectClass.KE_CLASS_EXPRESSREPORT;
MObj := MB.CreateObject(CreateInfo).Edit;
Expr := MObj As IEaxAnalyzer;
Cube := MB.ItemById("CUBE_SEP").Open(Null) As ICubeInstance;
Expr.OpenCubeEx(Cube, EaxOpenCubeOptions.DefaultView);
MObj.Save;
End Sub UserProc;
После выполнения примера будет создан экспресс-отчет на базе сохранённого представления для куба «CUBE_SEP». Идентификатор созданного отчёта выводится в окно консоли.
Для выполнения примера в репозитории предполагается наличие куба с идентификатором «CUBE_SEP».
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Express;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
CreateInfo: IMetabaseObjectCreateInfo;
MObj: IMetabaseObject;
Expr: IEaxAnalyzer;
Cube: ICubeInstance;
Begin
MB := Params.Metabase;
CreateInfo := MB.CreateCreateInfo();
CreateInfo.Id := MB.GenerateId("OBJ_EXPR_REP", 0);
CreateInfo.ClassId := MetabaseObjectClass.KE_CLASS_EXPRESSREPORT As integer;
CreateInfo.Parent := MB.ItemById["OBJ23722"];
MObj := MB.CreateObject(CreateInfo).Edit();
Expr := MObj As IEaxAnalyzer;
Cube := MB.ItemById["CUBE_SEP_COPY7"].Open(Null) As ICubeInstance;
Expr.OpenCubeEx(Cube, EaxOpenCubeOptions.eocoDefaultView);
MObj.Save();
System.Diagnostics.Debug.WriteLine(CreateInfo.Id);
End Sub;
После выполнения примера будет создан экспресс-отчет на базе сохранённого представления для куба «CUBE_SEP». Идентификатор созданного отчёта выводится в окно консоли.
См. также: