IChronologicalMatrixLevelAggregator.Operation

Синтаксис

Operation: ChronologicalAggregatorOperation;

Описание

Свойство Operation определяет метод агрегации, применяемый для элементов выбранного уровня измерения.

Пример

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

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

StandCub: IStandardCube;

Man: IMatrixAggregatorManager;

Dim: IStandardCubeDimension;

Lvls: IDimLevels;

ChronAggr: IChronologicalMatrixAggregator;

LevAggr: IChronologicalMatrixLevelAggregator;

Dest: IStandardCubeDestination;

Begin

MB := MetabaseClass.Active;

MObj := MB.ItemById("CUBE_1").Edit;

StandCub := MObj As IStandardCube;

//Создаем новый агрегатор

Man := New MatrixAggregatorManager.Create As IMatrixAggregatorManager;

//Основной механизм агрегации

ChronAggr := Man.CreateAggregator("ChronologicalMatrixAggregator") As IChronologicalMatrixAggregator;

//Для измерения CALENDAR

Dim := StandCub.Dimensions.FindById("CALENDAR");

Lvls := Dim.Dimension.Levels;

ChronAggr.Dimension := Dim.Dimension;

//Для уровней по умолчанию

LevAggr := ChronAggr.LevelAggregation(Null);

LevAggr.Operation := ChronologicalAggregatorOperation.Mean;

//Для предпоследнего уровня

LevAggr := ChronAggr.LevelAggregation(Lvls.Item(Lvls.Count - 2));

LevAggr.UseDefaultLevelAggregation := False;

LevAggr.Operation := ChronologicalAggregatorOperation.UniformDisaggregation;

LevAggr.SourceLevel := Lvls.Item(Lvls.Count - 1);

//Установка агрегации по первому элементу измерения фактов

Dest := StandCub.Destinations.Item(0);

Dim.Aggregator(1, Dest) := ChronAggr;

MObj.Save;

End Sub Main;

После выполнения примера в кубе будет настроена агрегация для измерения "CALENDAR". Будет использоваться хронологический механизм агрегации. Для уровней по умолчанию будет осуществляться агрегация с использованием метода среднего хронологического. Для предпоследнего уровня будут установлены собственные настройки. Будет осуществляться равномерная дезагрегация на последний уровень.

См.также:

IChronologicalMatrixLevelAggregator