如果数据太“ 脏 ”,你知道如何处理吗?

​有没有遇到这么个情况:在处理数据的时候,一般碰上源数据杂乱无章且还很“脏”的情况下,处理起来特别繁琐且闹心,真是令人头大...

那有没有解决方法呢?

我这有一招:一击必中 — 使用Power Query的Trim函数处理脏数据,可以从字符串中删除前端或尾部空格。但是如果我们需要处理的是一些其他不规则字符,该如何操作?下面我们一起来看看。要达到效果如下图:

                                               

 

 

 

从Excel获取数据

 

打开Power BI Desktop,选择从Excel中获取数据。

 

 

 

选择需要处理的Excel文件,将看到多个工作表,随便选择其中的一张,然后单击转换数据。

 

 

 

 

Power Query 编辑数据

 

右键需要处理的数据表,选择“编辑查询”,然后在打开窗口选择“高级编辑器”。

 

 

 

高级编辑器如下截图:

 

 

本次示例功能点主要使用Text.TrimStart和Text.TrimEnd两个函数实现,代码如下:

 let

    源 = Excel.Workbook(File.Contents("C:\Users\anking\Desktop\Power 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"}& {"-"})函数介绍,查找字符串尾部是否为数字,如果是就删除所有数字,并且删除“-”符号,遇到字母就停止删除。

 

学会了吗?学会那就点个赞吧!

 

 

推荐阅读

 

Power BI性能提升的10大秘密武器(续)

Azure Synapse Analytics和Power BI的性能改进

万亿行数据怎么办?重磅推荐Power BI中的聚合

Power BI 3月产品功能更新讲解 —— 视频上线

 

技术交流

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/ 
posted @ 2020-04-03 18:39  PowerBI365  阅读(562)  评论(0编辑  收藏  举报