IMsFormulaTransformVariables.AddAttributeVariable

Синтаксис

AddAttributeVariable(Value: IVariableStub; AttributeId: String): IMsFormulaTransformVariable;

Параметры

Value. Источник данных переменной;

AttributeId. Идентификатор атрибута, на котором основана переменная.

Описание

Метод AddAttributeVariable добавляет в коллекцию переменную, которая основана на атрибуте.

Комментарии

Переменные, основанные на атрибуте, предназначены для использования в выражениях. Для определения способа задания значения атрибута используйте IMsMetaAttributeValue.Kind.

Пример

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC». В контейнере моделирования данной базы должна присутствовать модель с идентификатором «MODEL_ATTR». Также перед выполнением процедуры необходимо добавить ссылки на системные сборки «Ms», «Cubes», «Rds», «Metabase».

Sub UserProc;

Var

Mb: IMetabase;

RubrDescr: IMetabaseObjectDescriptor;

Rubr: IRubricator;

MsDescr: IMetabaseObjectDescriptor;

Model: IMsModel;

Transform: IMsFormulaTransform;

TransformVarables: IMsFormulaTransformVariables;

Stub: IVariableStub;

TransVar: IMsFormulaTransformVariable;

Slice: IMsFormulaTransformSlice;

AttrValList: IMsMetaAttributeValueList;

AttrVal: IMsMetaAttributeValue;

Begin

Mb := MetabaseClass.Active;

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

Rubr := RubrDescr.Bind As IRubricator;

MsDescr := Rubr.ModelSpace;

Model := Mb.ItemByIdNamespace("MODEL_ATTR", MsDescr.Key).Edit As IMsModel;

Transform := Model.Transform;

TransformVarables := Transform.Outputs;

Stub := RubrDescr.Bind As IVariableStub;

TransVar := TransformVarables.AddAttributeVariable(Stub, "UNIT");

Slice := TransformVarables.Item(0).Slices.Item(0);

AttrValList := Slice.MetaAttributeValueList;

AttrVal := AttrValList.FindById("UNIT");

AttrVal.Kind := MsMetaAttributeValueType.Unspecified;

(Model As IMetabaseObject).Save;

End Sub UserProc;

После выполнения примера для модели будет добавлена входная переменная, основанная на атрибуте показателей «UNIT» (единицы измерения). Значение атрибута - неспецифицированное. Таким образом, во время расчета модели будет проверено значение данного атрибута для входных переменных, если значение совпадает, то оно будет записано в атрибут выходной переменной, если нет - то значение атрибута изменено не будет.

См. также:

IMsFormulaTransformVariables