ITimeSeries.CalendarSettings

Синтаксис Fore

CalendarSettings: IMsCalendarSettings;

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

CalendarSettings: Prognoz.Platform.Interop.Ms.IMsCalendarSettings;

Описание

Свойство доступно только для чтения.

Свойство CalendarSettings возвращает параметры календарного уровня для пользовательского метода расчёта.

Комментарии

Используя данное свойство можно изменить день начала недели, число выходных дней и прочие параметры.

Пример Fore

В данном примере приведен пользовательский векторный метод расчета. Для выполнения примера добавьте ссылки на системные сборки «Dimensions», «Ms», «Transform».

Function RestDays(Input: ITimeSeries): ITimeSeries;
Var
    TsCalc: TsCalculation;
    pContext: ITsCalculationContext;
    i: Integer;
    pSeries: ITimeSeries;
    CalendSett: ITsCalendarSettings;
Begin
    TsCalc := New TsCalculation.Create;
    pContext := TsCalc.Current;;
    pSeries := pContext.CreateTimeSeries;
    CalendSett := Input.CalendarSettings;
    If CalendSett.RestDays = DayOfWeekSet.SaturdaySunday Then
        For i := Input.StartIndex To Input.EndIndex Do
            pSeries.Item(i) := 1 + Input.Item(i);
        End For;
    End If;
    Return pSeries;
End Function RestDays;

Метод выполняет увеличение значений входного ряда, если выходные дни ряда - это суббота и воскресенье.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Transform;

Function RestDays(Input: ITimeSeries): ITimeSeries;
Var
    TsCalc: TsCalculation;
    pContext: ITsCalculationContext;
    i: Integer;
    pSeries: ITimeSeries;
    CalendSett: ITsCalendarSettings;
Begin
    TsCalc := New TsCalculation.Create();
    pContext := TsCalc.Current[Null];
    pSeries := pContext.CreateTimeSeries(-1 As DimCalendarLevel, NullAs ITimeSeries;
    CalendSett := Input.CalendarSettings;
    If CalendSett.RestDays = DayOfWeekSet.dowsSaturdaySunday Then
        For i := Input.StartIndex To Input.EndIndex Do
            pSeries.Item[i] := 1 + (Input.Item[i] As double);
        End For;
    End If;
    Return pSeries;
End Function RestDays;

Метод выполняет увеличение значений входного ряда, если выходные дни ряда - это суббота и воскресенье.

См. также:

ITimeSeries