WarningByStatus(Status: Integer): String;
WarningByStatus[Status: integer]: string;
Status. Номер предупреждения.
Свойство WarningByStatus возвращает текст предупреждения по его номеру.
Массив номеров предупреждений, возникших при выполнении метода, возвращает свойство IStatMethod.WarningsNumbers.
Для выполнения примера добавьте ссылку на системную сборку «Stat».
Sub UserWarnings;
Var
HP: SmHodrickPrescottFilter;
s: Array Of Double;
res: Integer;
j, n: Integer;
Begin
s := New Double[15]; s[07] := 1064.74;
s[00] := 670.2; s[08] := 1033.3;
s[01] := 576.06; s[09] := 780.8;
s[02] := 717.64; s[10] := 657.5;
s[03] := 856.9; s[11] := 654.5;
s[04] := 885.4; s[12] := 678.23;
s[05] := 1011; s[13] := 642.41;
s[06] := 995.44; s[14] := 751.9;
HP := New SmHodrickPrescottFilter.Create;
HP.Serie.Value := s;
HP.ModelPeriod.FirstPoint := 1;
HP.ModelPeriod.LastPoint := 15;
HP.MissingData.Method := MissingDataMethod.SampleAverage;
HP.Frequency := 12;
HP.SmoothingParameterMode := HPSmoothingParameterModeType.EditDirectly;
HP.SmoothingParameter := 5000000000000000000;
res := HP.Execute;
If res <> 0 Then
Debug.WriteLine(HP.Errors);
Else
If HP.WarningsCount > 0 Then
Debug.WriteLine("Предупреждения");
For j := 0 To HP.WarningsNumbers.Length - 1 Do
n := HP.WarningsNumbers[j];
Debug.WriteLine(HP.WarningByStatus(n));
End For;
End If;
Debug.WriteLine("Сглаженный ряд");
For j := 0 To HP.Fitted.Length - 1 Do
Debug.WriteLine(HP.Fitted[j]);
End For;
End If;
End Sub UserWarnings;
После выполнения примера в окно консоли будут выведены: сглаженный ряд и предупреждения, возникшие при расчёте метода.
Imports Prognoz.Platform.Interop.Stat;
…
Public Shared Sub UserWarnings();
Var
HP: SmHodrickPrescottFilter;
s: Array Of Double;
res: Integer;
j, n: Integer;
Begin
s := New Double[15]; s[07] := 1064.74;
s[00] := 670.2; s[08] := 1033.3;
s[01] := 576.06; s[09] := 780.8;
s[02] := 717.64; s[10] := 657.5;
s[03] := 856.9; s[11] := 654.5;
s[04] := 885.4; s[12] := 678.23;
s[05] := 1011; s[13] := 642.41;
s[06] := 995.44; s[14] := 751.9;
HP := New SmHodrickPrescottFilter.Create();
HP.Serie.Value := s;
HP.ModelPeriod.FirstPoint := 1;
HP.ModelPeriod.LastPoint := 15;
HP.MissingData.Method := MissingDataMethod.mdmSampleAverage;
HP.Frequency := 12;
HP.SmoothingParameterMode := HPSmoothingParameterModeType.hpspmtEditDirectly;
HP.SmoothingParameter := 5000000000000000000;
res := HP.Execute();
If res <> 0 Then
System.Diagnostics.Debug.WriteLine(HP.Errors);
Else
If HP.WarningsCount > 0 Then
System.Diagnostics.Debug.WriteLine("Предупреждения");
For j := 0 To HP.WarningsNumbers.Length - 1 Do
n := HP.WarningsNumbers.GetValue(j) As integer;
System.Diagnostics.Debug.WriteLine(HP.WarningByStatus[n]);
End For;
End If;
System.Diagnostics.Debug.WriteLine("Сглаженный ряд");
For j := 0 To HP.Fitted.Length - 1 Do
System.Diagnostics.Debug.WriteLine(HP.Fitted.GetValue(j));
End For;
End If;
End Sub UserWarnings;
После выполнения примера в окно консоли будут выведены: сглаженный ряд и предупреждения, возникшие при расчёте метода.
См. также: