Forum Discussion

rocky09's avatar
rocky09
Solution Sage
8 years ago
Solved

Calculating Working hours

I have this following Data, I am trying to find a way to calculating  Working hours in betwen dates excluding Weekends. Works hours are between: Morning 9:00 AM to Evening 6:00 PM and Saturday and S...
  • Anonymous's avatar
    Anonymous
    8 years ago

     

    HI rocky09,

     

    You can try to use below calculated column formula to calculate valid working hour:

     

    Work Hour = 
    VAR filtered =
        FILTER (
            ADDCOLUMNS (
                CROSSJOIN (
                    CALENDAR ( [ACTIVITY_DATE], [LASTMODIFIEDDATE] ),
                    SELECTCOLUMNS ( GENERATESERIES ( 9, 18 ), "Hour", [Value] )
                ),
                "Day of week", WEEKDAY ( [Date], 2 )
            ),
            [Day of week] < 6
                && [TicketID] = EARLIER ( Table1[TicketID] )
        )
    VAR hourcount =
        COUNTROWS (
            FILTER (
                filtered,
                (
                    [Date] >= DATEVALUE ( [ACTIVITY_DATE] )
                        && [Hour]
                            > HOUR ( [ACTIVITY_DATE] ) + 1
                )
                    && (
                        [Date] <= DATEVALUE ( [LASTMODIFIEDDATE] )
                            && [Hour]
                                > HOUR ( [LASTMODIFIEDDATE] ) - 1
                    )
            )
        )
    VAR remained =
        DATEDIFF (
            TIMEVALUE ( [ACTIVITY_DATE] ),
            TIME ( HOUR ( [ACTIVITY_DATE] ) + 1, 0, 0 ),
            MINUTE
        )
            + DATEDIFF (
                TIME ( HOUR ( [LASTMODIFIEDDATE] ) - 1, 0, 0 ),
                TIMEVALUE ( [LASTMODIFIEDDATE] ),
                MINUTE
            )
    RETURN
        IF ( hourcount <> BLANK (), (hourcount*60 + remained)/60, 0 )
    

     

     

    Regards,

    Xiaoxin Sheng