IMsAggregationFilter.AggregationGroup

Синтаксис

AggregationGroup: IDimElementGroup;

Описание

Свойство AggregationGroup определяет группу, по которой будет производиться агрегация.

Комментарии

Если свойству задаётся значение, то значения свойств IMsAggregationFilter.AggregationSelection и IMsAggregationFilter.AggregationParamID сбрасываются.

Пример

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

Добавьте ссылки на системные сборки: Cubes, Dimensions, Metabase, Ms, 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

Связанные записи

Требование 130645