历史版本6 :多个关联字段多对多合并表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

用户有两张数据表「学生表」和「课程表」,关联字段为「学生」和「课程」,且两张表的两个关联字段都不唯一,即一个学生对应多个课程,一个课程也对应多个学生,如下图所示:

1608780203366110.png

此时需要将两个数据表合并成一张使用。

实现效果如下图所示:

1608781759929016.png

1.2 解决思路

方案一:使用 左右合并 功能实现。

方案二:在 FineBI 中通过 添加联合关联 并创建自助数据集实现。

由于有多个关联字段,那么两字段共同作为关联依据情况下本质上还是 1:N 的关系。

例如「学生表」中王强所选的英语组合成的数据在「学生表」中只有一条,且与「课程表」中王强、英语组合数据一一对应,那么实际上联合关联字段是 1:1 对应的。

2. 操作步骤编辑

示例数据:多个关联字段多对多.zip

上传 示例数据至 FineBI 。

2.1 方案一

2.1.1 创建自助数据集

创建自助数据集,选择「课程表」的全部字段,如下图所示:

1608782920754122.png

2.1.2 进行左右合并

新增左右合并步骤,选择添加左右合并的字段为学生表的所有字段,点击「确定」,如下图所示:

1608783056162135.png

添加合并依据为共有字段「课程」和「学生」,合并方式为「并集合并」,如下图所示:

1608783118894918.png

保存自助数据集。

2.1.3 效果查看

详情参见本文 1.1 节。

2.2 方案二

2.2.1 添加联合关联

选择「课程表」下的「关联视图」,点击「添加关联」,如下图所示:

1608782205135695.png

选择关联字段,设置关联关系为1:1(设置 1:1 关系的原因参见本文 1.2 节),用户可根据数据情况选择关联关系,如下图所示:

1608782119713496.png

注: FineBI 5.1.14 之后的版本建立关联后可以自动更新关联关系。若是之前的版本,需要进行业务包更新后才能更新关联(若要更新Excel之间的关联关系,需要进行全局更新)

2.2.2 合并数据表

创建自助数据集,依次选择「课程表」和「学生表」下的所有字段,请按照文档提示顺序选择,选择先后会影响合并结果,如下图所示:

1608783517262186.png

注:选择字段顺序规则详情参见:选字段范围

保存自助数据集即可。

2.2.3 效果查看

详情参见本文 1.1 节。