通过SSRS SQL Server 2012更新的正常运行时间/停机时间生产批处理报告
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过SSRS SQL Server 2012更新的正常运行时间/停机时间生产批处理报告相关的知识,希望对你有一定的参考价值。
我正在使用SSRS
通过Visual Studio 2010
编写另一份报告。我是SQL的新手,但随着时间的推移,事情开始变得有意义了。
目的是创建一个报告,显示从SQL Server数据库中获取的Batch up time / downtime
计算的timestamps
。时间戳表示为日期/时间输入,例如2018-02-09 14:43:29.193
。
必须满足4个事件ID 1-4才能触发数据库中的时间戳。每批都有自己的3位整数ID。
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)
和...之间的不同,
2&1 = Downtime
4&1 = Downtime
2&3 = Up time
If 4 is after 2 = Up time
If 4 is after 3 = Downtime
我已经尽力使用这份知识有限的报告,并且在报告中我创建了参数来选择报告的日期,并要求用户选择批次ID以及批处理1-4事件,但我不确定如何处理计算字段。
下面是SQL代码,
/****** 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]
我一直在阅读旋转表,我认为这可能是计算up / downtime
的方法,但是我需要一些帮助。
再次感谢
答案
我有三种方法可以解决这个问题。
- 根据3位数的id号在SQL中使用排名
- 根据事件ID在SQL中使用Pivot
- 使用矩阵执行数据透视并在报表中执行计算。
以上是关于通过SSRS SQL Server 2012更新的正常运行时间/停机时间生产批处理报告的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server varchar列试图在SSRS中显示换行符
SQL Server Management Studio 2012在哪里?
Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)