最新历史版本 :关联数据集 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

  • 常用场景一:对来自不同数据源数据集进行上下合并,相当于 SQL 语句中的 union all。例如:数据集 ds1、ds2 来自不同的数据源,结构相同,使用关联数据集可以将它们上下合并成一张表。

    29.png

  • 常用场景二:通过控制参数查询不同的数据库或表。例如:在一张模板下定义了两个不同的数据集 ds1 和 ds2,分别是从 Oracle 和 SQL Server 中取数,可以通过参数来控制用 ds1  还是 ds2。比如说分公司 A 使用 ds1 ,分公司 B 使用 ds2。

    1.gif

以上场景都可以使用关联数据集来实现,而在实际使用中,其实我们做的方法都是一样的。

1.2 功能简介

  • 不设置参数:实现最简单的上下合并功能(union all)。

  • 设置参数:可通过参数控制使用的数据库或表。

2. 示例一:不设置参数编辑

2.1 定义数据集

首先,我们新建两个数据集 ds1 和 ds2,我们利用 FRdemo 数据源进行新建 ds1 和 ds2 查询,ds1 数据集如下图所示:

ds1:select distinct 地区,销售员 from 销量

ds2:select distinct 地区,产品 from 销量

5.png

「ds1」和「ds2」的预览数据如下图所示:

8.png

2.2 创建关联数据集

1)在数据集面板中「新建>关联数据集」,如下图所示:
6.png

2)勾选「ds1」和「ds2」,并点击「预览」,如下图所示: 

7.png

3)最终预览的数据如下图所示:

字段名一致的合到一列,字段名不一致的分列显示。相当于 SQL 语句中 union all 的实现效果。

9.png

3. 示例二:设置参数编辑

依旧使用示例一的「ds1」和「ds2」。

3.1 创建带参数的关联数据集

1)新建一个关联数据集,勾选「ds1」和「ds2」。在条件公式栏中设置一个参数,参数名用户可以随意设置。在本示例中设置该参数名为dsname

在条件公式栏中输入$dsname="ds1"$dsname="ds2",如下图所示:

10.png

2)点击「确定」。预览创建好的关联数据集,即会弹跳出一个窗口,输入不同的参数值即可预览不同的数据表。如下图所示:

2.gif


3.2 带参数的关联数据集实现上下合并

当条件格式设置为:$dsname="ds1"or($dsname="ds1",$dsname="ds2") ,如下图所示:

11.png

2)预览该关联数据集。

在弹框中输入「ds1」,由于两张表都符合条件,最终的结果为两张表进行上下合并后的结果。

在弹框中输入「ds2」,只有表 ds2 符合,最终只出现表 ds2 。

3.gif