IMsAggregationFilter.AggregationGroup

Синтаксис

AggregationGroup: IDimElementGroup ;

Описание

Свойство AggregationGroup определяет группу, по которой будет производиться агрегация. Значения свойств IMsAggregationFilter.AggregationSelection и IMsAggregationFilter.AggregationParamID сбрасываются, если данному свойству присваивается значение.

Пример

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC». В контейнере моделирования данной базы должна присутствовать модель с идентификатором «MODEL_AGGR», рассчитываемая методом расширенной агрегации. «COUNTRY» (страна) - атрибут показателей базы, ссылающийся на справочник. «SOUTH_AMERICA» - группа элементов данного справочника.

Также необходимо добавить ссылки на системные сборки «Metabase», «Ms», «Cubes», «Dimensions», «Rds».

Sub UserProc;

Var

Group: IDimElementGroup;

mb: IMetabase;

RubrDescr: IMetabaseObjectDescriptor;

Rubr: IRubricator;

msDescr: IMetabaseObjectDescriptor;

Model: IMsModel;

Transform: IMsFormulaTransform;

Formula: IMsFormula;

Aggr: IMsCrossDimensionAggregationTransform;

FiltesList: IMsAggregationFilterList;

Filter: IMsAggregationFilter;

Attributes: IMetaAttributes;

DictDescr: IMetabaseObjectDescriptor;

Begin

mb := MetabaseClass.Active;

RubrDescr := mb.ItemById("FC");

Rubr := RubrDescr.Bind As IRubricator;

msDescr := Rubr.ModelSpace;

Model := mb.ItemByIdNamespace("MODEL_AGGR", msDescr.Key).Edit As IMsModel;

Transform := Model.Transform;

Formula := Transform.FormulaItem(0);

Aggr := Formula.Method As IMsCrossDimensionAggregationTransform;

FiltesList := Aggr.Filter;

Attributes := Rubr.Facts.Attributes;

DictDescr := Attributes.FindById("COUNTRY").ValuesObject;

Filter := FiltesList.Add(DictDescr.Bind As IDimensionModel);

Group := Mb.ItemByIdNamespace("SOUTH_AMERICA", DictDescr.Key).Bind As IDimElementGroup;

Filter.AggregationGroup := Group;

Debug.WriteLine("ФИЛЬТР АГРЕГАЦИИ");

Debug.WriteLine("  Наименование фильтра: " + Filter.Name);

Debug.WriteLine("  Отметка фильтра: " + Group.Selection.ToString);

(Model As IMetabaseObject).Save;

End Sub UserProc;

После выполнения примера в модель расширенной агрегации будет добавлен новый фильтр: рассчитывать агрегацию только для элементов группы «SOUTH_AMERICA». Затем в окно консоли будет выведена информация о данном фильтре.

См. также:

IMsAggregationFilter