在 Power Query 中批量替换值
01 前情提要
近期有个小伙伴问我一个问题,有一张数据表,想对其中一列的某些字段进行替换,有没有什么办法。
我一想,这不就是数据清洗的东西吗,正好最近小白也在学,就答应帮他试试,下面我们一起来看下我的成果吧。
首先看下数据,一个简单的场景,有若干衣服的型号,比如女装L码,女装M码,男士XL码,男士XXL码,儿童80,儿童100等尺码,现在需要把尺码去掉,只展示衣服是男装还是女装或者童装。
先说下思路,通过观察这份数据可以发现数据都是女装加尺码、男士加尺码或者童加尺码格式。
所以我的思路是对这一列进行拆分,把衣服的品类和尺码分开,这样就可以得到衣服的品类了,下面来具体操作一下。
02 操作演示
首先,点击替换值,在“女装”后面加一个中横线“-”作为分隔符,之后来看一下,之前的“女装XL”变成了“女装-XL”
之后重复上述操作,对男装和童装进行修改:
修改完成后看一下我们的数据已经在衣服品类和尺码之间加上了分隔符“-”,这样就完成了第一步,之后再根据分隔符“-”把这一列拆开。
点击拆分列,选择按分隔符,按中横线“-”来拆分,由于在实际的数据中也可能存在中横线“-”,所以我们只拆分最右侧的中横线“-”。
之后我们得到了如下结果:
此时我们已经基本完成了处理,之后再稍微修饰一下格式,把我们不需要的尺码列去掉,再把品类列的列名称改一下即可,最后我们得到了这样一张表:
03 知识延伸
除上面给出的方法外,小白再提供一种方法,这种方法就需要借助M函数来实现了,首先我们把数据恢复到最原始的状态,之后我们新建一个自定义列:
以如下函数来新建列:
Text.Remove([品类] , {"A".."z","0".."9"})
之后我们得到新建列如下:
此时已经完成了我们的需求,再把数据进行一下修缮即可,删除之前的列,再将新建列的列名进行修改最终得到如下数据:
由于拓展的方法是采用M函数来实现的,因此我们就不过多介绍了,有兴趣的小伙伴可以自行学习一波,本期的介绍就结束了,咱们下期见咯!
-
PowerPivot工坊原创文章,转载请注明出处!
如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。
长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~
Power Pivot工坊
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)