1 概述

一张表单中有时会包含多块信息列表,但是这些信息往往相互间并没有关联关系,或者仅仅与主表之间有关联关系。所以,除了使用现有功能“创建横向联合数据源”的方式,也可以借助新扩充的“横向联合数据视图”的功能,将这些信息块合理的展示在同一个报表内。不同的是:联合数据源仅仅只能在报表中使用,而联合数据视图是更底层的功能,可以应用到跨设备表单、数智大屏等产品中,更加通用,复用性更强。

数据横向联合,则类似SQL语句里的左联(left join),主表数据作为左表,所有从表作为右表。

2 案例

某公司人力资源部需要整理公司人力资源信息,包含了三个信息块:员工基础信息、员工公司内职位变动记录、员工本身的学历信息。
主表为员工基础信息,和子表之间由 “员工工号” 进行关联,但是子表 “职位信息” 和 “学历信息” 之间并无实际意义上的关联对应关系。
现要求将员工 “基础信息、职位信息和学历信息” 放在一张报表中进行分组显示,每个职员的基础信息后面显示对应本职员的职位信息以及学历信息。

3 展示效果

基础信息合并单元格,子表信息之间各自导航不关联,对于确实行则补空行。

5 实现步骤

5.1 准备数据视图

为创建横向联合数据视图准备好需要使用的主从数据视图。

5.1.1主表视图(基础信息)

主表员工基础信息,必须确保主表记录主键(工号:gonghao)唯一。

5.1.2子表视图(岗位信息)

子表岗位信息,包含和主表的关联字段外键(工号:gonghao)。

5.1.3子表视图(学历信息)

子表学历信息,包含和主表的关联字段外键(工号:gonghao)。

5.2 创建“横向联合”数据

通过 “新建数据视图->联合数据->横向联合” 菜单创建横向联合数据视图,如下图:

进入横向联合视图的配置界面,需要进行一些必要的配置。

5.2.1 选择主从数据视图

主数据视图选择前面准备好的主数据视图 “基础信息” ,同样地,将子数据视图 “岗位信息” 和 “学历信息” 逐一添加到从数据视图列表中,配置如下图:

5.2.2 配置主从关联关系

这个步骤很关键,想要将主表数据和从表数据关联起来,就必须配置好主从关联关系。
案例中的对应关系是主数据视图的工号(gonghao)分别对应子数据视图的工号(gonghao)。

设置完成如下:

5.2.3 配置输出字段

根据业务场景选择需要横向联合数据的最终输出的字段,可以选择主表和从表的任意字段。

5.2.4 排序设置

按需选择需要进行排序的字段,并设置对应的排序方式。比如:按照“出生日期”降序进行排列,设置如下:

5.2.5 数据结果预览

经过上述配置保存之后,可以执行该“横向联合”数据视图,查询主子数据视图经过联合之后的数据结果集,如果主子数据视图中含有参数,此处也将显示对应视图的参数,如下图:

注意:
1、此处不显示作为关联关系设置的子数据视图参数;
2、重名参数将进行合并显示。

参数值输入或不输入之后,即可查看对应的数据结果了:

从查询结果可以看出,“横向联合”数据视图已经对数据进行了整理,同时包含了员工的基础信息、岗位信息和学历信息,不足的被补空行。

5.3 模板中使用

接下来,我们创建一张报表,使用创建好的横向联合数据视图 “员工信息” 作为该报表的数据源,与其他视图的使用一样,将其拖拽到模板数据中,创建对应的参数即可。
画表样,将“横向联合”数据源中输出的字段拖到对应的单元格中即可。
预览效果如下:

人员基础信息被合并了单元格,岗位信息和学历信息都是各自导航展示。至此,一张简单的横向联合的报表就制作完成了。

因为,对于模板来说横向联合数据就是一个数据集,不关心其本身来自几个不同数据源,因此,不光可以做清单报表,也可以做交叉、甚至分栏报表等。

作者:fancy  创建时间:2023-06-21 14:26
最后编辑:林  更新时间:2025-04-24 11:27