基于宜搭的“报表分析”实践案例-阿里云开发者社区

开发者社区> 宜搭> 正文
登录阅读全文

基于宜搭的“报表分析”实践案例

简介: "单据表单"和"流程表单"中提交的数据,可以在"报表页面"中作为数据源,进行进一步的分析。当一个表单中存在明细时,为了支持分析,宜搭进行了一些额外的处理。下面以一个具体场景(进货单)进行具体介绍

"单据表单"和"流程表单"中提交的数据,可以在"报表页面"中作为数据源,进行进一步的分析。
当一个表单中存在明细时,为了支持分析,宜搭进行了一些额外的处理。
下面以一个具体场景(进货单)进行具体介绍

表单设计

进货单设计如下:
1524208138588-da3a84e3-fd44-42f6-b647-c5575afd1288.png

"进货单"下有 "进货单号"、"进货日期"、"进货明细"三个组件。
"进货明细"下有"商品名"、"进货量"两个组件。

表单与报表中数据源的映射关系:

  • 一个"单据(流程)表单"会在报表那边对应一个数据源,名称为表单的名称。报表数据源下的列字段,即为表单中的各个组件。(由于明细组件的特殊性,不进行对应)
  • 明细组件可以容纳其他的表单组件,并且一次可以提交多条数据。明细组件功能上是一个"子表"的功能,因此明细组件会独立映射为报表中的一个独立的数据源,名称为 "表单名称-明细组件名称"(比如:进货单-进货明细)

在"进货单"这个具体的业务场景中,我们查看报表页面图表组件下的数据集中,会看到"进货单","进货单-进货明细"两个数据集。
"进货单"数据集下,有"进货单号","进货日期"两个列字段。
"进货明细"数据集下,有"商品名"、"进货量"两个列字段。

表单数据与报表数据的映射关系:

  • 表单提交的每一条数据都有一个唯一的ID,在报表那边对应的字段是"实例ID"
  • 明细组件中的数据会放在 报表"明细数据源"下,这些数据都有一个字段"父实例ID",值都为当前表单实例的ID。

数据提交

下面以"进货单"为例,先在"进货单"下提交两条数据,如下
1524211371927-e86af9a7-ee20-4331-9ec4-84a79f9984d5.png

1524211411814-98a9ff29-e3f6-4a2b-bdec-b220a99565d9.png

在报表中,"进货单"和"进货单-进货明细"两个数据源下的数据如图:
1524211657114-76611627-f6ba-41c0-83d8-19c3eadd752c.png

进货明细的数据会放在"进货单-进货明细"这个报表数据源下,并且父实例ID等于主表数据的实例ID。

报表配置

下面我们将表单数据和明细数据一起展示,用"多表关联"来实现,即用 "主表的实例ID" = "明细数据的父实例ID"进行关联。
比如,要关联"进货单"和"进货单-进货明细"两张表的数据,我们可以这么配置:

  • 选择数据集时,选择"多表关联"
  • "数据表"选择"进货单"和"进货单-进货明细"两张表
  • 选择"新增关联",主表选择"进货单",字段选择"实例ID"; 子表选择"进货单-进货明细",字段选择"父实例ID"
  • 选择两张表各自的字段

设置筛选条件:
1.当要用"主表"中的字段作为筛选条件时

  • 拖"筛选"组件到"查询"区域
  • 选择字段来自于哪个数据集,哪个字段

2.当要用"子表"中的字段作为筛选条件时

  • 拖"筛选"组件到"查询"区域
  • 选择字段来自于哪个数据集,哪个字段

注意事项:

  • 图表组件筛选条件要生效,需要确保图表组件的"条件过滤"中的过滤字段都有。如果没有,请手动添加
    1524216797076-daa28bb1-b3d4-466e-9036-ee8f642d4a2b.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

宜搭是阿里巴巴自研的低代码应用构建平台,通过可视化拖拽的方式,传统模式下需要2周才能完成开发的应用,用宜搭2小时就能完成。

官方博客
官网链接