1.1 应用场景
-
常用场景一:对来自不同数据源数据集进行上下合并,相当于 SQL 语句中的
union all
。例如:数据集 ds1、ds2 来自不同的数据源,结构相同,使用关联数据集可以将它们上下合并成一张表。
-
常用场景二:通过控制参数查询不同的数据库或表。例如:在一张模板下定义了两个不同的数据集 ds1 和 ds2,分别是从 Oracle 和 SQL Server 中取数,可以通过参数来控制用 ds1 还是 ds2。比如说分公司 A 使用 ds1 ,分公司 B 使用 ds2。
以上场景都可以使用
关联数据集
来实现,而在实际使用中,其实我们做的方法都是一样的。
1.2 功能简介
2.1 定义数据集
首先,我们新建两个数据集 ds1 和 ds2,我们利用 FRdemo 数据源进行新建 ds1 和 ds2 查询,ds1 数据集如下图所示:
ds1:
select distinct 地区,销售员 from 销量
ds2:
select distinct 地区,产品 from 销量
「ds1」和「ds2」的预览数据如下图所示:
2.2 创建关联数据集
1)在数据集面板中「新建>关联数据集」,如下图所示:
2)勾选「ds1」和「ds2」,并点击「预览」,如下图所示:
3)最终预览的数据如下图所示:
字段名一致的合到一列,字段名不一致的分列显示。相当于 SQL 语句中 union all 的实现效果。
依旧使用示例一的「ds1」和「ds2」。
3.1 创建带参数的关联数据集
1)新建一个关联数据集,勾选「ds1」和「ds2」。在条件公式栏中设置一个参数,参数名用户可以随意设置。在本示例中设置该参数名为
dsname
在条件公式栏中输入
$dsname="ds1"
、
$dsname="ds2"
,如下图所示:
2)点击「确定」。预览创建好的关联数据集,即会弹跳出一个窗口,输入不同的参数值即可预览不同的数据表。如下图所示:
3.2 带参数的关联数据集实现上下合并
当条件格式设置为:
$dsname="ds1"
、
or($dsname="ds1",$dsname="ds2")
,如下图所示:
2)预览该关联数据集。
在弹框中输入「ds1」,由于两张表都符合条件,最终的结果为两张表进行上下合并后的结果。
在弹框中输入「ds2」,只有表 ds2 符合,最终只出现表 ds2 。