入手点思考:Matrix中的分组与其对应的Total是有区别的,可以基于这个区别来设置Total的背景颜色。
关键函数:InScope()
语法大致如下:InScope (“Group/DataSet/DataArea”),””所引用的是报表项的分组或数据集或数据区域。函数的具体用法请参见SQL Server 2005的联机帮助。
下面还是通过举例来说明具体是如何动态显示Total背景颜色的,本文所采用的案例是SQL Server 2005中自带的AdventureWorks Sample Reports,报表为“Company Sales.rdl”。打开原报表,对“=Fields!SubCat.Value”字段设置小计,并修改名称为“Total”,对 “=Fields!ProdCat.Value”字段设置小计,并修改名称为“Grand Total”,如图1所示。
对“=Sum(Fields!Sales.Value)”字段区域设置背景颜色,代码如下:
=ii f(InScope("ProductSubCategory"),"White",ii f(InScope
("ProductCategory"),"#cccccc","#aaaaaa"))
其中,“=Fields!SubCat.Value”字段对应的分组为:
“ProductSubCategory”,“=Fields!ProdCat.Value”字段对应的分组为:“ProductCategory”。
预览结果如图2所示。