使用分组时将值与另一个值进行比较

时间:2014-02-28 22:16:58

标签: reporting-services ssrs-grouping

我甚至不确定是否可以这样做,因为SSRS有很多限制。

假设我的SQL表中有两个条目:

Name: John Doe
Value: 20
Month: January 2014

Name: John Doe
Value: 30
Month: February 2014

我正在尝试进行一些条件格式化,具体取决于该值是否比上个月上升或下降。

现在我正在按月分组。有没有办法以某种方式将分组中的先前值与当前值进行比较?类似的东西:

=IIF(Fields!Month.Value < (Fields!Month.Value-1) ) ...

这似乎只需要当前月份的价值并给出前一个月。

思想?

编辑:尝试'上一个'命令后,它越来越接近我正在寻找的东西。 但是......它正在比较其他人的字段。 (数据按人分组,然后按月分组)

例如:

Name: John Doe
Value: 20
Month: January 2014

Name: John Doe
Value: 30 - WOULD BE GREEN BECAUSE 30 > 20
Month: February 2014

Name: Steve Smith
Value: 10 - WILL SHOW RED BECAUSE 10 < 30 (different person)
Month: January 2014

Name: Steve Smith
Value: 20
Month: February 2014

1 个答案:

答案 0 :(得分:1)

您可以使用Previous功能执行此操作。

说我有这样的数据:

enter image description here

基于此的表格,分组在month

enter image description here

我已将以下表达式应用于其中一个文本框:

=IIf(Previous(Sum(Fields!val.Value), "monthGroup") > Sum(Fields!val.Value)
  , "Red"
  , "Green")

对我来说,表达式编辑器显示语法错误,但运行正常:

enter image description here

您可以根据其他格式要求进行调整。