如何在报表中使用子表单数据进行报表分析
注意:
报表 2.0 版本已停止更新,建议切换到报表 3.0 版本进行查看。
1. 子表单进行报表分析
「表单」和「流程表单」中提交的数据,可以在「报表页面」中作为数据源,进行进一步的分析;
当一个表单中存在子表单时,为了支持分析,宜搭进行了一些额外的处理。
下面以一个具体场景(进货单)进行具体介绍
1.1 表单设计
进货单设计如下
「进货单」下有「进货单号」、「进货日期」、「进货子表单」三个组件
「进货子表单」下有「商品名」、「进货量」两个组件
1.2 表单与报表中数据源的关系
- 在报表页面需要选择数据集,即为「流程表单/表单」。报表数据集下的列字段,即为表单中的各个组件。(由于子表单组件的特殊性,不进行对应)
- 子表单组件可以容纳其他的表单组件,并且一次可以提交多条数据
- 子表单组件功能上是一个「子表」的功能,因此子表单组件会独立映射为报表中的一个独立的数据集,名称为 「表单名称-子表单名称」(比如:进货单子表单明细表)
选择好数据集之后,需要选择对应数据集下的列字段(对应表单里面的组件)
「进货单」数据集下,有「进货单号」,「进货日期」两个列字段
「进货子表单」数据集下,有「商品名称」、「进货量」两个列字段
1.3 表单数据与报表数据的关系
- 表单提交的每一条数据都有一个唯一的 ID,在报表那边对应的字段是「实例 ID」
- 子表单组件中的数据会放在 报表「子表单数据集」下,这些数据都有一个字段「父实例 ID」,值都为当前表单实例的 ID。
下面以「进货单」
先在「进货单」下提交两条数据,效果如图:
- 在报表中,「进货单」和「进货单-子表单」两个数据集下的数据,效果如图:
进货子表单的数据会放在「进货单-进货子表单」这个报表数据集下,并且父实例 ID 等于主表的实例 ID。
2. 将表单数据和子表单数据一起展示
有些业务场景需要将表单数据以及子表单数据放在一起分析,这时可以用「多表关联」来实现
两张表的数据要联系在一起,可以用 「主表的实例ID = 子表单数据的父实例ID」进行关联
比如,要关联「进货单」和「进货单-进货子表单」两张表的数据,我们可以这么配置:
- 选择数据集时,选择「多表关联」;
- 「数据表」选择「进货单」和「进货单-进货子表单」两张表;
- 选择「新增关联」,主表选择「进货单」,字段选择「实例ID」; 关联表选择「进货单-进货子表单」,字段选择「父实例ID」;
- 选择两张表各自的字段;
2.1 关联关系介绍
左关联就是外关联,会把 A 表和 B 表的所有数据显示出来,内关联只展示 A 和 B 有关联关系的字段内容。
(1)内关联
两边数据关联,会取交集,只有两边都可以匹配上的数据才展示
(2)左关联
两边数据关联,以左表的数据为准
3. 注意事项
3.1 主表和子表都不能超过 1w 条数据。
3.2 聚合查询会使用到主子表的关联字段做分组,因此聚合查询时需要包含关联字段作为展示字段。
3.3 2.0报表多表关联不支持使用报表公式。
3.4 筛选条件/过滤条件 只能作用于主表。
3.5 关联字段不可使用多选/复选型字段。
3.6 子表单不支持报表筛选,可以考虑使用中间表达成诉求。
宜搭为了更好的优化宜搭使用手册内容和质量,占用您3-5分钟时间,辛苦填写一下文档反馈问卷。文档反馈问卷是匿名提交,同时问卷信息仅用于宜搭文档体验反馈收集,感谢您对宜搭的支持!
--------------------获取宜搭最新信息,欢迎关注我们--------------------
本文档对您是否有帮助?