关联数据集

编辑
  • 文档创建者:加菲喵
  • 浏览次数:28147次
  • 编辑次数:15次
  • 最近更新:ukae 于 2018-08-29

  • 1. 问题描述

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

    场景一:我们需要在不同的数据源进行筛选取数,例如:在一张模板下定义了两个不同的数据集ds1和ds2,分别是从oracle和sqlserver中取数,而我们需要利用一个参数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

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