WorkDayCount: Integer;
WorkDayCount: integer;
The WorkDayCount property returns the number of working days in a week.
This property is relevant for series with daily calendar dynamics. The WorkDayCount value is calculated as seven minus the number of days from the ITsCalendarSettings.RestDays property.
This example displays the custom vector calculation method. Add links to the Dimensions, Ms, Transform system assemblies to execute the example.
Function WorkDayCount(Input: ITimeSeries): Variant;
Var
pContext: ITsCalculationContext;
i: Integer;
pSeries: ITimeSeries;
CalendSett: ITsCalendarSettings;
Begin
pContext := TsCalculation.Current;
pSeries := pContext.CreateTimeSeries(DimCalendarLevel.Day);
CalendSett := pContext.CalendarSettings;
If (CalendSett.WorkDayCount = 5) And (CalendSett.FirstDay = DayOfWeekSet.Monday) Then
For i := Input.StartIndex To Input.EndIndex Do
pSeries.Item(i) := 1 + Input.Item(i);
End For;
Else
pContext.RaiseWarning("Used calendar parameters don't fit for method calculation");
End If;
Return pSeries;
End Function WorkDayCount;
The method increases input series values if the custom calculation method context is set on a five-day week and Monday is the beginning of the week.
Custom vector calculation method is given in this example.
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.Transform;
Public Function WorkDayCountNet(Input: ITimeSeries): object;
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, Null) As ITimeSeries;
CalendSett := pContext.CalendarSettings[Null];
If (CalendSett.WorkDayCount = 5) And (CalendSett.FirstDay = DayOfWeekSet.dowsMonday) Then
For i := Input.StartIndex To Input.EndIndex Do
pSeries.Item[i] := 1 + (Input.Item[i] As double);
End For;
Else
pContext.RaiseWarning("Used calendar parameters don't fit for method calculation");
End If;
Return pSeries;
End Function WorkDayCountNet;
The method increases input series values if the custom calculation method context is set on a five-day week and Monday is the beginning of the week.
See also: