Power Query中的時間運算與Excel中有很大的差別:
在Excel中時間與數值是相等的,只不過是顯示的格式問題;
在Power Query中時間與數值是不同的數據類型,不能直接運算。
我們舉個例子:將時間增加30分鐘
在Excel中我們可以不用任何的函數,直接相加就行,無論是時間格式還是數值格式,或混合相加,都能得出正確的結果。
30分鐘等於:0:30:00=30/24/60
在Power Query中這樣的運算是不可以的,會提示:
有兩種方法可以實現:
第一種:改變時間數據類型為數值,然後加上30/24/60,得到結果以後再改變為時間數據類型。
這是按照Excel的思路來做的運算。
第二種:使用函數直接進行時間運算,#duration()內置函數,返回的是一個時間間隔。
這是正規的M語言函數的寫法。
Power Query提供了豐富的時間運算函數,
其中
#date
#datetime
#datetimezone
#duration
#time
是最基礎的函數,#date、#time與Excel中同名的函數功能一致。
#datetime函數相當於是#date與#time兩個函數合在一起,顯示長時間格式的函數。
#datetimezone是時區函數
#duration函數就是用來計算時間間隔的函數。
除此之外,還有123個與日期時間運算相關的函數,可以幫助你實現各種計算。
最主要的是要記住,Power Query中時間數據類型不能與數值直接運算。