IFormulaTransformModel.AutoPeriod

Синтаксис Fore

AutoPeriod: TransformModelAutoPeriodOptions;

Синтаксис Fore.NET

AutoPeriod: Prognoz.Platform.Interop.Cubes.TransformModelAutoPeriodOptions;

Описание

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

Комментарии

Данное свойство позволяет задать следующие параметры расчёта границ периодов:

Дата начала периода идентификации Дата окончания периода идентификации Дата начала периода прогнозирования Дата окончания периода прогнозирования
Определенная дата (по умолчанию). Определенная дата (по умолчанию). Определенная дата (по умолчанию) Определенная дата (по умолчанию).
Сегодня плюс/минус k точек. Сегодня плюс/минус k точек. Сегодня плюс/минус k точек. Сегодня плюс/минус k точек.
Начало данных плюс/минус k точек. Конец данных плюс/минус k точек. Конец прогнозирования плюс/минус k точек. Конец данных плюс/минус k точек.
Конец идентификации минус k точек. Начало идентификации плюс k точек. Начало идентификации плюс k точек. Конец идентификации плюс k точек.
  Начало данных плюс k точек. Конец идентификации плюс k точек.  

Параметр k задается следующими свойствами:

Пример Fore

Для выполнения примера в репозитории предполагается наличие рабочей книги с идентификатором «WB_AUTOPERIOD», содержащей вычисляемый ряд. Данный ряд должен быть первым в таблице данных и рассчитываться с помощью прогнозного метода.

Добавьте ссылки на системные сборки: Cubes, Express, Laner, Metabase, Ms.

Sub UserProc;
Var
    mb: IMetabase;
    ErAn: IEaxAnalyzer;
    Laner: ILaner;
    Series: ILanerSeries;
    Serie: ILanerCalculateSerie;
    TransformModel: IFormulaTransformModel;
Begin
    mb := MetabaseClass.Active;
    ErAn := mb.ItemById("WB_AUTOPERIOD").Edit As IEaxAnalyzer;
    Laner := ErAn.Laner;
    Series := Laner.Series;
    Serie := Series.Item(0As ILanerCalculateSerie;
    TransformModel := Serie.Transform;
    TransformModel.AutoPeriod := TransformModelAutoPeriodOptions.IdentStartByFact
        Or TransformModelAutoPeriodOptions.IdentEndByFact
        Or TransformModelAutoPeriodOptions.ForecastStartByIdentEnd
        Or TransformModelAutoPeriodOptions.ForecastEndByIdentEnd;
    TransformModel.IdentificationStartOffset := 2;
    TransformModel.IdentificationEndOffset := -1;
    TransformModel.ForecastStartDateOffset := 1;
    TransformModel.ForecastEndOffset := 10;
    TransformModel.UsePeriod := True;
    (ErAn As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера для первого вычисляемого ряда будут установлены следующие параметры границ расчёта:

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Laner;
Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    ErAn: IEaxAnalyzer;
    Laner: ILaner;
    Series: ILanerSeries;
    Serie: ILanerCalculateSerie;
    TransformModel: IFormulaTransformModel;
Begin
    mb := Params.Metabase;
    ErAn := mb.ItemById["WB_AUTOPERIOD"].Edit() As IEaxAnalyzer;
    Laner := ErAn.Laner;
    Series := Laner.Series;
    Serie := Series.Item[0As ILanerCalculateSerie;
    TransformModel := Serie.Transform;
    TransformModel.AutoPeriod := TransformModelAutoPeriodOptions.tmapoIdentStartByFact
        Or TransformModelAutoPeriodOptions.tmapoIdentEndByFact
        Or TransformModelAutoPeriodOptions.tmapoForecastStartByIdentEnd
        Or TransformModelAutoPeriodOptions.tmapoForecastEndByIdentEnd;
    TransformModel.IdentificationStartOffset := 2;
    TransformModel.IdentificationEndOffset := -1;
    TransformModel.ForecastStartDateOffset := 1;
    TransformModel.ForecastEndOffset := 10;
    TransformModel.UsePeriod := True;
    (ErAn As IMetabaseObject).Save();
End Sub;

См. также:

IFormulaTransformModel