Power Query 處理間斷序列資料的展開
QQ群中的一道題:
根據年限中的提示,展開到每一年。
看到這個問題就想到Power Query中列表的表達方式:
{1..9}={1,2,3,4,5,6,7,8,9}
正適合用來解決這個問題,我們只需要替換其中的-與、兩個符號就可以了,還需要用到一個類似Excel中的宏表函式EVALUATE:
Expression.Evaluate
這個函式可以把文本當成表示式來計算:
像這樣:
我們來看這個問題:
我們在源資料上新增自定義列:
我們只需要用Text.Replace巢狀,替換頓號為英文的逗號,替換連字元為兩個小數點,在最外層新增兩個大括號就好了:
Expression.Evaluate("{"&Text.Replace(Text.Replace([年限],"、",","),"-","..")&"}")
為了方便觀察我們在來新增一列:
上圖顯示的就是替換的結果,然後用Expression.Evaluate函式計算就可以了。
我們展開自定義列:
透視是否列,不聚合:
我們就得到了想要的結果。
最新評論