我该如何选择
过去一周 前一年的对应天数 这是仪表盘所必需的,我想显示一个图表,其中包含过去7天的结果。如果我们的呼叫中心在一定时间内处理了98%的电话,则显示为绿色;如果超过98%,则显示为红色。作为参考,我想在下面创建一个图表,其中包含前一年的相应7天。这具有挑战性,因为工作日确实会影响工作量。这意味着我无法将星期二与星期日或星期一进行比较。
例如,今天是2019年12月21日星期六,我想报告以下时间跨度:
2019-12-13 00:00:00-> 2019-12-20 23:59:59 和 2018-12-14 00:00:00- > 2018-12-21 23:59:59
我编写了以下代码(在select语句中使用):
case when cs.ReachedAt between (getdate() - 7) and getdate() then 1 else 0 end as Is_PastWeek
case when cs.ReachedAt between (convert(datetime, convert(varchar(50), convert(date, dateadd(d, -1, dateadd(wk, -52, getdate())))) + ' 23:59:59')) and (convert(datetime, convert(varchar(50), convert(date, dateadd(d, -8, dateadd(wk, -52, getdate())))) + ' 00:00:00')) then 1 else 0 end as Is_SameWeekLastYear
它有效,但不是完美的。我只是选择与52周前同一周的相应工作日。这意味着我有时最终会选择匹配的工作日,而不是最近的工作日。我该如何做得更好?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。