有没有遇到这么个情况:在处理数据的时候,一般碰上源数据杂乱无章且还很“脏”的情况下,处理起来特别繁琐且闹心,真是令人头大...
那有没有解决方法呢?
我这有一招:一击必中 — 使用Power Query的Trim函数处理脏数据,可以从字符串中删除前端或尾部空格。但是如果我们需要处理的是一些其他不规则字符,该如何操作?下面我们一起来看看。要达到效果如下图:
从Excel获取数据
打开Power BI Desktop,选择从Excel中获取数据。
选择需要处理的Excel文件,将看到多个工作表,随便选择其中的一张,然后单击转换数据。
Power Query 编辑数据
右键需要处理的数据表,选择“编辑查询”,然后在打开窗口选择“高级编辑器”。
高级编辑器如下截图:
本次示例功能点主要使用Text.TrimStart和Text.TrimEnd两个函数实现,代码如下:
let
源 = Excel.Workbook(File.Contents("C:UsersankingDesktopPower BI Demo微信文章202002测试数据.xlsx"), null, true),
Sheet1_Sheet = 源{[Item="Sheet1",Kind="Sheet"]}[Data],
更改的类型 = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type text}, {"Column2", type text}}),
提升的标题 = Table.PromoteHeaders(更改的类型, [PromoteAllScalars=true]),
更改的类型1 = Table.TransformColumnTypes(提升的标题,{{"前端删除", type text}, {"后端删除", type text}}),
更改的类型2 = Table.AddColumn(更改的类型1, "前端删除后数据", each Text.TrimStart([前端删除], {"0".."9"} & {"、"})),
更改的类型3 = Table.AddColumn(更改的类型2, "后部删除后数据", each Text.TrimEnd([后端删除], {"0".."9"}& {"-"}))
in
更改的类型3
Text.TrimStart([前端删除], {"0".."9"} & {"、"})函数介绍,查找字符串前端是否为数字开头,如果是就删除所有数字,并且删除“、”符号,遇到字母就停止删除。
Text.TrimEnd([后端删除], {"0".."9"}& {"-"})函数介绍,查找字符串尾部是否为数字,如果是就删除所有数字,并且删除“-”符号,遇到字母就停止删除。
学会了吗?学会那就点个赞吧!
推荐阅读
Azure Synapse Analytics和Power BI的性能改进
技术交流
1.Power BI免费下载:http://www.yeacer.com/
Microsoft Power BI Desktop中文最新版:下载地址
2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。
Power Data技术交流群:702966126 (验证注明:博客园Power BI)
更多精彩内容请关注微信公众号:悦策PowerBI
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/