报表表格中的RowNumber()函数总是从1起排,一直到最后。有没有办法按照分类分别从1起排呢? 实际上,RowNumber()函数是可以带参数的,参数名为scope,scope可以是分组名称、表格名称、数据集名称。如果给定一个表格分组名称,就可以实现按分类从1开始排行号。 图中的【表格1_分组1】是按【类别ID】字段作为分组条件的分组,下面这个表达式就是按照每个分类分别从1开始排行号: =RowNumber("表格1_分组1") 如果是用矩表元素设计的表格,由于RowNumber()是按记录次序排列,而矩表中的记录会被重新编排,因此,对于矩表,RowNumber()将不再适用。 对于矩表,使用RunningValue()函数可实现分组排序,如下图: 序号1的数据单元格表达式为: =RunningValue(Fields!区域.Value, CountDistinct, Nothing) 其含义是:求【区域】字段唯一值的累计计数。 序号2的数据单元格表达式为: =RunningValue(Fields!省份.Value, CountDistinct, "矩表1_区域1") 其含义是:在【矩表1_区域1】这个分组内部,求【省份】字段唯一值的累计计数。 其中,分组名称是上级分组的名称,可通过点击左侧工具箱的第二个图标,展开矩表的分组信息即可看到分组名。 效果如下图: 可以看到,区域的序号和省份的序号都是从1起排。
|