提到字符型数据的清洗方法,相信不少朋友会想到Trim函数,很多编程语言中也会有Trim或类Trim方法。
先简单介绍一下Trim:该函数可移除字符串两侧的空白字符或其他预定义字符,但仅能删除开头或结尾的字符,不能删除中间部分的字符。所以本文将会介绍一种利用Power Query删除字段名中间多余字符的方法(以空格为例)。
1 示例
从Power Query自动生成的代码中可以看到,该表的字段名中间确实有或多或少的空格。
2 步骤详解
(不想看过程的朋友可直接跳到下一部分“步骤整合”)
Step1:首先,如图所示,点击“将标题作为第一行”,再点击“转置”:
“转置”后结果如下:
Step2:接下来,点击“自定义列”,按顺序生成三个自定义列:
1.用空格作为分隔符将”Column1”分列:
自定义=Text.Split([Column1]," ")
该公式会生成一些List,如下图:
对内部结构感兴趣的朋友可任选一个List展开,以下展开的是”Product Amount Total”:
2. 在“自定义“的List中选择不为空的值。
自定义.1=List.Select([自定义], each _<>””)
该公式会生成一些List,如下图:
展开”Product Amount Total”所在行的List,列表中已经不存在空值:
3. 用空格作为连接符,将”自定义.1”中的值连接起来。
自定义.2=Text.Combine([自定义.1]," ")
结果如下:
Step 3:最后,删除多余的列”Column1”、”自定义”、”自定义.1”,将”自定义.2”移至最前,转置并提升标题,即可得到想要的结果。
3 步骤整合
上述步骤详解中的过程太过繁琐,仅供学习使用。实际使用时,只需要在导入数据之后,点击“高级编辑器”,追加公式①,修改公式②即可。记得在公式①的上一行结尾增加”,”逗号, 否则会报错。
更改的标题 =Table.TransformColumnNames(更改的类型,eachText.Combine(List.Select(Text.Split(_," "),each_<>"")," "))
本文提供的只是众多解法中的一种,文中所有公式提到的分隔符或连接符都可以换成自己需要的字符。若有更多更好的方法,欢迎在评论区留言,下期见!
* PowerPivot工坊原创文章,转载请注明出处!
延伸阅读:
网友评论