cancel
Showing results for
Did you mean:
New Member

## Split start time and end time into multiple rows based on shift

Hi,

I'm trying to achieve the transformation below. I tried multiple things but they quickly became overly complicated. I hope you can help.

My sample data:

 Id Start Time End Time 1 2020-01-05 15:20:00 2020-01-05 22:45:00 2 2020-01-11 10:20:00 2020-01-12 08:00:00 3 2020-01-14 16:55:00 2020-01-15 08:00:00 3 2020-01-15 08:00:00 2020-01-16 08:00:00

There are three shifts per day starting from 08:00 AM and ending at 08:00 AM on next day, 8 hours each.

Shift 1 - 08-16

Shift 2 - 16-00

Shift 3 - 00-08

I'd like to split each row if the event spans over multiple shifts and replace start and end times with shift start and end times until start time and end time is on the same shift.

Desired outcome:

 Id Start Time End Time 1 2020-01-05 15:20:00 2020-01-05 16:00:00 1 2020-01-05 16:00:00 2020-01-05 22:45:00 2 2020-01-11 10:20:00 2020-01-11 16:00:00 2 2020-01-11 16:00:00 2020-01-12 00:00:00 2 2020-01-12 00:00:00 2020-01-12 08:00:00 3 2020-01-14 16:55:00 2020-01-15 00:00:00 3 2020-01-15 00:00:00 2020-01-15 08:00:00 3 2020-01-15 08:00:00 2020-01-15 16:00:00 3 2020-01-15 16:00:00 2020-01-16 00:00:00 3 2020-01-16 00:00:00 2020-01-16 08:00:00

1 ACCEPTED SOLUTION
Super User II

try this and let's know

4 REPLIES 4
Super User II

try this and let's know

New Member

Thank your for solution. I haven't yet tried with my data but it should work. Can you please walk me through your steps? I'd like to understand better for future uses. Would this work with 12h shifts for example?

Super User II

try to adapt and see what is appening .

replace "08" with "12".

consider that where there is a product of 3 it is, in effect, of 24/8. In the hypothesis of two shifts of 12 hours, 24/8 becomes 24/12 = 2.

Regarding the explanation, it depends on your level of knowledge.

I can explain the basic idea of the solution or even the implementation details (there are also possibilities of different solutions using the List.generate function).

If you try to study it and then say where it is not clear to you, perhaps the explanation could be more effective.

New Member

Thanks for your explanation. I'm not too familiar with M but so far I can follow the transformations. Accepted as solution.

Announcements

#### Welcome to the User Group Public Preview

Check out how to claim yours today!

Test your skills now with the Cloud Skills Challenge.

Top Solution Authors
Top Kudoed Authors