IMsCustomTerm.Time

Синтаксис Fore

Time([StartDate: String = "";][CustomFrequency: MsFrequency = 0]): Variant;

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

Time(StartDate: string;
     CustomFrequency: Prognoz.Platform.Interop.Ms.MsFrequancy;
     Context: Prognoz.Platform.Interop.Fore.IForeRuntimeContext): object;

Параметры

StartDate. Опорная дата для формирования значений. Наблюдение в данной точке будет иметь нулевое значение. Параметр необязательный. Значение по умолчанию совпадает с датой начала периода идентификации модели;

CustomFrequency. Динамика, для которой формируются значения. Необязательный параметр. По умолчанию динамика не задана и совпадает с динамикой модели;

Context. Контекст. Применяется только в Fore.NET.

Описание

Метод Time возвращает временной ряд, значение которого для каждого последующего наблюдения увеличивается на единицу.

Комментарии

Временная переменная Time может содержать положительные и отрицательные значения. Предположим, что дата начала периода идентификации модели - «01.01.2003», дата окончания - «01.01.2009». Значение параметра StartDate - «01.01.2006». Переменная будет содержать значения:

Год

2003

2004

2005

2006

2007

2008

2009

Значение Time

-3

-2

-1

0

1

2

3

Пример Fore

Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «CONT_MODEL», содержащего модель детерминированного уравнения с идентификатором «DUMMIES_DETERM». Добавьте ссылки на системные сборки «Metabase», «Ms».

Sub UserProc;
Var
    mb: IMetabase;
    MsDescr: IMetabaseObjectDescriptor;
    Model: IMsModel;
    Transf: IMsFormulaTransform;
    Determ: IMsDeterministicTransform;
Begin
    mb := MetabaseClass.Active;
    MsDescr := mb.ItemById("CONT_MODEL");
    Model := mb.ItemByIdNamespace("DUMMIES_DETERM", MsDescr.Key).Edit As IMsModel;
    Transf := Model.Transform;
    Determ := Transf.FormulaItem(0).Method As IMsDeterministicTransform;
    Determ.Expression.AsString := "Time(""" + "01.01.2006" + """)";
    (Model As IMetabaseObject).Save;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    MsDescr: IMetabaseObjectDescriptor;
    Model: IMsModel;
    Transf: IMsFormulaTransform;
    Determ: IMsDeterministicTransform;
Begin
    mb := Params.Metabase;
    MsDescr := mb.ItemById["CONT_MODEL"];
    Model := mb.ItemByIdNamespace["DUMMIES_DETERM", MsDescr.Key].Edit() As IMsModel;
    Transf := Model.Transform;
    Determ := Transf.FormulaItem[0].Method As IMsDeterministicTransform;
    Determ.Expression.AsString := "Time(""" + "01.01.2006" + """)";
    (Model As IMetabaseObject).Save();
End Sub;

См. также:

IMsCustomTerm