关联数据集

编辑
  • 文档创建者:加菲喵
  • 浏览次数:33918次
  • 编辑次数:18次
  • 最近更新:Kevin-s 于 2019-07-01
  • 1. 问题描述

    首先,要了解关联数据集,我们就需要了解一下使用关联数据集的场景。

    • 场景一:我们需要在不同的数据源进行筛选取数,例如:在一张模板下定义了两个不同的数据集 ds1 和 ds2,分别是从 Oracle 和 SQL Server 中取数,而我们需要利用一个参数 db 来控制我们是用 ds1  还是 ds2;

    • 场景二:我们需要不同公司访问各自的数据库,例如:有一张模板,里面的样式都是一样的,但是数据都是取自最终客户各个子公司自身的数据库,要求各子公司访问的是各子公司自己的数据;

    • 场景三:我们需要利用来自不同的数据源,形成一个数据集,例如:数据集 ds1、ds2 来自不同的数据源,结构相同,需要将两表中的数据合并起来。

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

    2. 示例

    2.1 定义数据集

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

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



    同理,ds2 数据集如下:

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


    2.2 使用关联数据集进行合并

    在数据集面板中新建>关联数据集

    此时,我们会看到如下所示对话框:


    此时我们需要分析一下自己需要的场景,我们分为无参关联数据集和有参数据集,下面会进行比较。

    2.2.1 无参数据集

    现在我们开始比较一下,下图为无参关联数据集结果:

    注:同一时间有多个数据集满足条件时,最终的结果就是所有满足条件的数据集合并后的结果,合并规则如下: 如果几个字段名不完全相同的数据集进行合并时,从第一个数据集自上而下合并,相同的字段的内容匹配到同一个字段中,出现不同字段名的,新增字段名,合并前没有此字段的数据集,合并后字段值用空值代替,如下图:

    222


    222

    222
     

    无参关联数据集会将 ds1 和 ds2 的列全部展示,会通过字段相同列“地区”进行关联,得到的结果集为 ds1 中不存在销售员的字段,那么在关联数据集中的“销售员”字段与 ds1 相关的即为空,在 ds2 数据集中不存在“产品”字段,那么在关联数据集中“产品”字段与 ds2 相关的即为空。


    2.2.2 有参数据集

    以下为有参数据集结果:

    我们可以利用 db 参数来进行控制关联数据集的结果,上图中,已经自动新建了参数为 dsname 的参数,那么我们预览一下结果:

    222

    点击后,弹窗效果如下,此时我们需要输入参数值为 ds1:

    222

    根据我们刚刚设置的结果,我们应该得到数据集 ds1 相同的结果,结果如下:

    222

    同理,当参数值为 ds2 时,我们得到数据集 ds2 相同的结果。

    3. 版本更新说明

    该关联数据集定义界面为 10.0 最新版本,10.0 版本的关联数据集分为合并及依条件选择。

    其中 8.0 和 9.0 的数据集的合并兼容,但是条件选择不兼容,如果用 9.0 设计器打开 8.0 的关联数据集报表条件选择需要重新设置 。


    附件列表


    主题: 数据连接
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]