我正在使用SSRS
通过Visual Studio 2010
处理另一份报告。我是SQL的新手,但随着时间的推移,事情开始变得有意义了。
目的是创建一个报告,显示从{1}}计算得出的Batch up time / downtime
来自SQL Server数据库。时间戳表示为日期/时间输入,例如timestamps
。
在数据库中触发时间戳必须满足4个事件ID 1-4。每批都有自己的3位整数ID。
2018-02-09 14:43:29.193
之间的区别,
1-Batch Start, Not running production, but system is initiated. (Down)
2-Production Start, Running production (Up Time)
3-Production Stop, Machine is running, but not producing (Down)
4-Batch Stop, Production complete. (Down)
我已经尽力使用此报告并且知识有限,并且在报告中我创建了参数来选择报告的日期,同时要求用户选择批次ID以及批处理1-4事件,但是我我不确定如何处理计算字段。
下面是SQL代码,
2&1 = Downtime
4&1 = Downtime
2&3 = Up time
If 4 is after 2 = Up time
If 4 is after 3 = Downtime
我一直在阅读旋转表,我认为这可能是计算 /****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000
[Productio_CrtNo]
, [BatchEvent_ID]
, [BatchEvent_TIME]
, [Operator_ID]
, [DieRolls_ID]
, [Batch_ID]
, [NoOfPockets]
, [WetCapsulesWeight]
FROM [SCM_DataCollecion].[dbo].[ProductionTable]
的方法,但是我需要一些帮助。
再次感谢
答案 0 :(得分:0)
我有三种方法可以解决这个问题。