历史版本2 :多级序号 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 描述

在设计报表的时候,可能需要根据多列数据生成多级序号,如下

image.png

1.3 实现思路

先获取第一列数据当前值在当前列数据去重后的序号

再获取第二列数据当前值在(当前列数据去重后且第一列数据等于当前第一列的值)的序号

对分别获取到的序号进行拼接

2. 操作步骤编辑

1)新建数据集ds1

SELECT * FROM 部门

image.png

2)报表设计如下,B2数据设置为列表,A2左父格为B2

image.png

3)A2单元格输入公式

INARRAY(B2,UNIQUEARRAY(B2[!0]))+"."+INARRAY(C2,UNIQUEARRAY(C2[!0]{B2=$B2}))

image.png

效果查看:

PC端

image.png

移动端

image.png

3. 模板下载编辑

4. 注意事项编辑

如果有第三列数据(D2)也要生成序号,则A2左父格为C2,公式为INARRAY(B2,UNIQUEARRAY(B2[!0]))+"."+INARRAY(C2,UNIQUEARRAY(C2[!0]{B2=$B2}))+"."+INARRAY(D2,UNIQUEARRAY(D2[!0]{B2=$B2&&C2=$C2}))

如果有第四列数据(E2)也要生成序号,则A2左父格为D2,公式为INARRAY(B2,UNIQUEARRAY(B2[!0]))+"."+INARRAY(C2,UNIQUEARRAY(C2[!0]{B2=$B2}))+"."+INARRAY(D2,UNIQUEARRAY(D2[!0]{B2=$B2&&C2=$C2}))+"."+INARRAY(E2,UNIQUEARRAY(E2[!0]{B2=$B2&&C2=$C2&&D2=$D2}))

如此类推。