ICubeCreator.EditCube

Синтаксис

EditCube(Cube: IStandardCube);

Параметры

Cube. Куб, структуру которого необходимо отредактировать.

Описание

Метод EditCube изменяет структуру указанного куба в соответствии с заданными настройками текущего объекта.

Комментарии

При выполнении метода структура указанного куба будет изменена в соответствии набором измерений и фактов, которые указаны в свойствах ICubeCreator.Dimensions и ICubeCreator.Facts соответственно. Если в кубе использовалось локальное измерение фактов, то оно будет сброшено. Для измерения фактов будет создан новый табличный справочник НСИ.

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

Пример

Для выполнения примера предполагается наличие в репозитории следующих объектов:

Sub UserProc;
Var
    MB: IMetabase;
    CCreator: ICubeCreator;
    Facts: ICubeCreatorFacts;
    Dims: ICubeCreatorDimensions;
    Dim: IDimensionModel;
    CreatorDim1, CreatorDim2: ICubeCreatorDimension;
Begin
    MB := MetabaseClass.Active;
    //Создатель куба
    CCreator := New CubeCreator.Create;
    CCreator.Database := MB.ItemById("DB").Open(NullAs IDatabaseInstance;
    //Коллекция измерений куба
    Dims := CCreator.Dimensions;
    //Новое измерение, для которого будет создан отдельный справочник
    CreatorDim1 := Dims.AddNew("Country");
    //Измерение на базе существующего справочника
    Dim := MB.ItemById("CALENDAR").Bind As IDimensionModel;
    CreatorDim2 := Dims.Add(Dim);
    //Индекс блока, по которому осуществляетс привязка к полям таблицы
    CreatorDim2.Index := Dim.Blocks.Item("YEARS").Indexes.PrimaryIndex;
    //Факты куба
    Facts := CCreator.Facts;
    Facts.Add("Значение");
    //Редактирование куба
    CCreator.EditCube(MB.ItemById("STD_CUBE").Bind As IStandardCube);
End Sub UserProc;

При выполнении примера будет изменена структура указанного куба. В структуре будут присутствовать два измерения, для фактов будет создан отдельный справочник. Все предыдущие данные куба будут удалены.

См. также:

ICubeCreator