FineBI 版本 | JAR 包版本 | 功能变动 |
5.1 | - | - |
5.1.5 | 2020-09-02 | 左右合并默认选择左合并 |
5.1.13 | - | 并集合并数据量过大时,系统主动打断更新 |
5.1.15 | - | 直连:新增支持「impala 数据库」中的数据表与 Excel 左右合并 |
在实际使用数据的过程中经常会有需要将两张表联合在一起形成一张新表使用的情况,
假如有这样两张数据表:
① Table A:记录了学生姓名、英语成绩
② Table B:记录了学生姓名、数学成绩
如果想在一张表中就看到学生的姓名、数学成绩和英语成绩,则可以使用「姓名」字段作为「合并依据」进行左右合并。
不同的合并方式如下所示:
1.3 直连版本注意事项合并后会报错:[DIRECT-ETL] unsupported data source: databases on different hosts/ports
将「销售明细」和「品牌维度」两张表的字段合到一张表进行分析。
2.1 创建自助数据集1)在零售行业下找到 FineBI 自带的数据表「销售明细」表,并使用它创建自助数据集。如下图所示:
2)勾选「销售明细」表的所有字段,如下图所示:
注:建议用户在进行左右合并前,减少表字段名称长度,避免出现字段名称过长导致的自助数据集保存失败问题。
2.2 设置左右合并1)如下图,添加左右合并:
2)选择要左右合并的表「品牌维度」,并勾选该表中要参与左右合并的字段。如下图所示:
注:要合并的表不能选择当前自助数据集的子表,系统会提示“该表为当前表的子表,无法选择”
3)选择合并方式为「左合并」,并添加合并依据为「品牌编号」。如下图所示:
合并方式说明:
合并方式 | 说明 |
左合并 | 对应 SQL 语句中的 left join |
右合并 | 对应 SQL 语句中的 right join |
交集合并 | 对应 SQL 语句中的 inner join |
并集合并 | 对应 SQL 语句中的 full join |
两张表的字段合并到一张表中。
实现「部门人数」和「销售额」合并到一张表中,如下图所示:
无法单独使用一个字段作为合并依据,所以需要「部门、地区」字段共同作为合并依据。多个合并依据的意义即保证左右合并时数据的唯一性,如下图所示:
4. 注意事项4.1 null 值不会互相匹配左右合并的两张表合并依据中如果有 null 值,null 之间不会互相匹配。
4.2 产生笛卡尔积若进行左右合并的两张表,它们的合并依据字段中有重复项,左右合并后就会产生笛卡尔积,导致数据量膨胀。(比如说以「id」列作为合并依据,左表 id 字段不唯一,右表 id 字段不唯一,进行左右合并后就会产生笛卡尔积)
为了不影响系统的稳定性,当并集合并后数据量满足以下情况时系统会主动打断进行过 N:N 操作的自助数据集的更新:
若出现笛卡尔积,更新信息处会提示用户是否更新成功:
若「更新信息」处提示生成失败,但用户依旧要使用 N:N 进行分析,可以通过过滤等手段缩减数据量达到系统不打断的要求。
4.3 数据字段要求数据表的字段有空格会导致左右合并结果异常,在进行左右合并前,请确保合并数据表字段中没有空格。如下图所示:
4.4 设置预览界面计算数据若创建的自助数据集为 数据分析用户 创建的或者数据处理用户在我的自助数据集创建的。
当数据量比较大时,可以在数据集的编辑过程中使用前 5000 行进行计算,使计算更为流畅,如下图所示:
二、左右合并匹配失败处理1. 概述1.1 背景左右合并时,若左右两表的合并依据字段有一点不一致,就不能成功匹配,能够合并成功的字段值必须一模一样。
但在实际使用中,我们经常会遇到一些左右两表的字段有些许差异的情况,这就需要我们去处理字段值,让其能够成功左右合并。
1.2 实现思路比如:右表的合并依据字段「城市」比左表多了“市”,导致左右匹配不成功。
我们只需要处理一下左表的「城市」字段,为其加上“市”,让其与需要匹配的左表「城市」字段一致即可。
同样的,如果用户左表是日期字段是年月日「yyyy-mm-dd」,右表却是年月日时分秒「yyyy-mm-dd hh:mm:ss」,可通过同样的思路截取掉右表日期字段的时分秒「hh:mm:ss」部分。
2. 示例用户想将城市的「销售额」和「门店数量」合并到一张表中。
2.1 上传数据1)下载示例数据:示例数据.rar
2)将示例数据上传至 FineBI 。如下图所示:
2.2 处理字段从 1.2 节可知,门店数量表中的「城市」字段比销售额表的「城市」多了“市”。
1)添加自助数据集,勾选销售额表的字段,如下图所示:
2)新增一列「城市1」,在原城市字段的基础上增加“市”。如下图所示:
3)隐藏掉不需要的「城市」字段。如下图所示:
4)处理后「城市1」字段就可以与门店数量表的「城市」字段可以匹配的上了。
添加左右合并,选择门店数量表,合并依据分别选择「城市1」和「城市」,如下图所示:
5)保存并更新自助数据集。两张表成功进行了左右合并,如下图所示:
,Copyright © 2008-2022 秒下下载站
m.down10s.com .All Rights Reserved