SSRS在扩展矩阵中更改单元格的背景颜色

时间:2014-06-25 13:52:35

标签: sql matrix reporting-services

我有一个矩阵表,如下所示:

enter image description here

="£" & FormatNumber(Sum(Fields!CalculatedFee.Value * 
        Fields!Unit.Value), 2, False, False, True)

运行报告时,它看起来像这样:

enter image description here

正如你所看到的,它填充了今年和去年的数据,这一年也是一个群体。

我想要达到的目标是在今年的网格低于之前的网格时为其添加颜色。

例如:

enter image description here

我已经尝试了很多方法来完成这项工作但是我被卡住了。我最近的化身就是这个,它失败了:

=IIF(Fields!Year.Value = Year(now) and Sum(Fields!CalculatedFee.Value * 
        Fields!Unit.Value) < IIF(Fields!Year.Value = Year(now)-1 and 
        Sum(Fields!CalculatedFee.Value * Fields!Unit.Value), true, false) , 
        "Red", "")

有人可以帮忙。

1 个答案:

答案 0 :(得分:0)

方法1:
尝试这样的事情。

=IIF(Fields!Year.Value = Year(now) 
      and 
          SUM(iif(Fields!Year.Value = Year(now), Fields!CalculatedFee.Value * Fields!Unit.Value, 0.0), "YourDataSetName" )
           < SUM(iif(Fields!Year.Value = Year(now)-1, Fields!CalculatedFee.Value * Fields!Unit.Value, 0.0), "YourDataSetName" )
        ,"Red", Nothing)

如果您指定SUM(Fields!CalculatedFee.Value * Fields!Unit.Value) SSRS将在当前数据集范围内对其进行总结。

方法2:
这取决于数据集的布局方式。您可以使用lookup功能。

=IIF(Fields!Year.Value = Year(now) 
      and 
      Lookup(Year(now), Fields!Year.Value, Fields!CalculatedFee.Value * Fields!Unit.Value, "YourDataSetName" )
      < Lookup(Year(now)-1, Fields!Year.Value, Fields!CalculatedFee.Value * Fields!Unit.Value, "YourDataSetName" )
        ,"Red", Nothing)

方法3:
如果您可以将报告输出更改为先显示2013和2014年。在这种情况下,您可以使用Previous函数来设置颜色。

方法4:
您可以更改数据集查询,为颜色设置标记。换句话说,在查询中进行比较并使用标志在报告中设置颜色。