好久没有写过关于Powerquery的文章了,今天就写点在Powerquery中分列的几个小知识吧。
常规分列
我们最常见的就是有固定分隔符的规范数据,这种直接就按照分隔符拆分就可以了,
如果没有分割符怎么办?依然是上面的数据,如果连逗号都没有呢,在Powerquery中还可以按从数字到非数字的转换来分列,
拆分列的常规功能中还可以按大小写字母的转换来进行分列,比如这样,
是不是非常方便呢。
分列到行
有时候数据都挤在一个单元格里,直接分列也可以,会分成一行多列的表,使用起来很不方便。
在PQ中,还可以直接分列到行中,直接点击按字符分列,弹出的窗口中展开"高级选项",拆分为行就可以了,
多种分隔符进行分列
有时候拿到的原始数据很不规范,可能是手工录入的很随意,分割符不只是一种,我们无论选择哪个都没法直接分开,像下图这样,
这时候,仅靠界面功能就难以正确分列了,不过PQ里还有丰富的M函数,这里我们就需要用M函数来完成。
以上图数据为例,碰到这种多中字符分割的情况,就不要再用拆分界面功能了,直接添加步骤,编辑框中输入,
=Table.SplitColumn(
提升的标题, "区号",
Splitter.SplitTextByAnyDelimiter(
{",",";","-","+","。"},
QuoteStyle.Csv
)
)
(其中提升的标题是上一个步骤的名称,使用时要更改为实际的步骤名,字符替换为实际数据的分隔符)
看起来有点长,其实主要是使用了Splitter.SplitTextByAnyDelimiter函数,并把所有的分隔符做成一个列表,作为该函数的第一个参数就可以了,效果如下,
关于分列,主要是找出数据排列的规律,是有固定的分隔符、有固定的字符数,还是有规律的从数字到文本等等,找到规律以后,就按规律进行拆分就可以了。
通过分列的功能也可以看出,PQ的界面功能已经比较丰富了,可以处理大部分的日常需求,不过对于不符合常规的数据,也是要掌握一些M函数才能更随心所欲哦。
/推荐阅读/
01文本处理技巧:移除和提取
02报表布局技巧:折叠切片器,拯救有限的空间
03PowerBI作图技巧:在走势图上标注最大值、最小值…
来知识星球,一起精进PowerBI。