SSRS获取行组中的上一个值

时间:2017-03-12 09:43:43

标签: reporting-services report reportbuilder ssrs-2014

我有一个tablex,它有行分组,试图根据组中的前一行进行一些计算。所以我测试Last(Fields!InQty.Value)并把它放在整个单元格中。它得到同一行的值:

enter image description here

当我尝试Previous(Fields!InQty.Value)时,它会获取上一组中最后一行的值:

enter image description here

那么在同一组中获取前一个值的方法是什么,以及如何检查该行是否是该组中的第一个。 谢谢。

2 个答案:

答案 0 :(得分:0)

这听起来像是你可以在IF语句中包含的东西,可能如下:

=IIF(Previous(Fields!ItemName.Value)=Fields!ItemName.Value,Previous(Fields!InQty.Value),Nothing)

...或者将Nothing替换为常量,如果它是较大计算表达式的一部分。

答案 1 :(得分:0)

我认为在SSRS中执行此操作的最佳方法是对单元格所在的组使用RowNumber值(在下面的示例中,我将其称为“ Item”),并检查该组的RowNumber值在收集前一个值之前大于1。如果不大于1,则可以将Nothing放在表格单元格中:

=Iif(RowNumber("Item") > 1, Previous(Fields!InQty.Value), Nothing)