IMsFormulaTerm.UpdateSlice

Синтаксис

UpdateSlice(Value: IMsFormulaTransformSlice; Lag: String);

Параметры

Value. Срез переменной, который необходимо обновить.

Lag. Лаг, который необходимо задать.

Описание

Метод UpdateSlice используется для обновления среза переменной и лага, на которую ссылается данный терм.

Примечание. Метод является устаревшим, используйте вместо него свойство TermInfo.

Пример

Для выполнения примера предполагается наличие в контейнере моделирования модели с идентификатором "NEW_NONLINREG". Для расчета модели используется метод нелинейной регрессии.

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

Model: IMsModel;

Trans: IMsFormulaTransform;

VarTrans: IMsFormulaTransformVariable;

Tree: IMsFormulaTransformSlicesTree;

Slice: IMsFormulaTransformSlice;

Selector: IMsFormulaTransformSelector;

Formula: IMsFormula;

NonLinear: IMsNonLinearRegressionTransform;

TransVar: IMsFormulaTransformVariable;

TermX1: IMsFormulaTerm;

s: String;

Begin

MB := MetabaseClass.Active;

MObj := MB.ItemByIdNamespace("NEW_NONLINREG", MB.ItemById("KONT_MODEL").Key).Edit;

Model := MObj As IMsModel;

Trans := Model.Transform;

VarTrans := Trans.Outputs.Item(0);

Tree := VarTrans.SlicesTree(VarTrans);

Slice := Tree.CreateSlice(1);

Selector := Model.Transform.CreateSelector;

Selector.Slice := Slice;

Formula := Model.Transform.Transform(Selector);

Formula.Kind := MsFormulaKind.NonLinearRegression;

NonLinear := Formula.Method As IMsNonLinearRegressionTransform;

TransVar := Model.Transform.Inputs.Item(0);

TermX1 := NonLinear.Operands.Item(0);

//получение нового среза переменной

Slice := TransVar.SlicesTree(VarTrans).CreateSlice(3);

//обновление среза и лага в терме

TermX1.UpdateSlice(Slice, "-3");

MObj.Save;

End Sub Main;

После выполнения примера будет обновлен терм, ссылающийся на срез первой входной переменной модели.

См. также:

IMsFormulaTerm