我有一个tablex,它有行分组,试图根据组中的前一行进行一些计算。所以我测试Last(Fields!InQty.Value)
并把它放在整个单元格中。它得到同一行的值:
当我尝试Previous(Fields!InQty.Value)
时,它会获取上一组中最后一行的值:
那么在同一组中获取前一个值的方法是什么,以及如何检查该行是否是该组中的第一个。 谢谢。
答案 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)