1 概述

实际业务场景中,可能会存在同一类数据,一部分数据记录来自于数据集A,另一部分数据记录来自于数据集B,需要将A、B两个数据集对应的数据汇总在一起显示,记录总数一般是A、B两个数据集记录数之和。

那么,就通过 “纵向联合数据视图” 将数据集A和数据集B联合起来,将数据集A和数据集B中对应字段都分别映射到统一输出字段上,这样使用该输出字段时,就可以获取到两个数据集中对应字段的数据了,不需要编写复杂的SQL,而且可以跨数据库、跨接口联合,方便快捷。

数据纵向联合,类似SQL语句里的联合(union all)的功能

2 案例

以 “行业税额汇总” 为例,其中行业的数据来源于 “行业大类” 和 “行业小类” 两张表,将其数据汇总在一起,并以树型结构将行业小类显示在对应行业大类下。

3 实现步骤

3.1 准备数据视图

将需要获取数据的表分别创建为对应的数据视图,为创建纵向联合数据视图做好准备。

1、准备 “行业大类” 数据视图

提示:bm_hy.CJBJ=1 表示行业大类的数据

2、准备 “行业小类” 数据视图

提示:bm_hy.CJBJ=2 表示行业大类的数据

以上两个数据视图返回的字段都包含了“行业编码”、“行业名称”、“上级行业编码”、“层级标记”。当然,两个数据视图返回的字段也可以不一样。

3.2 创建“纵向联合”数据

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

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

3.2.1 添加数据视图

点击界面左上角“+”按钮,将前面创建的 “行业大类” 和 “行业小类” 逐个添加到数据视图列表中,如下图:

3.2.2 配置输出字段

可以通过“添加字段”选择第一个数据视图的某些字段作为输出字段,也可以点击“+”完全自定义输出字段。
案例中可以选择行业大类的字段作为输出字段,如下图:

选择之后,输出字段会自动映射上 “行业大类” 中的对应字段。但是,我们还需要获取 “行业小类” 中对应字段的数据,因此需要手动通过 “映射源数据视图字段” 配置行业小类的映射字段,如下图:

按照以上方式逐一配置好输出字段映射的“行业小类”对应字段,如下图:

3.2.3 排序设置

按需选择需要进行排序的输出字段,并设置对应的排序方式。比如:按照“行业编码”升序进行排列,设置如下:

3.2.4 数据结果预览

经过上述配置保存之后,可以执行该“纵向联合”数据视图,查询两个数据视图经过联合之后的数据结果集。如果引用的数据视图中含有参数,此处将显示对应视图的所有参数,没有则不显示参数,可直接查看最终的结果,如下图:

从查询结果可以看出,“纵向联合”数据视图已经对数据进行了整理,合并了行业大类和行业小类表中的数据。

3.3 使用

纵向联合数据上述创建及配置好后,即作为一个整体,对于模板来说就跟普通数据视图使用即可。

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