IMsTimeMatrix.DateToIndex

Синтаксис Fore

DateToIndex(Value: DateTime): Integer;

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

DateToIndex(Value: System.DateTime): integer;

Параметры

Value. Календарная точка ряда.

Описание

Метод DateToIndex переводит дату в индекс.

Комментарии

Для перевода индекса в дату используйте метод IMsTimeMatrix.IndexToDate.

Пример Fore

В данном примере описан пользовательский метод.

Для выполнения примера добавьте ссылки на системные сборки Ms, MathFin.

Public Function Max(Matrix: IMsTimeMatrix): Variant;
Var
    Serie : ITimeSeries;
    index, i : integer;
    arr : Array Of double;
Begin
    Serie := New TimeSeries.Create;
    index := Matrix.CurrentIndex;
    If Matrix.DateToIndex(Matrix.ForecastStartDate) <> index Then
        For i := 0 To Matrix.PointCount - 1 Do
            arr := Matrix.Column(i) As Array Of double;
            Serie.Item(i) := Math.Max(arr);
        End For;
    End If
    Return Serie;
End Function Max;

Метод находит максимальное значение среди точек ряда матрицы, если значение, полученное при переводе даты в индекс, не совпадает с текущим индексом расчета.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.MathFin;

Public Function Max1(Matrix: IMsTimeMatrix): object;
Var
    Serie : ITimeSeries;
    index, i : integer;
    arr : Array Of double;
    Math: MathClass = New MathClass();
Begin
    Serie := New TimeSeries.Create();
    index := Matrix.CurrentIndex;
    If Matrix.DateToIndex(Matrix.ForecastStartDate) <> index Then
        For i := 0 To Matrix.PointCount - 1 Do
            arr := Matrix.Column(i) As Array Of double;
            Serie.Item[i] := Math.Max(arr);
        End For;
    End If;
    Return Serie;
End Function Max1;

См. также:

IMsTimeMatrix