ILanerTransformPeriod.ForecastStartDateParamID

Синтаксис

ForecastStartDateParamID: String;

Описание

Свойство ForecastStartDateParamID определяет идентификатор параметра, задающего дату начала периода прогнозирования.

Комментарии

Значение свойства можно изменять, если ILanerTransformPeriod.PeriodSet имеет значение LnTransformPeriodSet.ForecastStartDate или LnTransformPeriodSet.All. Поэтому ILanerTransformPeriod.PeriodSet необходимо задавать до ForecastStartDateParamID.

Если значение свойства не задано, то дату начала периода прогнозирования определяет свойство ILanerTransformPeriod.ForecastStartDate.

Если заданы свойства ForecastStartDateParamID и ILanerTransformPeriod.ForecastStartDate, то дату начала периода прогнозирования определяет то свойство, которое задано последним.

Пример

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

Добавьте ссылки на системные сборки: Cubes, Dal, Transform.

Sub UserProc;
Var
    Eax: IEaxAnalyzer;
    ParamsProv: ITsParamProvider;
    mParams: ITsModelParams;
    tParam: ITsModelParam;
    ParamVals: ITsModelParamValues;
    pVal: ITsModelParamValue;
    Laner: ILaner;
    CalcSerie: ILanerCalculateSerie;
    TransfPeriod: ILanerTransformPeriod;
Begin
    // Получаем рабочую книгу
    Eax := UiErAnalyzer1.ErAnalyzer;
    // Получаем объект для работы с параметрами
    ParamsProv := Eax.ParamProvider As ITsParamProvider;
    // Получаем коллекцию параметров    
    mParams := ParamsProv.Params;
    // Очищаем коллекцию параметров
    mParams.Clear;
    // Создаем новые параметры и задаем их тип
    tParam := mParams.Add;
    tParam.ParamType := TsParamType.Date;
    tParam.DataType := DbDataType.DateTime;
    tParam.Id := "IDENT_START";
    tParam.Name := "Начало идентификации";
    tParam := mParams.Add;
    tParam.ParamType := TsParamType.Date;
    tParam.DataType := DbDataType.DateTime;
    tParam.Id := "FORECAST_START";
    tParam.Name := "Начало прогноза";
    tParam := mParams.Add;
    tParam.ParamType := TsParamType.Date;
    tParam.DataType := DbDataType.DateTime;
    tParam.Id := "FORECAST_END";
    tParam.Name := "Окончание прогноза";
    // Задаем значения параметров
    ParamVals := ParamsProv.ParamValues;
    // Начало идентификации
    pVal := ParamVals.FindById("IDENT_START");
    pVal.Value := "01.01.1995";
    // Начало прогноза
    pVal := ParamVals.FindById("FORECAST_START");
    pVal.Value := "01.01.2007";
    // Окончание прогноза
    pVal := ParamVals.FindById("FORECAST_END");
    pVal.Value := "01.01.2015";
    // Используем объект для работы с временными рядами
    Laner := Eax.Laner;
    Laner.BeginUpdate;
    // Получаем вычисляемый ряд
    CalcSerie := Laner.Series.Item(0As ILanerCalculateSerie;
    // Получаем параметры расчета ряда
    TransfPeriod := CalcSerie.TransformPeriod;
    // Задаем используемые границы расчета периодов
    TransfPeriod.AutoPeriod := TransformModelAutoPeriodOptions.None;
    TransfPeriod.PeriodSet := LnTransformPeriodSet.All;
    // Указываем параметры для определения границ расчёта ряда
    TransfPeriod.StartDateParamId := "IDENT_START";
    TransfPeriod.ForecastStartDateParamID := "FORECAST_START";
    TransfPeriod.EndDateParamId := "FORECAST_END";
    // Обновляем параметрические значения в рабочей книге
    Laner.Refresh;
    Laner.EndUpdate;
End Sub

В результате выполнения примера в рабочей книге созданы параметры, определяющие период расчёта вычисляемых рядов. Для данных параметров заданы значения и они использовались для расчета первого вычисляемого ряда в таблице данных.

См. также:

ILanerTransformPeriod