【发布时间】:2016-12-15 03:52:02
【问题描述】:
我有表格[Mst_Daily_Report_Pds],其中有开始时间和结束时间,它计算“11-01-2016”和“11-30-2016”之间的日期,输出将显示在图表中。
例如:
8.5hrs * 7days = 59.5hrs,
8.5hrs * 6days = 51hrs
所以百分比是 85%,这是错误的数据。
我的问题是它也包括星期日,这没有必要如何排除星期日的值?
请检查以下代码:
select Name,Actual_Hours,round((Actual_Hours/((DATEDIFF(DAY,'11-01-2016' ,'11-30-2016')+1)*8.5))*100,0) as percentage
from (select Name , SUM(actual_Hours) Actual_Hours
from ( select Name,ACTUAL_HOURS=sum(DATEPART(hh,[Time_Taken_in_Min]))+sum(DATEPART(MINUTE,[Time_Taken_in_Min])) /60
FROM [HR_Admin].[dbo].[Mst_Daily_Report_Pds] where date between '11-01-2016' and '11-30-2016'
GROUP BY Name )o group by Name )a order by Actual_Hours desc
请帮助我排除所有百分比中的星期日值。
【问题讨论】:
-
可以添加示例数据和预期结果吗?
-
您可能还需要排除公共假期并满足工作时间减少的日子(星期六??)