IMsDeterministicTransform.AggregateOperands

Синтаксис

AggregateOperands: IMsCompositeFormulaTermList;

Описание

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

Пример

Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «OBJ_RUBRICATOR». «INDICATOR» - пользовательский атрибут показателей базы, ссылающийся на справочник. «NATIONAL_ACCOUNTS» - группа элементов справочника, на который ссылается атрибут «INDICATOR». В контейнере моделирования данной базы должна присутствовать модель «MODEL_DETERM», основанная на показателях и рассчитываемая методом детерминированного уравнения.

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

Sub UserProc;
Var
    MB: IMetabase;
    Ruby: IRubricator;
    ModelCont: IMetabaseObjectDescriptor;
    MObj: IMetabaseObject;
    Model: IMsModel;
    Trans: IMsFormulaTransform;
    Formula: IMsFormula;
    Determ: IMsDeterministicTransform;
    MetaAttr: IMetaAttribute;
    DimObj: IMetabaseObjectDescriptor;
    Group: IDimElementGroup;
    AggrOperands: IMsCompositeFormulaTermList;
    AggrOper: IMsCompositeFormulaTerm;
    DimModel: IDimensionModel;
Begin
    MB := MetabaseClass.Active;
    Ruby := MB.ItemById("OBJ_RUBRICATOR").Bind As IRubricator;
    ModelCont := Ruby.ModelSpace;
    MObj := mb.ItemByIdNamespace("MODEL_DETERM", ModelCont.Key).Edit;
    Model := MObj As IMsModel;
    Trans := Model.Transform;
    Formula := Model.Transform.FormulaItem(0);
    Determ := Formula.Method As IMsDeterministicTransform;
    MetaAttr := Ruby.Facts.Attributes.FindById("INDICATOR");
    DimObj := MetaAttr.ValuesObject;
    Group := Mb.ItemByIdNamespace("NATIONAL_ACCOUNTS", DimObj.Key).Edit As IDimElementGroup;
    AggrOperands := Determ.AggregateOperands;
    AggrOper := AggrOperands.Add;
    AggrOper.AggregationGroup := Group;
    DimModel := DimObj.Bind As IDimensionModel;
    AggrOper.AggregationAttrKey := DimModel.Attributes.FindById("KEY").Key;
    MObj.Save;
End Sub UserProc;

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

См. также:

IMsDeterministicTransform