Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssrs 2008 SSRS-检索所选数据之外的第一个字段的上一个字段_Ssrs 2008_Reporting Services_Ssrs Grouping - Fatal编程技术网

Ssrs 2008 SSRS-检索所选数据之外的第一个字段的上一个字段

Ssrs 2008 SSRS-检索所选数据之外的第一个字段的上一个字段,ssrs-2008,reporting-services,ssrs-grouping,Ssrs 2008,Reporting Services,Ssrs Grouping,我有一个包含4列的SQL表 1) 身份证 2) 设备ID 3) 日期 4) 小时数,例如10000小时 我有一份SSRS报告,其中显示了该表的内容 from和to date参数用于选择记录的日期范围 该表按设备分组 在“设备”组中,我在下面添加了一行,在“小时”列中使用以下表达式 Last(字段!Hours.Value)-First(字段!Hours.Value)=“实际使用的总小时数” e、 g.10000-9500=500 这不会返回正确的“实际使用的总小时数” 这个表达是不正确的 事实上应

我有一个包含4列的SQL表

1) 身份证 2) 设备ID 3) 日期 4) 小时数,例如10000小时

我有一份SSRS报告,其中显示了该表的内容

from和to date参数用于选择记录的日期范围

该表按设备分组

在“设备”组中,我在下面添加了一行,在“小时”列中使用以下表达式

Last(字段!Hours.Value)-First(字段!Hours.Value)=“实际使用的总小时数” e、 g.10000-9500=500

这不会返回正确的“实际使用的总小时数”

这个表达是不正确的

事实上应该是

上一个(字段!Hours.Value)-上一个(第一个(字段!Hours.Value))=“实际使用的总小时数” e、 g.10000-9450=550

我的问题是如何获取上一个(第一个(字段!小时.值)

通过选择参数日期范围,我不会检索上一个(第一个字段!Hours.Value)


谢谢!

要获得报表表达式的预期结果,即最后一个(Fields!Hours.Value)-第一个(Fields!Hours.Value),应在T-Sql/SP中实现一个适当的Order BY FieldName子句。

感谢Aftab的提示

SQL已按日期排序

也许这个表的一个例子可以让您更好地理解为什么我需要PREVIOUS(第一个(Fields!Hours.Value)


日期:2012-09-01小时=9500(这是一天结束时记录的总小时数,用作第二天的开始时间)

日期:2012-09-30小时=10000


因此,如果我使用表达式

最后一个(字段!小时.值)-第一个(字段!小时.值)=“实际使用的总小时数”,例如10000-9500=500

这将返回从2012-09-02到2012-09-30的“实际使用的总小时数”为500

我需要上一个(第一个)(字段!Hours.Value)来计算从2012-09-01到2012-09-30的正确“实际使用的总小时数”