Within Reporting, there is 2 main time off datasets:
-
Time Off Requests: The time off request dataset is based on the data in the time off module. It consists of a Start date, End date, Reason, and Duration.
- E.g.: Holiday requests from 21/07/2020 to 25/07/2020 (5 days duration). What you see in the time off requests is the same as you will see in the time off module.
-
Time Off Period: The time off period dataset takes the data from each time off request and then splits it into multiple records where each record will represent a date between the start and end date based on the employee's working pattern between the start date and end date.
- E.g.: Using the same above example, we would have 5 records in the time off period dataset; 1 for each day, each with a duration of 1.
Why do we have 2 datasets?
The above examples explain the difference between. Let's take another example with a time off request as below:
Start date: June 26, 2020
End date: August 14, 2020
Reason: Sickness
Duration: 18 days
Scenario 1
Let's imagine you want a report of everyone who was off due to sickness in July.
Using the time off requests dataset, you can filter on the Start date and/or End date - if you set the filter to say Start date is July or End date is July, nothing would show since it does not meet that criteria. That could mean that the whole absence is missed from your data.
You could tweak the filters above to say the Start date is June 26. This would then show the data but you would risk having data where the Start date and End date are in June - either way, it's still prone to error.
As the request gets split into individual days, using the time off period dataset can then let you filter where the date is in July (i.e. the date of the individual date - not the start or end date).
It would not matter if the start date was before the period or in the period - the dataset would show the entry as it will have at least one date in July.
Scenario 2
As well as knowing how many people were off due to sickness in July, let's say we want to also know the total sickness days in July.
If we use the above time off request, the issue in Scenario 1 would arise. Even if you overcame that by tweaking your filters and there were no requests between the Start date of June 26 and the start of July, the duration, in this instance, would be shown as 18 days.
It is possible, but highly unlikely, that all 18 of those days were in July, but it is much more likely that maybe 60% of them were in July while the rest were in June and August.
Using the time off requests dataset, you would not be able to accurately tell how many days were lost in July.
However, using the time off period dataset, you could simply do a sum of the durations for each of the dates which fall in July. In this example, it might give 10 for example, which would then be an accurate view of actual days lost.
How do we determine what to put into the time off period dataset?
To put it simply, the system loops through every date between the Start date and End date. Then, for each date, the system checks the employee's working pattern (including historic working patterns for prior requests, if needed), then we determine if that was a working day for the employee (i.e. this inserts it into the period dataset) and the duration that working day was.
In the above example, there are 49 days and "36 working days", yet the request has a duration of 18 days. This means that the employee only works 2.5 days a week or that they are working 1 week on and 1 week off, etc. However, either way, without the time off period dataset, we would not be able to access the same level of details.
Please Note
For this to work, you MUST have the correct working patterns (and potentially historic working patterns) for your employees. If you do not, you will then most likely see discrepancies in the data, mainly in the time off period dataset.
If this happens and you have fixed the discrepancy, you can go to the time off module and from the Actions column, click on 'View dates' - this will show you the time off period data for that time off request. You can then click on 'Regenerate' which will repopulate the time off period dataset for that request.
Please Note - If you do not fix the issue with the working pattern first, the 'Regenerate' will show the same data as before or could show a completely different data.
HRWize
Comments