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