我有一个包含4列的SQL表
1)身份证 2)EquipmentID 3)日期 4)小时,例如10000
我有一份显示该表内容的SSRS报告
起始日期参数用于选择记录的日期范围
该表按设备分组
在设备组中,我在小时栏
中添加了一行以下表达式Last(Fields!Hours.Value) - First(Fields!Hours.Value)=“实际使用的总小时数” 例如10000 - 9500 = 500
这不会返回正确的“总实际使用小时数”
表达式不正确
它应该是......
Last(Fields!Hours.Value) - PREVIOUS(First(Fields!Hours.Value))=“实际使用的总小时数” 例如10000 - 9450 = 550
我的问题是如何获得PREVIOUS(First(Fields!Hours.Value)?
选择参数日期范围我不检索PREVIOUS(First(Fields!Hours.Value)
谢谢!
答案 0 :(得分:0)
要获得报表表达式的预期结果,即Last(Fields!Hours.Value) - First(Fields!Hours.Value),应在T中实现相应的 Order BY FieldName 子句-sql / SP
答案 1 :(得分:0)
感谢您提示Aftab
SQL已按日期排序
也许这个表的一个例子可以让你更好地理解为什么我需要PREVIOUS(First(Fields!Hours.Value)
日期:2012-09-01小时= 9500 (这是当天结束时记录的总小时数,用作第二天的起始小时数)
...
日期:2012-09-30小时= 10000
因此,如果我使用表达式......
Last(Fields!Hours.Value) - First(Fields!Hours.Value)=“使用的总实际小时数”,例如10000 - 9500 = 500
这将从2012-09-02至2012-09-30
返回“使用的总实际小时数”500我需要PREVIOUS(First(Fields!Hours.Value)来计算从2012-09-01到2012-09-30的正确“使用的总实际小时数”