SSRS比较当前行和上一行

3

我在SSRS的一个字段中有以下表达式:

=iif(Fields!Score.Value > Previous(Fields!Score.Value),"Greater","Less Than")

我在场景中有以下4行分数:

我在场景中有以下4行分数:

3 
3 
4 
5

这会导致:

3 - Greater
3 - Less Than
4 - Greater
5 - Greater

问题出在第一行总是大于。实际上,它应该是空白的,因为没有前一行可供比较。我预期的结果如下:

3 - 
3 - Same
4 - Greater
5 - Greater

我该如何修改上述公式以得到上述结果?

上述仅是一个行组的示例。还有其他不同分数的行组,因此Same/Greater/Less Than的不同结果需要在不同的行组之间起作用。


你需要检查它们是否相等,以获取“相同”的消息。此外,如果您检查上一个值,如果您在第一行,则它是否为空。也许只是为了测试而添加到报告中,这样您就可以看到其中的内容。 - Chuck
1个回答

3
尝试以下操作:
=IIF(RowNumber(NOTHING)=1,"",IIF(Fields!Score.Value = Previous(Fields!Score.Value),"Same",IIF(Fields!Score.Value > Previous(Fields!Score.Value),"Greater","Less Than")))

已修改,请尝试。


谢谢@Viking - 那差不多可以了。现在显示如下: 3 - (空白) 3 - 小于 4 - 大于 5 - 大于 唯一的错误是应该用“相同”替换“小于”,因为3匹配3。 - Philip
刚刚注意到你的表达式中甚至没有使用相同的选项。请编辑表达式以使用它。 - ViKiNG
感谢Viking,这对于SSRS报表中的第一分组现在正在工作,但对于不同集合中的其他第一行并非如此。 我认为这与(RowNumber(NOTHING)= 1有关。 是否有可能将其转换为不同的内容以捕获SSRS中的每个单独的“行组”? - Philip
哎呀.. 这是一个不断变化的目标。也许你需要修改你的问题,反映出所有你想要的字段名称或数据集图像以及期望的输出图像。这将使我更好地了解该建议什么。 - ViKiNG
1
谢谢,我修改了底层查询以获取行号,并更改了您表达式的那部分。 - Philip
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接