1. 概述
在使用左右合并时,可能会出现「重复数据」或者「未匹配数据」,本文将介绍详细介绍为什么会产生重复数据或者数据未匹配。
2. 什么是重复数据和未匹配数据
示例数据:左右合并示例数据.xlsx
使用「销售明细表」作为左表,左合并「品牌维度」表。
2.1 重复数据
1)以下表为例,左表中有 2 条「品牌 ID=A」的数据行,右表中有 1 条「品牌 ID=A」 的数据行。
在进行左合并时,右表中「品牌 ID=A」的数据行要去匹配左表中每一个「品牌 ID=A」的数据行。那么对于右表来说,「品牌 ID=A」的数据行就被重复了。如下图所示:
2)同理,右表中每一个「品牌 ID= N」的行都要去匹配左表中「品牌 ID= N」的行,那么最后的结果就会产生 2X2=4 条「ID=N」的行。
对于左表来说,「品牌 ID= N」的行都要重复匹配两次,那么左表这两条数据就是被重复的。对于右表来说,「品牌 ID= N」的行也是要和坐标重复匹配两次的,那么右表的这两条数据也是被重复的。
3)那么在合并时,依据合并条件,非一对一的关系就会匹配多次。
因此上述数据左表中有 2 条数据被重复,右表数据有 5 条数据被重复。
2.2 未匹配数据
1)右表中有一条「ID=L」的数据行,在左合并时没有匹配到左表中「ID=L」的数据行。这个场景下是「左合并」,在最后的结果中不展示「ID=L」的数据。如下图所示:
2)那么对于右表来说,「ID=L」的数据行就未被匹配。如下图所示:
2.3 查看重复数据/未匹配数据
1)左右合并时,页面下方会显示合并后数据总条数,左表和右表中被重复数据、未匹配数据的情况。如下图所示:
2)如果存在重复或未匹配的数据,想要查看这些数据的明细。可以点击底部的数字,在弹窗中即可查看明细数据。
3)如果重复或未匹配数据较多的话,还支持切换成「数据概览模式」,查看这些数据的汇总和分布情况。
注:当前页面的数据概览视图仅用于查看数据的汇总及分布情况。
4)此外,还支持将未匹配或重复的数据创建一张新的分析表,再进一步的分析。如下图所示:
3. 数据重复排查
以左合并为例,在进行左合并时,系统会自动匹配两个数据表中相同的字段作为合并条件,根据合并条件将右表的数据合并到左表中。
如果数据发生膨胀,是因为右表中的「合并依据」行重复,在右表中不是唯一的。
3.1 示例-问题排查过程
1)左表为「产品销量表」,右表为「负责人信息表」,想要将右表中的「产品名称」合并在左表中。如下图所示:
2)那么在这个示例中,会自动将「产品编码」作为合并依据进行合并,这样会导致产品 B 的数据重复。如下图所示:
3)点击查看左表被重复的数据,当前是将「产品编码」作为合并条件,复制第一行的数据。如下图所示:
4)进入右表「负责人信息表」中,筛选「产品编码=B」的数据行,发现右表中的「合并依据」行重复。如下图所示:
5)下面分为三种场景:
场景 | 解决方案 |
---|---|
两行数据完全一模一样,右表中存在重复数据行 | 使用「删除重复数据」功能,对右表数据进行去重 |
仅「产品编码」字段值重复,还需要匹配「经销商」和「负责人」字段进行判断 | 需要增加「合并条件」,参见本文 3.2 节 |
右表是明细表,需要将汇总后的数据进行合并 | 对右表先「分类汇总」,再跟左表进行合并 |
在进行左合并时,两张数据表中的数据行不是一对一匹配,比如 2.1 2) 节中的示例,那么会产生重复数据。 | 若右表不存在重复数据、且合并依据已经设置正确,那么左合并后产生重复数据是正常结果。 |
3.2 增加「合并条件」
在上述场景下,我们需要再增加一个「合并依据」,手动的将「经销商」和「负责人」字段匹配起来。这样根据两个合并依据,左表数据就不会被重复。如下图所示:
3.3 先对右表进行分类汇总
1)下图中有两张表,想要统计各个销售部门、各个销售成员的销售金额。可以有两种方式:
直接合并两张表,再进行「分类汇总」计算;(此方法适用于数据量较小的情况)
若两表的数据量都较大,请先对「订单明细表」计算出各个销售人员总的销售金额,再跟左表进行合并。
2)先对右表的明细表进行汇总,再进行左右合并,这样就会减少重复数据/未匹配数据的出现。如下图所示:
4. 数据未匹配问题排查
1)在进行左合并时,发现右表有未匹配的数据,意味着右表中的客户名称在左表中没有匹配到。如下图所示:
2)点击查看未匹配的数据,复制第一行的客户名称,如下图所示:
3)在左右合并步骤前添加一个筛选步骤,发现左表中确实没有「客户名称=帆软软件有限公司」的数据,如下图所示:
4)这个时候可以模糊搜索一下,比如在左表中搜索帆软,发现有一条数据。由于人工录入数据,导致右表和右表中的客户名称不一致。
这个时候可以修改一下客户名称再进行匹配。
5)拓展:
系统会精准匹配字段值,如果字段值前后有空格、字段值中间有空格,也会匹配不上。
如果存在未匹配数据,建议筛选时模糊搜索一下,看看是否是空格或者特殊字符导致,可以清洗数据后再进行合并。