tft每日頭條

 > 生活

 > powerquery如何拆分文字和數字

powerquery如何拆分文字和數字

生活 更新时间:2025-06-16 20:12:25

今天分享一個數據處理的小技巧。

最近被星友問到文本格式的時間如何轉換為數字時間的問題,本文就來介紹一種簡易的轉換方式,如果你恰好碰到這種問題,應該會有幫助。

模拟示例數據如下圖:

powerquery如何拆分文字和數字(Query将時分秒轉換為數字)1

在這些時間字符串中,有的是完整的時分秒,而有的隻有小時或者分鐘,對于這樣的字符串顯然不能直接轉換為标準的時間或者數值數據,如果想把這樣的文本轉換為數字的秒數,應該怎麼做呢?

基本思路是将文本的小時、分鐘和秒根據單位,替換為相應的計算表達式,然後運行計算即可,下面就來看看PowerQuery的具體轉換方式。

導入PowerQuery以後,選中這一列,右鍵>替換值:

powerquery如何拆分文字和數字(Query将時分秒轉換為數字)2

将"小時"替換為"*3600 ":

powerquery如何拆分文字和數字(Query将時分秒轉換為數字)3

同樣的方式,再做兩次替換,将"分鐘"替換為"*60 "、将"秒"替換為空,就可以将以上的時間字符串轉換為這樣的數學表達式:

powerquery如何拆分文字和數字(Query将時分秒轉換為數字)4

然後利用M函數Expression.Evaluate來計算這個表達式,添加自定義列:

Expression.Evaluate(

Text.TrimEnd([時間]," ")

)

powerquery如何拆分文字和數字(Query将時分秒轉換為數字)5

因為數據中有些時間的秒是不全的,導緻上面的替換操作後,有的值最後帶有“ ”,所以這裡用了Text.TrimEnd先将尾部的字符" "清除掉,然後再計算這個表達式,結果如下:

powerquery如何拆分文字和數字(Query将時分秒轉換為數字)6

這樣就輕松從時間文本得到了具體的數字,如果想要的是小時數,在這個基礎上再除以3600即可。

解決這種需求的方法,當然不止這一種,但應該是最簡單、最易于理解的做法,很多數據的處理,不要把它想的太複雜,大部分需求都可以靈活使用PowerQuery中的界面操作來完成。

更多精彩

我的新書《PowerBI商業數據分析》上市了

PowerBI業務分析技巧:利用DAX細分客戶

PowerBI行級安全性(RLS)三種常見的角色規則設置

采悟 | PowerBI星球

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved