前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多Excel文件数据汇总,列名大小写不一致咋办!!!

多Excel文件数据汇总,列名大小写不一致咋办!!!

作者头像
大海Power
发布2021-08-31 11:37:42
6850
发布2021-08-31 11:37:42
举报
文章被收录于专栏:用户8950297的专栏

小勤:最近收到一份数据,需要对多个Excel工作簿的内容进行汇总,真是麻烦!

大海:多个Excel工作簿内容汇总用Power Query不是很简单的事情吗?前面我不仅推送了大量文章《用PQ自动汇总各种文件数据,这一系列我又都给你整理好了!》,另外,还专门发布了一个关于数据汇总的视频合集《【免费系列视频】Excel数据汇总特辑 | 多个案例,多种情况,举一反三!

小勤:是啊。但现在又有新情况!给过来的多份数据,看起来都挺规范的,但是,列名居然有的大写,有的小写,有的首字母大写……

大海:那你想一下在哪个步骤可能出问题?

小勤:就是想展开数据实现合并的步骤啊。

大海:那为什么这个步骤就会出问题?

小勤:表里的列名不一样。

大海:那如果在这之前对表的列都进行重命名,即列名弄成一样的,是不是就可以了?

小勤:对啊。但该怎么弄呢?

大海:比如说,我们如果把列名都统一成大写,要怎么办?

小勤:首选要把表的列名取出来,然后将这些列名转换成大写的,然后替换掉原来表里的列名……

大海:对,基本就是这个思路,综合起来的公式也是这样:

代码语言:javascript
复制
Table.RenameColumns(    // 3. 对表的列进行重命名
    [Data],
    List.Transform(     // 2. 对表的列名进行转换
        Table.ColumnNames([Data]),    //1. 取出表的列名
        (x)=>{x,Text.Upper(x)}    // 2. 对表的列名转换为大写(和原来的列名合成一对)     
    )
)

小勤:Table.ColumnNames取表的列名,List.Transform进行转换,Table.RenameColumns对表的列进行重命名,一层层往外跟原来的思路真的很匹配。但是,为什么List.Transform函数的第二个参数做成{x,Text.Upper(x)}?

大海:因为List.Transform函数对列名转换为大写后,是要交给Table.RenameColumns函数去调用的,而Table.RenameColumns函数的参数要求就是{原列名,新列名},而其中x就是原列名,Text.Upper(x)就是新列,一起才能构成完整的参数哦。

小勤:可是有很多函数记不住这么多的参数形式啊,怎么办?

大海:PQ里可以简单操作形成步骤公式代码啊。比如这个,你如果不记得,可以随便改一下列名,看一下生成的代码,然后照着写就行了哦。

小勤:有道理!

- 关于解决问题的方法 -

在遇到问题时,首先思考一下:

1、具体是什么问题?

2、在哪个步骤开始出问题?

3、如果要避免这个问题的发生,可以进行什么样的处理?

4、具体怎么处理?

通过这样的方式,层层推进,很多问题自然就迎刃而解,而Power Query恰恰让我们可以很轻松定位到具体出问题的步骤,而且也可以很方便地通过一些操作的方式去生成相应的步骤公式(代码)来做参考,这也是Power Query之所以相对简单易用的地方。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档