MetaAttributeFilter: IMsMetaAttributeFilter;
Свойство MetaAttributeFilter возвращает объект, содержащий фильтр, применяемый при расчете задачи моделирования.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «OBJ_RUBRICATOR». В контейнере моделирования данной базы данных временных рядовй должна существовать задача, основанная на показателях базы, с идентификатором «OBJ_PROBLEM». «COUNTRY» - пользовательский атрибут показателей базы, ссылающийся на справочник.
Sub Main;
Var
MB: IMetabase;
RubDescr: IMetabaseObjectDescriptor;
ContKey: Integer;
Obj: IMetabaseObject;
Problem: IMsProblem;
T: IMsTransformationProblem;
CalcSettings: IMsProblemCalculationSettings;
Calculation: IMsProblemCalculation;
Ruby: IRubricator;
MetaAttr: IMetaAttribute;
MetaVals: IMsMetaAttributeValues;
Dict: IMetabaseObject;
DI: IDimInstance;
Sel: IDimSelection;
Begin
MB := MetabaseClass.Active;
RubDescr := MB.ItemById("OBJ_RUBRICATOR");
ContKey := MB.ItemByIdNamespace("MODELSPACE_TRANSFORMS", RubDescr.Key).Key;
Obj := MB.ItemByIdNamespace("OBJ_PROBLEM", ContKey).Edit;
Problem := Obj As IMsProblem;
T := New MsTransformationProblem.Create;
Problem.Details := T;
CalcSettings := Problem.CreateCalculationSettings;
CalcSettings.FactIncluded := True;
Obj.Save;
Calculation := Problem.Calculate(CalcSettings);
Ruby := RubDescr.Bind As IRubricator;
MetaAttr := Ruby.Facts.Attributes.FindById("COUNTRY");
MetaVals := Calculation.MetaAttributeFilter.Add(MetaAttr);
Dict := MetaAttr.ValuesObject.Bind;
DI := Dict.Open(Null) As IDimInstance;
Sel := DI.CreateSelection;
Sel.SelectElement(0, False);
MetaVals.Selection := Sel;
Calculation.Run;
Obj.Save;
End Sub Main;
После выполнения примера, для задачи моделирования будет определена фильтрация, затем задача будет рассчитана.
См. также: