添加表间关联

  • 文档创建者:doreen0813
  • 编辑次数:50次
  • 最近更新:Lily.Wang 于 2021-04-26
  • 1. 概述

    视频学习请参见 :数据关联 

    1.1 应用场景

    在某些业务场景下,有时需要从多张表中抽取多个字段合并成一张表来进行分析,此时可以创建多张表间的关联,并通过自助数据集 选字段 功能添加多张表的字段到一张表中。

    1.2 功能简介

    FineBI 可以创建和读取表间关联关系。获取关联关系的方法有两种:

    • 在 添加数据库表 中将数据表添加到业务包时,系统会自动读取数据库中的表间关联。

    • 在 FineBI 中手动建立表间关联关系。

    1.3 直连相关

    • 直连表与 Excel 关联

    在直连版本中,有三种数据库「Microsoft SQL Server 2016OraclePivotal Greenplum Database」支持数据表与 Excel 关联,其余数据库不支持。

    在建立关联前需要将 FINE_CONF_ENTITY 表中SystemOptimizationConfig.excelExtractDataBase 的字段值改为「true」,如何修改详细请参见:FINE_CONF_ENTITY可视化配置

    • 在直连版本中,进行关联的两张表不能来自不同的数据连接。

    否则合并后报错:[DIRECT-ETL] unsupported data source: databases on different hosts/ports

    2. 使用范围

    2.1 支持创建关联的范围

    • 基础表:用户可以对有管理权限(数据权限 2.3 节)的基础表设置关联。(基础表包括:Excel、数据库表、SQL 数据集

    • 自助数据集:只有 处理性质的自助数据集 可以创建关联,且该自助数据集的 抽取设置 需设为「抽取数据」。

    注:自助数据集的创建人和管理员可以给自助数据集创建关联,其他人需要先获得该自助数据集的 协作 权限才能给其创建关联。

    2.2 左右合并与关联关系的区别


    关联关系左右合并
    功能
    • 多表关联,从多张表中抽取多个字段合并成一张表来进行分析

    • 在用关联的基础表创建数据分析自助数据集后可直接继承基础表的权限,详情请参见:权限继承

    进行并集合并、交集合并、左合并、右合并将两张数据表形成一张新表使用

    说明

    根据关联方向和选字段方向进行合并表,详情参见:选字段 3.1 节内容

    注:关联后自助数据集选字段为做左合并(left join)。

    相当于 SQL 语句中的 full join、inner join、left join、right join

    详情参见:左右合并

    3. 添加表间关联

    3.1 添加单表关联

    1)登录数据决策系统,进入数据准备>业务包,单击业务包配置页面已添加成功的表可以看到单表的关联视图选项。如下图所示:

    image.png

    2)在关联视图设置区域,可直接单击添加关联按钮,为该表进行关联设置。如下图所示:

    image.png

    3)进入关联设置界面,需要选择被关联的表及关联字段,添加关联方向。关联方向即表示哪个表作为主表。如下表所示:

    关联方向
    1:11:NN:1

    主表 : 主表

    两张表中的每条记录都相互对应

    主表 : 子表

    与 1:N 相反

    需要根据实际情况谨慎选择。不能违反实际数据对应的关联关系,如实际主表不会因为手动设置为子表而变为子表。

    • 关联字段:即作为标识的字段。

    • 主表:包含「关联字段」的一张表,使用「关联字段」与其它表相关联,并且「关联字段」作为在主表中每条数据的唯一性标识。所以在主表中每条记录中包含「关联字段」不能重复。

    • 子表:也包含「关联字段」,但是其「关联字段」不是唯一标识。

    所以关联方向 1:N 指的是:主表中的「关联字段」唯一,而子表的「关联字段」不唯一,它们的关系即为 1:N 。

    4)此处为「医药_库存周转事实表」选择客户编码字段关联,选择「客户地区维度表」的客户编码字段添加关联,选择关联方向为N:1,即「医药_客户地区维度」作为主表(没有重复的记录),如下图所示:

    1577705567224213.png

    表字段注意事项

    • 主表的关联字段不能有重复值,表示同一张表的字段 A 不能出现多张主表字段。也即上面库存事实表的客户编码字段只能配置一个主表字段,不能再为该字段配置 N:1 关系的其他字段,否则后面配置的将覆盖之前配置的关联。

    • 关联字段中不能含有以下特殊字符:  [  ]  =    )

    • 需要注意关联字段中的字段值大小写是否能够匹配, FineBI 区分字段值的大小写。

    3.2 关联查看

    1)添加完成后点击确定保存,即可在该数据表的关联关系区域看到已经添加成功的关联,如下图所示:

    image.png

    单击已创建的关联上方的添加关联,按照上面同样的方式添加关联到其他表/字段即可。

    2)配置字段关联后,需要点击更新信息>单表更新进行该表的更新操作,抽取数据保存到本地才能使用。表更新详情请参见: 数据更新 ,如下图所示:

    image.png

    注1:若存在多人配置相同字段关联的情况,后保存的将覆盖之前保存的关联配置。 

    注2:主表的关联字段本身的字段值中不能有重复的值。比如上面的「客户地区表」为主表,关联字段为「客户编码」,则「客户编码」的字段值中不能有重复值;若「客户编码」字段值包含两个相同编码,则该字段不能作为主表的关联字段。

    3.3 添加联合关联

    3.3.1 应用场景

    用户系统中通过一个主键无法确定一条记录。

    比如订单表里有很多字段,一般情况只要有个订单号 bill_no 做主键,但是现在可能会有补充订单,使用相同的订单号,这时不能单独使用订单号,会有重复。可以再使用个订单序列号 bill_seq 来作为区别,把 bill_no 和 bill_seq 设成联合主键。

    3.3.2 添加关联

    1)在关联视图下选择对应的关联,点击编辑,如下图所示

    1594019171242606.png

    在关联设置界面单击添加联合关联字段,并选择需要的字段添加关联,如下图所示:

    1594019113528047.png

    3.4 创建自助数据集

    在创建自助数据集时就可对已经创建关联的数据集进行跨表选字段,详情参见:选字段

    1)点击添加自助数据集,进入自助数据集编辑界面,选择「医药_库存周转事实表」,并选择其中所有字段,如下图所示:

    11.png

    2)选择「客户地区维度表」下的客户名称省区字段,成功将两张表的所需字段合并在一张表上,点击保存,如下图所示:

    00.png

    4. 修改表间关联

    1)对于已经添加好的关联关系,点击编辑按钮进行修改,如下图所示:

    image.png

    2)可以重新进行关联字段和关联方向的选择,如下图所示:

    1577706545334486.png

    5. 删除表间关联

    对于之前创建的不需要的表间关联,可以进行表间关联关系的删除,点击删除按钮进行删除,如下图所示:

    image.png

    6. 关联关系查看

    本章第 2 节已经手动建立好一组表间关联关系,除了在单表的关联视图区域查看关联外,还可以在数据准备节点下的 关联视图 区域查看,如下图所示:

    image.png


    附件列表


    主题: 连接到数据
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-127-81526