找回密码
 立即注册

QQ登录

只需一步,快速开始

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2020-8-2 22:18  /   查看:3952  /  回复:0
本帖最后由 Bella.Yuan 于 2023-1-5 19:07 编辑

在报表设计中经常需要在第一列或者表中设计一个序号列,如下图所示:
image.png328559569.png image.png419438475.png image.png123870543.png

1.表格行号
基于明细表格从1开始按照数据条数显示序号,可以采用RowNumber()函数实现:
image.png822502136.png image.png156288451.png

报表表格中的RowNumber()函数总是从1起排,一直到最后。有没有办法按照分类分别从1起排呢?
实际上,RowNumber()函数是可以带参数的,参数名为scope,scope可以是分组名称、表格名称、数据集名称。如果给定一个表格分组名称,就可以实现按分类从1开始排行号。
image.png892987670.png
image.png219492797.png

2.矩表行号
如果是用矩表元素设计的表格,由于RowNumber()是按记录次序排列,而矩表中的记录会被重新编排,因此,对于矩表,RowNumber()将不再适用。
对于矩表,使用RunningValue()函数可实现分组排序,如下图:
image.png443517760.png

序号1的数据单元格表达式为:
=RunningValue(Fields!客户地区.Value, CountDistinct, Nothing)
其含义是:求【客户地区】字段唯一值的累计计数。

序号2的数据单元格表达式为:
=RunningValue(Fields!客户省份.Value, CountDistinct, "矩表2_客户省份1")
其含义是:在【矩表2_客户省份1】这个分组内部,求【客户省份】字段唯一值的累计计数。

其中,分组名称可通过点击左侧工具箱的第二个图标,展开矩表的分组信息即可看到分组名。
效果如下图:
image.png679083861.png
可以看到,客户地区和客户省份的序号都是从1起排。

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部