IBasicMatrixLevelAggregator.UseDefaultLevelAggregation

Синтаксис

UseDefaultLevelAggregation: Boolean;

Описание

Свойство UseDefaultLevelAggregation определяет, будут ли использоваться настройки агрегации для уровня по умолчанию.

Комментарии

Если свойству установлено значение True, то используются параметры агрегации, установленные в свойстве DefaultLevelAggregation, иначе необходимо определить необходимые параметры, используя соответствующие свойства. По умолчанию свойству установлено значение True.

Пример

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

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

StandCub: IStandardCube;

Man: IMatrixAggregatorManager;

Dim: IStandardCubeDimension;

Lvl: IDimLevels;

BasicAggr: IBasicMatrixAggregator;

LevAggr: IBasicMatrixLevelAggregator;

Dest: IStandardCubeDestination;

Begin

MB := MetabaseClass.Active;

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

StandCub := MObj As IStandardCube;

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

Man := New MatrixAggregatorManager.Create As IMatrixAggregatorManager;

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

BasicAggr := Man.CreateAggregator("BasicMatrixAggregator") As IBasicMatrixAggregator;

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

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

Lvl := Dim.Dimension.Levels;

BasicAggr.Dimension := Dim.Dimension;

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

LevAggr := BasicAggr.DefaultLevelAggregation;

LevAggr.Operation := BasicAggregatorOperation.ArithmeticalMean;

LevAggr.PreserveExistingData := True;

LevAggr.PreserveMethod := ExistingDataPreserveMethod.OnNull;

//Для второго уровня

//Уровень-приемник

LevAggr := BasicAggr.LevelAggregation(Lvl.Item(Lvl.Count - 2));

LevAggr.UseDefaultLevelAggregation := False;

//Метод - Фактическое среднее

LevAggr.Operation := BasicAggregatorOperation.ActualMean;

//Уровень-источник

LevAggr.Include(Lvl.Item(Lvl.Count - 1)) := True;

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

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

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

MObj.Save;

End Sub Main;

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

См. также:

IBasicMatrixLevelAggregator