IMsMethod.Execute

Синтаксис

Execute(Calculation: IMsMethodCalculation; Coord: IMsFormulaTransformCoord): IMsModelCalculationResult;

Параметры

Calculation. Настройки, необходимые для расчета модели;

Coord. Срез, по которому осуществляется расчет.

Описание

Метод Execute осуществляет расчет модели и возвращает результаты расчета.

Пример

Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором MODEL_SPACE. В контейнере присутствует модель с идентификатором MODEL_LINREG. Модель использует для расчета метод линейной регресии (оценка МНК).

Sub Main;

Var

MB: IMetabase;

Model: IMsModel;

Transform: IMsFormulaTransform;

VarTrans: IMsFormulaTransformVariable;

Tree: IMsFormulaTransformSlicesTree;

Slice: IMsFormulaTransformSlice;

Selector: IMsFormulaTransformSelector;

Formula: IMsFormula;

LinReg: IMsLinearRegressionTransform;

Coord: IMsFormulaTransformCoord;

Calc: IMsModelCalculation;

CalcRes: IMsModelCalculationResult;

Begin

MB := MetabaseClass.Active;

Model := MB.ItemByIdNamespace("MODEL_LINREG", MB.ItemById("MODEL_SPACE").Key).Bind As IMsModel;

Transform := Model.Transform;

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

Tree := VarTrans.SlicesTree(VarTrans);

Slice := Tree.CreateSlice(1);

Selector := Model.Output.Item(0).Transform.CreateSelector;

Selector.Slice := Slice;

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

LinReg := Formula.Method As IMsLinearRegressionTransform;

Coord := Model.Transform.CreateCoord(VarTrans);

Calc := Model.CreateCalculation;

Calc.Period.IdentificationStartDate := DateTime.ComposeDay(1990, 01, 01);

Calc.Period.IdentificationEndDate := DateTime.ComposeDay(2007, 12, 31);

Calc.Period.ForecastStartDate := DateTime.ComposeDay(2008, 01, 01);

Calc.Period.ForecastEndDate := DateTime.ComposeDay(2010, 12, 31);

CalcRes := LinReg.Execute(Calc As IMsMethodCalculation, Coord);

End Sub Main;

После выполнения примера будет осуществлен расчет модели.

См. также:

IMsMethod