润乾报表 填报 - 如何制作多分组填报表

 

多分组填报表的效果如下图所示:

imagepng

而我们根据填报教程,比如交叉填报中分组设置往下设置分层的话,效果如下图所示:

imagepng

但是这样的效果不对,不是我们想要的效果,那图 1 的效果应该如何制作呢?

多分组填报表,以楼主效果为例,应该是三个维度格 + 一个数值格实现那么维度格应该是什么样的一种数据格式才能计算出来正确的结果呢?
维度格原理设置说明:

imagepng

将维度格设置为如上图所示的返回格式时,可以正常进行对应显示,具体说明如下:
A1:[1,2]     这个第一层很好理解,不做说明
B1:[[11,55],[22,44]]   我们看到第一层是两个值,那么第二层要分别对应写数据:1 对应 [11,55],2 对应 [22,44],当第二层展开时,会以第一层为基准按照数据层级展开自己的数据形成如下图所示的数据:

imagepng

C1:[
[[111,333],[222,666]]
,[[88],[121]]]
我吧 C1 的内容设置了换行,这样可以便于理解,同样的我们要对应好第二层的数据,11 对应 [111,333],55 对应[222,666],而第二层[11,55] 是和第一层的 1 相关联,所以 [11,55] 对应的是 [[111,333],[222,666]],同样的理解[22,44] 对应[[88],[121]],所以 C1 的值格式为:[[[111,333],[222,666]],[[88],[121]]],计算效果如下图所示:

imagepng

填报表具体设计:
1. 数据来源脚本:
只要来源数据格式处理好 (sql 为例,返回的肯定不是以上要求的格式),填报表设计就没什么难度。这里也主要看下来源脚本的实际处理(转换过程):
PS: 脚本写法不唯一,只要实现对应数据格式要求就可以

imagepng

脚本中主要对班级、学生的分组维度格的数据做准备
我们知道在填报表中,维度格必然是主键,数值格式根据维度格的值自动对应的
来源和去向里的序表都是维度字段 + 数值格字段,所以在脚本中对象 1 是对应 query 查询所有数据,而 dim1 对应维度格取数

2. 数据去向脚本:

imagepng
​ 
这里主要注意异常信息的返回和处理,填报是否成功是根据是否有异常信息返回决定的

3. 填报表单元格设计:

imagepng

维度格单元格取数:=dim1(1)   分别从 dim1 里取出来我们设置好的维度数据
维度格字段名称:对象 1. 年级 ID   保证分区设置正确

数值格只设置字段名称为:对象 1. 学生名称就可以

我们预览看下分区结果:

imagepng

我们可以看到分区结果是对的,那么报表部分的设计就到此结束了。
4. 填报验证
我们来看下填报的效果:

imagepng

我们修改前两条数据,并保存入库:

imagepng