让决策更智能
新一代智能数据分析平台

讨论社区

发帖

ETL做全关联后,输出的数据变少了

ETL做关联的时候,是全关联的,但输出数据变少了,按一般的理解,全关联的话不应该会比左表或者右表中任何一个表的行数都多吗?但现在反而减少了。

2 人关注了该问题 关注

3

ysj(测试使用) • 2年前

产生原因:实际业务中,存在左表有右表没或者左表没右表有的数据,这样两表中相同的字段,不管是选择左表还是右表,都有可能会存在列数据不全的情况,导致输出的数据变少。比如左表A列的数据是1,2,3,右表A列的数据是2,3,4,在进行全关联的时候,选择的是以左表A列为准,那就少了4,选择以右表A列为准,那就少了1,实现不了真正的全关联。

解决方法:为了避免在这种情况下出现数据问题,可以用COALESCE()解决:

按照上面个例子,可以用新建字段把左表里的A列和右表里的A列取出来,命名为A1,A2,进行全关联后,再用COALESCE(A1,A2)取出所有的A列值,最后进行选择列和null值替换(如有null值的话),就可以实现全关联的效果。(如果两表中存在多个同名字段,需要重复这样的操作)。


0 个讨论

您需要登录后才可回复
您需要登录后才可以回复