Forum Discussion
rocky09
8 years agoSolution Sage
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...
- Anonymous8 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
Anonymous
8 years agoNot applicable
Hi rocky09,
>>I guess, the first column may have greater date than modified date. Is there a way to dealth it
It means your table contains records which start date greater than end date. Datediff function not support calculated with records who have greater startdate(compare with end date).
You can add some conditions to ignore calculation when 'start date' greater than 'end date'.
Notice: DATEDIFF(start date, end date, unit)
Regards,
Xiaoxin Sheng
mpalha04
8 years agoHelper III
Hi,
I tried the formula above and I get the error message "The start date or end date in Calendar function can not be Blank value". Any way to resolve this?
Thanks