Power Query 處理間斷序列資料的展開

Power Query 處理間斷序列資料的展開

QQ群中的一道題:

Power Query 處理間斷序列資料的展開

根據年限中的提示,展開到每一年。

看到這個問題就想到Power Query中列表的表達方式:

{1。。9}={1,2,3,4,5,6,7,8,9}

正適合用來解決這個問題,我們只需要替換其中的-與、兩個符號就可以了,還需要用到一個類似Excel中的宏表函式EVALUATE:

Expression.Evaluate

這個函式可以把文本當成表示式來計算:

Power Query 處理間斷序列資料的展開

像這樣:

Power Query 處理間斷序列資料的展開

我們來看這個問題:

我們在源資料上新增自定義列:

Power Query 處理間斷序列資料的展開

我們只需要用Text。Replace巢狀,替換頓號為英文的逗號,替換連字元為兩個小數點,在最外層新增兩個大括號就好了:

Expression。Evaluate(“{”&Text。Replace(Text。Replace([年限],“、”,“,”),“-”,“。。”)&“}”)

為了方便觀察我們在來新增一列:

Power Query 處理間斷序列資料的展開

上圖顯示的就是替換的結果,然後用Expression。Evaluate函式計算就可以了。

我們展開自定義列:

Power Query 處理間斷序列資料的展開

透視是否列,不聚合:

Power Query 處理間斷序列資料的展開

我們就得到了想要的結果。