我有一个具有行分组的 tablex,试图根据组中的前一行进行一些计算。所以我进行了测试Last(Fields!InQty.Value)
并将其放入总单元格中。它得到同一行的值:
当我尝试Previous(Fields!InQty.Value)
它从上一组中的最后一行获取值时:
那么在同一组中获取前一个值的方法是什么,以及如何检查该行是否是组中的第一个。谢谢你。
我有一个具有行分组的 tablex,试图根据组中的前一行进行一些计算。所以我进行了测试Last(Fields!InQty.Value)
并将其放入总单元格中。它得到同一行的值:
当我尝试Previous(Fields!InQty.Value)
它从上一组中的最后一行获取值时:
那么在同一组中获取前一个值的方法是什么,以及如何检查该行是否是组中的第一个。谢谢你。
我认为 SSRS 中执行此操作的最佳方法是使用单元格所在组的 RowNumber 值(我在下面的示例中将其称为“Item”),并检查该组的 RowNumber 值是否大于1 在收集前一个值之前。如果它不大于 1,您可以在表格单元格中输入 Nothing:
=Iif(RowNumber("Item") > 1, Previous(Fields!InQty.Value), Nothing)
这听起来像是您可以将其包装在IF
语句中的内容,可能如下所示:
=IIF(Previous(Fields!ItemName.Value)=Fields!ItemName.Value,Previous(Fields!InQty.Value),Nothing)
...或者Nothing
如果它是较大计算表达式的一部分,则将其替换为某个常数。