Seas(Index: Integer; [CustomFrequency: MsFrequancy = 0]): Variant;
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 |
Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «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.
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;
См. также: