BI神器Power Query(21)-- 同一列内多重替换(1)

57 篇文章 2 订阅
29 篇文章 6 订阅

示例需求:省份清单中“自治区”名称过长,在做报表展示时效果不理想,希望将其替换为简称,例如:内蒙古自治区替换为“内蒙古”。这个直接使用Excel中的替换也可以实现,毕竟只有5个自治区需要替换,接下来看看Power Query中如何实现。

单击选中数据表中任意单元格,例如A6,依次单击【数据】>【自表格/区域】,打开Power Query编辑器。
在这里插入图片描述
依次单击【转换】>【替换值】,在【替换值】对话框中输入【要查找的值】和【替换为】,单击【确定】按钮完成替换。
在这里插入图片描述
使用类似操作依次替换其他几个自治区,PQ M代码如下:

let= Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    更改的类型 = Table.TransformColumnTypes(,{{"省份", type text}}),
    替换的值 = Table.ReplaceValue(更改的类型,"内蒙古自治区","内蒙古",Replacer.ReplaceText,{"省份"}),
    替换的值1 = Table.ReplaceValue(替换的值,"宁夏回族自治区","宁夏",Replacer.ReplaceText,{"省份"}),
    替换的值2 = Table.ReplaceValue(替换的值1,"新疆维吾尔自治区","新疆",Replacer.ReplaceText,{"省份"}),
    替换的值3 = Table.ReplaceValue(替换的值2,"广西壮族自治区","广西",Replacer.ReplaceText,{"省份"}),
    替换的值4 = Table.ReplaceValue(替换的值3,"西藏自治区","西藏",Replacer.ReplaceText,{"省份"})
in
    替换的值4

替换后的结果如下,单击【关闭并上载】按钮将数据加载到工作表中。

在这里插入图片描述
M代码如下:

let= Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    更改的类型 = Table.TransformColumnTypes(,{{"省份", type text}}),
    替换的值 = Table.ReplaceValue(更改的类型,"内蒙古自治区","内蒙古",Replacer.ReplaceText,{"省份"}),
    替换的值1 = Table.ReplaceValue(替换的值,"宁夏回族自治区","宁夏",Replacer.ReplaceText,{"省份"}),
    替换的值2 = Table.ReplaceValue(替换的值1,"新疆维吾尔自治区","新疆",Replacer.ReplaceText,{"省份"}),
    替换的值3 = Table.ReplaceValue(替换的值2,"广西壮族自治区","广西",Replacer.ReplaceText,{"省份"}),
    替换的值4 = Table.ReplaceValue(替换的值3,"西藏自治区","西藏",Replacer.ReplaceText,{"省份"})
in
    替换的值4

这个操作和Excel中直接替换似乎区别也不大,同样也是要操作多次,但是其优势在于,创建PQ清洗步骤是一次性操作,今后数据中的省份都可以直接清洗完成,然而如果想在Excel中实现自动替换,那么将需要借助VBA才能实现。

Power Query也由其他的简洁实现方式,再接下来几篇博文中进行讲解。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值