IncludeChildren: Boolean;
Свойство IncludeChildren определяет, будут ли при агрегации использоваться значения непосредственных дочерних элементов.
Если свойству установлено значение True - при агрегации будут использоваться значения непосредственных дочерних элементов, иначе значения элементов уровней, выбранных в свойстве Include. По умолчанию свойству установлено значение False.
Для выполнения примера предполагается наличие в репозитории куба с идентификатором "Cube_1". В кубе имеется измерение "D_TO", содержащее несколько уровней.
Sub Main;
Var
MB: IMetabase;
MObj: IMetabaseObject;
StandCub: IStandardCube;
Man: IMatrixAggregatorManager;
Dim: IStandardCubeDimension;
Lvls: IDimLevels;
Lvl: IDimLevel;
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");
Lvls := Dim.Dimension.Levels;
BasicAggr.Dimension := Dim.Dimension;
//Для всех уровней
For Each Lvl In Lvls Do
LevAggr := BasicAggr.LevelAggregation(Lvl);
LevAggr.UseDefaultLevelAggregation := False;
//Метод - Фактическое среднее
LevAggr.Operation := BasicAggregatorOperation.ActualMean;
//Дочерние элементы
LevAggr.IncludeChildren := True;
End For;
//Установка агрегации по первому элементу измерения фактов
Dest := StandCub.Destinations.Item(0);
Dim.Aggregator(1, Dest) := BasicAggr;
MObj.Save;
End Sub Main;
После выполнения примера в кубе будет настроена агрегация для измерения "D_TO". Для всех уровней будет осуществляться агрегация с использованием метода арифметического среднего. При агрегации будут использоваться данные соответствующих дочерних элементов.
См.также: