我正在寻求一些输入/建议,说明我可以计算特定设备每月有效分钟数的百分比。
我的表格有列:
bundle.js
我想每月生成一份报告,显示设备处于活动状态和“构建”的月份百分比。一分钟内的任何构建都可以被视为活动,但我需要考虑月份的不同日期和各种(100+)差异设备。
举个例子,11月份我很乐意看到:
device_id | build_date
A4207B23-C984 2015-05-28 07:33:29.6980000 -04:00
76D53271-FD34 2015-05-29 15:51:19.0000000 -04:00
这对应于在该月的33.2%的分钟期间具有至少一个构建的'A4'设备。所以十一月有30天,24小时,60分钟= 14,342独特的分钟。
我会使用类似的东西吗?
device_id | Utilization
A4207B23-C984 33.2
76D53271-FD34 21.9
然后按设备缩小范围,由使用DATEDIFF的查询调用该月份的天数?
任何指针或想法都会有很大帮助。谢谢大家。罗杰
答案 0 :(得分:0)
由于您引用了DATEDIFF,我认为您可能正在使用SQL Server,因此下面是一段SQL,它可以在一分钟内获得总数,您需要通过build_date替换getdate()
select datediff(mi, convert(varchar, datepart(mm, getdate())) + '/01/' + convert(varchar, datepart(yyyy, getdate()))
,eomonth(getdate())) AS MinutesInMonth
,device
,datepart(mm, getdate()) as BuildMonth
from table
下一个条款将为您提供一个月内的总活动分钟数
select count(datepart(mi, getdate())) AS ActiveMinutesInAMonth
,datepart(mm, getdate()) as BuildMonth
,device
from table
group
by datepart(mm, getdate())
,device
然后我认为这是基于设备和月加入上述2并将后者除以前者并获得利用率的问题。
希望这有帮助