ISmSlideSmoothing.MissingData

Синтаксис Fore

MissingData: IMissingData;

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

MissingData: Prognoz.Platform.Interop.Stat.SlMissingData;

Описание

Свойство MissingData определяет параметры обработки пропусков.

Комментарии

По умолчанию обработка пропусков не выполняется.

Пример Fore

Добавьте ссылку на системную сборку Stat.

Sub UserProc;
Var
    Slide: SmSlideSmoothing;
    s: Array[10Of Double;
    res, i: Integer;
Begin
    Slide := New SmSlideSmoothing.Create;
    s[0] := 670.2;  s[1] := 576.06;
    s[2] := 856.9;  s[3] := Double.Nan;
    s[4] := 885.4;  s[5] := 1011.8;
    s[6] := 995.44; s[7] := 1064.74;
    s[8] := 780.85; s[9] := Double.Nan;
    Slide.Serie.Value := s;
    Slide.ModelPeriod.FirstPoint := 1;
    Slide.ModelPeriod.LastPoint := 10;
    Slide.MissingData.Method := MissingDataMethod.SampleAverage;
    Slide.Width := 3;
    Slide.CenterMovingAverage := True;
    res := Slide.Execute;
    If res <> 0 Then
        Debug.WriteLine(Slide.Errors);
        Else
            Debug.WriteLine("== Сглаженный ряд ==");
            For i := 0 To Slide.Fitted.Length - 1 Do
                Debug.WriteLine(" " + (i+1).ToString + ". " + Slide.Fitted[i].ToString);
            End For;
    End If;
End Sub UserProc;

После выполнения примера в окно консоли будет выведен сглаженный ряд.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub Main(Params: StartParams);
Var
    Slide: SmSlideSmoothing;
    s: Array[10Of Double;
    res, i: Integer;
    Fitted: System.Array;
Begin
    Slide := New SmSlideSmoothing.Create();
    s[0] := 670.2;  s[1] := 576.06;
    s[2] := 856.9;  s[3] := Double.Nan;
    s[4] := 885.4;  s[5] := 1011.8;
    s[6] := 995.44; s[7] := 1064.74;
    s[8] := 780.85; s[9] := Double.Nan;
    Slide.Serie.Value := s;
    Slide.ModelPeriod.FirstPoint := 1;
    Slide.ModelPeriod.LastPoint := 10;
    Slide.MissingData.Method := MissingDataMethod.mdmSampleAverage;
    Slide.Width := 3;
    Slide.CenterMovingAverage := True;
    res := Slide.Execute();
    If res <> 0 Then
        System.Diagnostics.Debug.WriteLine(Slide.Errors);
        Else
            System.Diagnostics.Debug.WriteLine("== Сглаженный ряд ==");
            Fitted := Slide.Fitted;
            For i := 0 To Slide.Fitted.Length - 1 Do
                System.Diagnostics.Debug.WriteLine(" " + (i+1).ToString() + ". " + Fitted[i].ToString());
            End For;
    End If;
End Sub;

См. также:

ISmSlideSmoothing