在 SSRS 2017 中,我正在比较每个组中某一列的值,因此如果记录大于该组中的前一条记录,那么我希望另一列说更大,如果更少则说更少,等等。 .. 因此,每组中的最后一条记录不应该有任何可比较的内容,并且应该是默认记录。
这是我除了最后一行之外有效的方法:
=IIF(Fields!margin.Value > Previous(Fields!margin.Value, "GroupByItem"), "greater than",
IIF(Fields!margin.Value < Previous(Fields!margin.Value, "GroupByItem"), "Less", "Equal"))
如果我尝试使用它,我会收到错误(重载解析失败,因为没有可访问的“IIF”接受此数量的参数):
=IIF((Fields!margin.Value, "GroupByItem") > Previous(Fields!margin.Value, "GroupByItem"), "greater than",
IIF((Fields!margin.Value, "GroupByItem") < Previous(Fields!margin.Value, "GroupByItem"), "Less", "Equal"))
我真的只是在寻找一种方式来表达如果这是一组中的最后一条记录,那么就这样做。但最后一个函数似乎只能找到最后一个值。
不幸的是,我无法执行 IIF(Fields!margin.Value > Last(Fields!margin.Value, "GroupByItem") 因为记录很容易包含相同的值。
有人有什么建议吗?
提前致谢!
要确定您是否位于组中的最后一条记录,您可以检查这是否属实:
RowNumber("GroupName") = CountRows("GroupName")