Forum Discussion

Fabi_Rntmn's avatar
Fabi_Rntmn
Regular Visitor
4 years ago
Solved

Split Rows for Entries Greater Than 24 Hours

Hello Together,    imagine I have the following table consisting of start times and end times where one entry is larger than 24 hours (here 48 hours):   How can I cut this entry in this cas...
  • tamerj1's avatar
    4 years ago

    Hi Fabi_Rntmn 
    This is a bet complex. Please refer to sample file with the solution https://we.tl/t-rgdc467UOW

    New Data = 
    VAR T1 =
        GENERATE (
            Data,
            VAR StartTime = Data[StartTime]
            VAR EndTime = Data[EndTime]
            VAR StartDate = DATE ( YEAR ( StartTime ), MONTH ( StartTime ), DAY ( StartTime ) )
            VAR EndDate = DATE ( YEAR ( EndTime ), MONTH ( EndTime ), DAY ( EndTime ) )
            VAR HoursToAdd = TIME ( 23, 59, 59 )
            RETURN
                ADDCOLUMNS (
                    CALENDAR ( StartTime, EndTime ),
                    "@NewStartTime", IF ( [Date] = StartDate, StartTime, [Date] ),
                    "@NewEndTime", IF ( [Date] = EndDate, EndTime, [Date] + HoursToAdd )
                )
        )
    RETURN
        SELECTCOLUMNS (
            T1,
            "Start Time", [@NewStartTime],
            "End Time", [@NewEndTime],
            "Time Difference", 
                DIVIDE ( 
                    DATEDIFF ( [@NewStartTime], [@NewEndTime], SECOND ), 
                    3600 
                )
        )