IAutoCubeDimension.Aggregator

Синтаксис

Aggregator(Destination: IAutoCubeDestination): IMatrixAggregatorModel;

Параметры

Destination - вариант отображения куба, для которого необходимо настроить агрегацию по измерению.

Описание

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

Пример

Для выполнения примера предполагается наличие в репозитории автоматического куба с идентификатором "AUTO_CUBE". Первое измерения куба содержит более одного уровня.

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

AutoCub: IAutoCube;

Dim: IAutoCubeDimension;

AggregatorManager: MatrixAggregatorManager;

IAggregatorManager: IMatrixAggregatorManager;

AggregatorModel: IMatrixAggregatorModel;

BasicAggregator: IBasicMatrixAggregator;

LevelBasicAggregator: IBasicMatrixLevelAggregator;

Dimension: IAutoCubeDimension;

DimensionModel: IDimensionModel;

Begin

MB := MetabaseClass.Active;

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

AutoCub := MObj As IAutoCube;

Dim := AutoCub.Dimensions.Item(0);

//Создаем новый AggregatorManager

AggregatorManager := New MatrixAggregatorManager.Create;

IAggregatorManager := AggregatorManager As IMatrixAggregatorManager;

//Создаем Aggregator

AggregatorModel := IAggregatorManager.CreateAggregator("BasicMatrixAggregator");

Dimension := AutoCub.Dimensions.Item(0);

DimensionModel := Dimension.Dimension;

//Указываем измерение, по которому настраивается агрегация

AggregatorModel.Dimension := DimensionModel;

BasicAggregator := AggregatorModel As IBasicMatrixAggregator;

//Указываем уровень-источник и уровень-приемник

LevelBasicAggregator := BasicAggregator.LevelAggregation(DimensionModel.Levels.Item(0));

LevelBasicAggregator.Include(DimensionModel.Levels.Item(1)) := True;

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

LevelBasicAggregator.Operation := BasicAggregatorOperation.ActualMean;

//Не сохранять неагрегированные данные

LevelBasicAggregator.PreserveExistingData := False;

//Не использовать значение во владельце при агрегации

LevelBasicAggregator.IncludeOwner := False;

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

Dimension.Aggregator(AutoCub.Destinations.Item(0)) := AggregatorModel;

MObj.Save;

End Sub Main;

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

См. также:

IAutoCubeDimension