首頁>科技>

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函式計算就可以了。

我們展開自定義列:

透視是否列,不聚合:

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

6
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 隱私安全如何防護?首份手機安全白皮書即將釋出