通过SSRS SQL Server 2012的正常运行时间/停机时间生产批处理报告已更新

时间:2018-02-28 20:43:25

标签: sql-server visual-studio reporting-services uptime downtime

我正在使用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)

Database

我已经尽力使用此报告并且知识有限,并且在报告中我创建了参数来选择报告的日期,同时要求用户选择批次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

Current Report

我一直在阅读旋转表,我认为这可能是计算 /****** 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] 的方法,但是我需要一些帮助。

再次感谢

1 个答案:

答案 0 :(得分:0)

我有三种方法可以解决这个问题。

  1. 根据3位数ID
  2. 在SQL中使用排名
  3. 根据事件ID
  4. 在SQL中使用数据透视表
  5. 使用矩阵执行数据透视并在报告中执行计算。