本文来源于一个星友的问题,他有上百个Excel表格,格式并不完全一样,列的位置顺序也不同,但每个表都有几个共同列,这种情况下,能不能通过Power Query把这些表格共同的列批量合并呢?

当然是可以的!

我模拟了三个表,源数据的情况大致是这样的,

这三个表之间的特征如下:

有共同列

列的位置顺序是不同的

列的数量不同,表三比其他表少了一列

假设我们需要提取其中四列并合并:订单日期、商品名称、客户编号和销售额,这四列在三个表都存在。

如果使用PowerQuery简单的合并汇总功能,是无法满足要求的,不过通过简单的M代码就可以实现。

下面是操作步骤。

/01/

将需要合并的表放入到一个文件夹中,然后使用获取数据>从文件夹,

/02/

点击编辑,进入PowerQuery编辑器,删除无关列,只保留Content列,

/03/

添加自定义列,

结果如下,

上面这三个步骤都是常规的合并操作,下面这一步是重点。

/04/

添加步骤,输入以下M代码,

合并指定列=
Table.Combine(
List.Transform(
Table.Combine(已添加自定义[数据])[Data],
each Table.SelectColumns(_,
{"订单日期","商品名称","客户编号","销售额"})))

大功告成,只包含这四列的表格合并好了,

主要是利用了 List.Transform和Table.SelectColumns函数组合来提取需要的列,然后再利用Table.Combine函数把提取后的列合并起来。

以上代码自己琢磨一下,暂时不理解也没有关系,遇到同类问题直接套用即可。

通过这个小例子,也可以看出M的灵活和强大,当遇到特定的问题,只靠鼠标点击界面功能无法满足需要的时候,也许简单两个M函数就解决了。

并且,有的问题通过界面功能需要很多步骤才能实现,而利用M可以一步完成,大大简化操作步骤。

如果你经常做数据清洗工作,并且源数据不够规范,这种情况下学点M是很有必要的。

数据可视化之PowerQuery篇(六)PowerQuery技巧:批量合并Excel表的指定列的更多相关文章

  1. 数据可视化之PowerQuery篇(十)如何将Excel的PowerQuery查询导入到Power BI中?

    https://zhuanlan.zhihu.com/p/78537828 最近碰到星友的一个问题,他是在Excel的PowerQuery中已经把数据处理好了,但是处理后的数据又想用PowerBI来分 ...

  2. 数据可视化之DAX篇(十六)如何快速理解一个复杂的DAX?这个方法告诉你

    https://zhuanlan.zhihu.com/p/64422393 经常有朋友提出一个问题,然后我给出一个DAX之后,TA又不是很理解,反复多次沟通才能把一个表达式讲清楚.或者TA自己写了一个 ...

  3. 数据可视化之 图表篇(二)如何用Power BI制作疫情地图?

    丁香园制作的这个地图可视化,相信大家每天都会看好几遍,这里不讨论具体数据,仅来探讨一下PowerBI地图技术. 这个地图很简洁,主要有三个特征: 1,使用着色地图,根据数据自动配色 2,只显示中国地图 ...

  4. 【WaaCaa】一款开源科学作图/数据可视化工具 —— 诞生篇

    作为一个理工男.用过了形形色色能够用于科学作图/数据可视化软件:从大学时做实验课推荐用于分析简单採集数据的 Origin; 毕业论文时用来呈现实验时序信号和离线分析脑电信号的 MATLAB.后面还发现 ...

  5. 数据可视化之 图表篇(四) 那些精美的Power BI可视化图表

    之前使用自定义图表,每次新打开一个新文件时,都需要重新添加,无法保存,在PowerBI 6月更新中,这个功能得到了很大改善,可以将自定义的图表固定在内置图表面板上了. 添加自定义图表后,右键>固 ...

  6. 数据可视化之DAX篇(七) Power BI中用DAX生成的表如何添加索引列?

    ​https://zhuanlan.zhihu.com/p/74732578 来源于知识星球中一个星友的问题,使用DAX在PowerBI中新建了一个表,如何为这个表添加索引列呢? 假如数据模型中只有一 ...

  7. 数据可视化之DAX篇(十一)Power BI度量值不能作为坐标轴?这个解决思路送给你

    https://zhuanlan.zhihu.com/p/79522456 对于PowerBI使用者而言,经常碰到的一个问题是,想把度量值放到坐标轴上,却发现无法实现.尤其是初学者,更是习惯性的想这么 ...

  8. 数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法

    https://zhuanlan.zhihu.com/p/113113765 PowerBI数据分析02:结构百分比分析法 作者:海艳 结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间 ...

  9. 数据可视化之DAX篇(十)在PowerBI中累计求和的两种方式

    https://zhuanlan.zhihu.com/p/64418286 假设有一组数据, 已知每一个产品贡献的利润,如果要计算前几名产品的贡献利润总和,或者每一个产品和利润更高产品的累计贡献占总体 ...

随机推荐

  1. <WP8开发学习笔记>动态修改启动时导航的第一个页面(如登录前启动页为LoginPage,登录后变为MainPage)

    很多时候我们需要在启动程序的时候根据状态改变初始导航页面,比如程序在启动的时候判断用户是否登录, 如果未登录则跳转到LoginPage.xaml否则跳转到MainPage界面. 这时候就要分析程序的启 ...

  2. Ubuntu18.04下MySQL8.0和Navicat15的安装与使用

    目录 一.MySQL8.0安装 二.Navicat安装并与MySQL连接 一.MySQL8.0安装 注意:若直接 sudo apt install mysql-server,你会发现安装后的版本是5. ...

  3. Spring Boot 在启动时进行配置文件加解密

    Spring Boot Application 事件和监听器 寻找到application.yml的读取的操作. 从spring.factories 中查看到 # Application Listen ...

  4. Android学习笔记使用Notication 显示通知

    实现步骤 代码实现 创建MainActivity和DetailActivity(点击通知后要跳转的Activity),两个Activity的布局文件就是添加一张全屏的背景图,老规矩,不粘贴. Main ...

  5. Dubbo——服务目录

    引言 前面几篇文章分析了Dubbo的核心工作原理,本篇将对之前涉及到但却未细讲的服务目录进行深入分析,在开始之前先结合前面的文章思考下什么是服务目录?它的作用是什么? 正文 概念及作用 清楚Dubbo ...

  6. TopK问题,数组中第K大(小)个元素问题总结

    问题描述: 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 面试中常考的问题之一,同时这道题由于解法众多,也是考察时间复杂 ...

  7. 多语言工作者の十日冲刺<8/10>

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺--第八天(05.07) 作业正文 ...

  8. egret Exml自定义组件

    有个需求,在A组件里面包裹 B组件: 碰到了一些奇怪的问题,这些问题是由于编辑器bug引起的.创建了皮肤后并没有在default.thm.json直接添加进去,造成拖动组件莫名其妙的bug,这里忘记保 ...

  9. vue全家桶(3.2)

    4.5.创建实例 可以创建一个自定义实例应用于多个请求接口 <template> <div class="page"> </div> </ ...

  10. NodeMCU手把手入门:配置NodeMCU ESP8266开发板环境及点亮LED灯

    之前一直在玩树莓派,最近实验室买了些NodeMCU就想着玩一玩,没想到挺有意思的.其实树莓派能实现的功能,它大部分也可以,价格比派也便宜不少,舍不得买派的同学可以先买这个开发板玩一玩. 本文主要介绍了 ...