1 概述

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

2 案例

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

3 展示效果

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

4 实现原理

主表对应子表都是一对多的关系,所以通过主键关联子表后,获取最大的子表记录数作为当前职员的总记录数A,然后子表分别关联有A条记录数的主表记录,如果子表记录数不足A条则补空记录。并且子表之间不存在关联关系。

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 新建报表并配置数据源

接下来,我们创建一张报表,使用创建好的横向联合数据视图“员工信息”作为该报表的数据源,与其他视图的使用一样,将其拖拽到模板数据中,创建对应的参数即可。

5.4 报表制作

接下来,就是画表样,将“横向联合”数据源中输出的字段拖到对应的单元格中即可。

可以发现从“横向联合”的字段集中拖动上去的全部带有分组导航属性。可以按需要设置,大部分并不是必须的,通常每一个数据视图区域的第一个字段最好是导航格。调整后如下:

预览效果如下:

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

6 实例地址

所属应用:智能报表实例
模板地址:应用空间\lczReport\高级教程\联合报表数据.hte

作者:fancy  创建时间:2023-06-29 16:08
最后编辑:fancy  更新时间:2024-10-31 17:13