IdentificationEndDate: DateTime;
Свойство IdentificationEndDate определяет дату окончания периода идентификации.
Дата начала прогноза вычисляется как IdentificationEndDate плюс один период. Недопустимо одновременное использование свойств IdentificationEndDate и IFormulaTransformModel.ForecastStartDate.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента TabSheetBox и компонента UiErAnalyzer с наименованием «UiErAnalyzer1», являющегося источником данных для TabSheetBox. В «UiErAnalyzer1» должна быть загружена рабочая область базы данных временных рядов. В данной базе должен присутствовать показатель с ключом «98280», содержащий годовые данные.
Пример будет выполняться при нажатии на кнопку.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Laner: ILaner;
Series: ILanerSeries;
RubrIn: IRubricatorInstance;
Factor: IRubricatorFactor;
Serie: ILanerSourceSerie;
VarStub: IVariableStub;
CalcSerie: ILanerCalculateSerie;
TransformModel: IFormulaTransformModel;
FormulaTransform: IMsFormulaTransform;
Slice: IMsFormulaTransformSlice;
Selector: IMsFormulaTransformSelector;
Formula: IMsFormula;
Arima: IMsArimaTransform;
TermInfo: IMsFormulaTermInfo;
Begin
Laner := UiErAnalyzer1.ErAnalyzer.Laner;
Laner.ForecastStartYear := 2008;
RubrIn := Laner.RubricatorInstance;
Factor := RubrIn.GetFactData(98280).Factor;
Laner.BeginUpdate;
Series := Laner.Series;
Serie := Series.AddSourceSerie(Factor);
VarStub := Serie.Stub;
CalcSerie := Series.AddCalculateSerie("ARIMA");
TransformModel := CalcSerie.Transform;
TransformModel.AddInputVariable(VarStub);
TransformModel.IdentificationStartDate := DateTime.Parse("01.01.2000 00:00:00");
TransformModel.IdentificationEndDate := DateTime.Parse("31.12.2007 00:00:00");
TransformModel.ForecastStartDate := DateTime.Parse("01.01.2008 00:00:00");
TransformModel.ForecastEndDate := DateTime.Parse("31.12.2017 00:00:00");
TransformModel.UsePeriod := True;
FormulaTransform := TransformModel.Transform As IMsFormulaTransform;
FormulaTransform.Inputs.Add(VarStub);
Slice := FormulaTransform.Outputs.Item(0).Slices.Add(Null);
Selector := FormulaTransform.CreateSelector;
Selector.Slice := Slice;
Formula := FormulaTransform.Transform(Selector);
Formula.Kind := MsFormulaKind.Arima;
Formula.Level := DimCalendarLevel.Year;
Arima := Formula.Method As IMsArimaTransform;
Slice := FormulaTransform.Inputs.Item(0).Slices.Add(Null);
TermInfo := FormulaTransform.CreateTermInfo;
TermInfo.Slice := Slice;
Arima.InputFactorTerm := TermInfo;
Laner.EndUpdate;
End Sub Button1OnClick;
После выполнения примера будет добавлен новый вычисляемый ряд «ARIMA», рассчитывающий показатель с ключом «98280» с помощью метода ARIMA. Для вычислений будут использоваться указанные периоды идентификации и прогнозирования.
См. также: