IFormulaTransformModel.UsePeriod

Синтаксис

UsePeriod: Boolean;

Описание

Свойство UsePeriod определяет, будут ли при расчете ряда использоваться указанные периоды идентификации и прогнозирования. True - будут использоваться указанные периоды идентификации и прогнозирования.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «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. Для вычислений будут использоваться указанные периоды идентификации и прогнозирования.

См. также:

IFormulaTransformModel