IMsCustomTerm.Seas

Синтаксис Fore

Seas(Index: Integer; [CustomFrequency: MsFrequancy = 0]): Variant;

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

Seas(Index: integer;
     CustomFrequency: Prognoz.Platform.Interop.Ms.MsFrequancy;
     Context: Prognoz.Platform.Interop.Fore.IForeRuntimeContext): object;

Параметры

Index. Периоды года. Значения для моделей с квартальной динамикой находятся в диапазоне [1; 4], для моделей с месячной динамикой - [1; 12];

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

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

Описание

Метод Seas возвращает фиктивную переменную, каждый элемент которой соответствует тому, принадлежит ли наблюдение указанному периоду в течение текущего года. Год разделен согласно календарной динамике ряда.

Комментарии

Метод доступен только для моделей с квартальной или месячной динамикой.

Seas(4)

Предположим, что модель имеет квартальную динамику, дата начала периода идентификации - «01.01.2003», дата окончания - «31.12.2004». Метод Seas применяется для определения, принадлежит ли наблюдение четвертому кварталу. Фиктивная переменная будет содержать значения:

Год

I квартал 2003

II квартал 2003

III квартал 2003

IV квартал 2003

I квартал 2004

II квартал 2004

III квартал 2004

IV квартал 2004

Значение моделируемой переменной

0,12

0,13

0,11

0,14

0,38

0,47

0,67

0,64

Значение Seas

0

0

0

1

0

0

0

1

Пример 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 := "Seas(4)";
    (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 := "Seas(4)";
    (Model As IMetabaseObject).Save();
End Sub;

См. также:

IMsCustomTerm