分享

Power Query在数据合并过程中可能遇到的问题整理

 kelvin_huang 2020-01-24

2019年还剩下最后几天,又到了一年一度的总结时刻,表哥表姐们又要忙着整理数据,出报表,做PPT,做总结的最重要的环节是数据分析,为了使数据有说服力,需要汇总数据,要本年度的数据,也要历史数据,有比较才更有说服力。

数据整理就是做总结的第一步,我们之前讲过很多关于Power Query文件合并的案例,但大多数都是直接给出的正确的操作程序,并没有提示大家可能遇到的问题,今天我们就从问题出发,来总结一合并文件可能遇到的坑。

我们都知道Power Query合并文件也好,VB合并文件也好,最理想的文件标准:

  • 没有合并单元格;
  • 单行表头;
  • 各列的顺序一致;

但是这三点在实际应用中,却是经常会遇到的,我们先从单文件多表合并说起:

我们会遇到的第一个问题:多层表头

多层表头非常普遍,几乎随处可见,给大家举个例子:

Power Query在数据合并过程中可能遇到的问题整理

多层表头的优点是便于阅读,但是不是存储数据的标准格式,好在我们使用多层表头的表格,通常为了便于查看,数据通常是统计数据,数据量不大,处理起来也比较方便。我们其实就是要重新构造一个一行的表头,为了不漏掉关键词,我们可以直接将两行合并成一行。

简单说一下步骤:

第一步转置表格:

Power Query在数据合并过程中可能遇到的问题整理

第二步填充第一列空值(第一行):

Power Query在数据合并过程中可能遇到的问题整理

第三步合并前两列:

Power Query在数据合并过程中可能遇到的问题整理

第四步转置表:

Power Query在数据合并过程中可能遇到的问题整理

最后提升标题行:

Power Query在数据合并过程中可能遇到的问题整理

为了方便我们按照这个程序处理多个表格,我们要根据上面的处理步骤,创建一个自定义函数。

Power Query在数据合并过程中可能遇到的问题整理

然后我们在单文件合并数据时引用这个函数来处理表格,就可以了:

Power Query在数据合并过程中可能遇到的问题整理

然后展开表格就得到合并的数据了。

上面这个表头处理,其实也包含了另一个问题,就是合并单元格,Power Query中合并单元格并不是不能处理,就是会增加数据清洗的难度,对与确定数据关系的合并单元格,可以使用填充功能,来填充打开合并形成的null。

可能遇到的第二个问题就是列的顺序不一致

我们故意颠倒了一下产品和单价的位置:

Power Query在数据合并过程中可能遇到的问题整理

如果我们带着表头合并,就会得到下面的结果:

Power Query在数据合并过程中可能遇到的问题整理

两个表格的产品单价是错位的。

如果我们用上一个问题的方法处理表头,只要表头名称完全一致,Power Query会很智能的自动纠正这个错位的问题:

Power Query在数据合并过程中可能遇到的问题整理

虽然在表格预览中看起来仍然是错位的排列,但是当我们展开表格,顺序就一致了。

Power Query在数据合并过程中可能遇到的问题整理

所以对每个表格的预处理是必要的,直接带表头合并,需要完全确定各个表格的数据排列顺序一致,才使用的办法。

可能遇到的第三个问题工作表名称不一致的问题

这个问题是多文件多表合并时会遇到的问题,我们使用Power Query从文件夹合并文件时,就可能遇到这样的问题:

Power Query在数据合并过程中可能遇到的问题整理

当出现上面这样的情况,我们在做从文件夹合并多个文件时,就会出错:

Power Query在数据合并过程中可能遇到的问题整理

多数表格的sheet名称是“表1”,只有本溪公司的sheet名称是“1月”,就是因为sheet名称不一致,导致不能取得本溪公司的数据。

出现这个问题也不要紧,如果只有一个文件不一致,就直接去到这个文件中把sheet名称改成一致的,如果各个文件名称都不一致,但是sheet表的位置都是第一个表,那么我们就要到示例文件中去修改一下:

Power Query在数据合并过程中可能遇到的问题整理

然后我们在去查看一下:

Power Query在数据合并过程中可能遇到的问题整理

已经能够正确获得数据。

值得注意的是,不可见字符,我就遇到过sheet名称中含有空格,因为表的位置不是固定的,只能通过sheet名称合并文件,结果就因为一个空格,导致合并失败。在Power Query多文件多表合并中,和VBA一样,可以通过sheet的名称来合并,也可以通过sheet的位置来合并。

就说这么多吧,对Power Query越熟悉,处理意外情况的方法就会越多,不管遇到什么问题,只要认真研究总能找到解决方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多