數據可視化之PowerQuery篇(八)利用PowerQuery,進行更加靈活的數據分列


https://zhuanlan.zhihu.com/p/66540160

常規分列

 

我們最常見的就是有固定分隔符的規范數據,這種直接就按照分隔符拆分就可以了,

 

 

如果沒有分割符怎么辦?依然是上面的數據,如果連逗號都沒有呢,在Powerquery中還可以按從數字到非數字的轉換來分列,

 

 

拆分列的常規功能中還可以按大小寫字母的轉換來進行分列,比如這樣,

 

 

是不是非常方便呢。

 

分列到行

 

有時候數據都擠在一個單元格里,直接分列也可以,會分成一行多列的表,使用起來很不方便。

在PQ中,還可以直接分列到行中,直接點擊按字符分列,彈出的窗口中展開"高級選項",拆分為行就可以了,

 

 

多種分隔符進行分列

 

有時候拿到的原始數據很不規范,可能是手工錄入的很隨意,分割符不只是一種,我們無論選擇哪個都沒法直接分開,像下圖這樣,

 

 

這時候,僅靠界面功能就難以正確分列了,不過PQ里還有豐富的M函數,這里我們就需要用M函數來完成。

以上圖數據為例,碰到這種多中字符分割的情況,就不要再用拆分界面功能了,直接添加步驟,編輯框中輸入,

 

=Table.SplitColumn(
提升的標題, "區號",
Splitter.SplitTextByAnyDelimiter(
{",",";","-","+","。"},
QuoteStyle.Csv
)
)

 

(其中提升的標題是上一個步驟的名稱,使用時要更改為實際的步驟名,字符替換為實際數據的分隔符)

看起來有點長,其實主要是使用了Splitter.SplitTextByAnyDelimiter函數,並把所有的分隔符做成一個列表,作為該函數的第一個參數就可以了,效果如下,

 

 

關於分列,主要是找出數據排列的規律,是有固定的分隔符、有固定的字符數,還是有規律的從數字到文本等等,找到規律以后,就按規律進行拆分就可以了。

通過分列的功能也可以看出,PQ的界面功能已經比較豐富了,可以處理大部分的日常需求,不過對於不符合常規的數據,也是要掌握一些M函數才能更隨心所欲哦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM