SSRS 2012 聚合函数 -- 隔行换色示例
有时我们希望报表能够显示出数据笔数的流水序号,如果要使用T-SQL查询来做出这种效果,通常必须使用RANK函数以自动产生编号,在此将介绍如何使用SSRS的RowNumber(RunningValue也可以做到)聚合函数来做出自动编号,以及将数据单元格根据序号进行隔行换色的效果。
步骤1:
使用之前的数据集,设计一张以产品大类为组的每日销售量明细表。
步骤2:
我们在交易日右方的数据单元格中撰写以下表达式(以下两者皆可)。即可显示出数据序号:
=RowNumber(Nothing)
=RunningValue(1,Sum,Nothing)
步骤3:
接着,将刚才的单元格表达式改为以下内容,即可显示出组内数据序号:
=RowNumber(“PRODUCTCATEGORY_NAME”)
=RunningValue(1,“PRODUCTCATEGORY_NAME”)
步骤4:
要注意的是,SSRS处理数据的流程是先“Sorting”后产生“Expression”结果,因此,即使我们设置交互式排序更改了数据顺序,都不会影响到这个序号的顺序。
步骤5:
接下来,在数据表的详细数据单元格的“BackGroundColor”属性中撰写以下表达式,即可显示出隔行换色的效果:
=iif(RowNumber ("PRODUCTCATEGORY_NAME") mod 2=0,"Moccasin","White")