AssignCube(Cube: IStandardCube);
AssignCube(Cube: Prognoz.Platform.Interop.Cubes.IStandardCube);
Cube. Стандартный куб.
Метод AssignCube устанавливает куб, на котором будет основана база данных временных рядов.
Для создания БД временных рядов используйте метод IRubricatorCreator.CreateRubricator.
Для выполнения примера в репозитории предполагается наличие стандартного куба с идентификатором «STD_CUBE» и репозитория НСИ с идентификатором «RDS_REPO». Ограничения, накладываемые на стандартный куб:
должен присутствовать только один факт с одним значением;
должна быть только одна таблица-источник с данными;
должно присутствовать хотя бы одно измерение;
в отношениях между измерениями отсутствуют формулы, созданные с помощью языка Fore.
Добавьте ссылки на системные сборки: Metabase, Rds, Cubes.
Sub UserProc;
Var
mb: IMetabase;
cr: IRubricatorCreator;
CrInfo: IMetabaseObjectCreateInfo;
mbObj: IMetabaseObject;
Begin
mb := MetabaseClass.Active;
cr := New RubricatorCreator.Create;
// Задаем репозиторий
cr.Metabase := mb;
// Задаем параметры создаваемой БД временных рядов
CrInfo := cr.CreateInfo;
CrInfo.Id := mb.generateId("RUBRICATOR");
CrInfo.Name := "База данных временных рядов на кубе";
CrInfo.Parent := mb.Root;
// Задаем репозиторий НСИ
mbObj := mb.ItemById("RDS_REPO").Bind;
cr.RdsDatabase := mbObj As IRdsDatabase;
// Задаем стандартный куб
mbObj := mb.ItemById("STD_CUBE").Bind;
cr.AssignCube(mbObj As IStandardCube);
// Создаем БД временных рядов
cr.CreateRubricator;
End Sub UserProc;
Результат выполнения примера: создана БД временных рядов, основанная на стандартном кубе.
Для выполнения примера в репозитории предполагается наличие стандартного куба с идентификатором «STD_CUBE» и репозитория НСИ с идентификатором «RDS_REPO». Ограничения, накладываемые на стандартный куб:
должен присутствовать только один факт с одним значением;
должна быть только одна таблица-источник с данными;
должно присутствовать хотя бы одно измерение;
в отношениях между измерениями отсутствуют формулы, созданные с помощью языка Fore.NET.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Rds;
…
[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
cr: IRubricatorCreator;
CrInfo: IMetabaseObjectCreateInfo;
mbObj: IMetabaseObject;
Begin
mb := Params.Metabase;
cr := New RubricatorCreator.Create();
// Задаем репозиторий
cr.Metabase := mb;
// Задаем параметры создаваемой БД временных рядов
CrInfo := cr.CreateInfo;
CrInfo.Id := mb.generateId["RUBRICATOR", 0];
CrInfo.Name := "База данных временных рядов на кубе";
CrInfo.Parent := mb.Root;
// Задаем репозиторий НСИ
mbObj := mb.ItemById["RDS_REPO"].Bind();
cr.RdsDatabase := mbObj As IRdsDatabase;
// Задаем стандартный куб
mbObj := mb.ItemById["STD_CUBE"].Bind();
cr.AssignCube(mbObj As IStandardCube);
// Создаем БД временных рядов
cr.CreateRubricator();
End Sub;
Результат выполнения примера: создана БД временных рядов, основанная на стандартном кубе.
См. также: