Datetime 在tableau中,如何按日期计算两个日期之间的登录时间?
例如,我的登录时间是Datetime 在tableau中,如何按日期计算两个日期之间的登录时间?,datetime,logic,formula,tableau-api,Datetime,Logic,Formula,Tableau Api,例如,我的登录时间是7am到11pm。您希望计算日期方面的18/10/2019 5:30:40和21/10/2019 14:05:15之间的处理时间。在最后的结果中考虑所有的假日和周末。 对于上述示例,我们应该获得的输出: 18/10/2019 16 hrs 19/10/2019 16 hrs 20/10/2019 16 hrs 21/10/2019 7.0875 hrs 从早上7点到晚上11点的登录时间意味着16小时的工作日: IF Datediff('day',[LogInTime],[L
7am
到11pm
。您希望计算日期方面的18/10/2019 5:30:40
和21/10/2019 14:05:15
之间的处理时间。在最后的结果中考虑所有的假日和周末。
对于上述示例,我们应该获得的输出:
18/10/2019 16 hrs
19/10/2019 16 hrs
20/10/2019 16 hrs
21/10/2019 7.0875 hrs
从早上7点到晚上11点的登录时间意味着16小时的工作日:
IF Datediff('day',[LogInTime],[LogOffTime])=0 Then
(IF Datepart('hour',[LogOffTime])>23 then 23 else Datepart('hour',[LogOffTime]) end)-
(IF Datepart('hour',[LogInTime])<7 then 7 else Datepart('hour',[LogInTime]) end)
Else
Datediff('day',[LogInTime],[LogOffTime])*16 +
(IF Datepart('hour',[LogOffTime])>23 then 23 else Datepart('hour',[LogOffTime]) end)-
(IF Datepart('hour',[LogInTime])<7 then 7 else Datepart('hour',[LogInTime]) end)
End
如果Datediff('day',[LogInTime],[LogOffTime])=0,则
(如果Datepart('hour',[LogOffTime])>23,则23其他Datepart('hour',[LogOffTime])结束)-
(如果是日期部分('hour',[LogInTime])23,则是其他日期部分('hour',[LogOffTime])结束-
(如果是Datepart('hour',[LogInTime])