IChronologicalMatrixAggregator.LevelAggregation

Синтаксис

LevelAggregation(Level: IDimLevel): IChronologicalMatrixLevelAggregator;

Параметры

Level - уровень измерения, для которого необходимо настроить параметры агрегации. Null, если необходимо настроить параметры агрегации для уровней по умолчанию.

Описание

Свойство доступно только для чтения.

Свойство LevelAggregation возвращает параметры агрегации для заданного уровня измерения.

Пример

Для выполнения примера предполагается наличие в репозитории куба с идентификатором "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". Будет использоваться хронологический механизм агрегации. Для уровней по умолчанию будет осуществляться агрегация с использованием метода среднего хронологического. Для предпоследнего уровня будут установлены собственные настройки. Будет осуществляться равномерная дезагрегация на последний уровень.

См.также:

IChronologicalMatrixAggregator