我們了解到在Power Query中提取資料會因為資料格式不同而提取的方法不同。

前我們講了資料提取的文本篇,這次我們來看下數值格式的資料如何進行提取。
數值的提取主要是進位的問題。在Power Query中對于進位有着比Excel更多的選擇。
1. 向下舍去(類似Excel中的Rounddown)
Number.RoundDown(number as nullable number, optional digits as nullable number) as nullable number
第1個參數是需要進行操作的數值,第2個參數是進位到哪裡。
例:
Number.RoundDown(123.123,1)=123.1
Number.RoundDown(123.123,-1)=120
Number.RoundDown(123.123,-3)=0
Number.RoundDown(-123.123,1)=-123.2
Number.RoundDown(-123.123,-3)=-1000
注意:第2參數代表小數的位數,如果是負數則是小數點的前方,如果是正數則是小數點的後方,0則為去掉小數點。同時我們需要注意如果是負數,向下舍去的意義實際上是舍入到小的值。
2. 向上進位(類似Excel中的Roundup)
Number.RoundUp(number as nullable number, optional digits as nullable number) as nullable number
例:
Number.RoundUp(123.123,1)=123.2
Number.RoundUp(123.123,-1)=130
Number.RoundUp(123.123,-3)=1000
Number.RoundUp(-123.123,1)=-123.1
Number.RoundUp(-123.123,-3)=0
注意:和Number.RoundDown的差別,在于進位,是以始終是會往大的數值靠。
3. 向0進位(這個在Excel中目前沒有對應函數)
Number.RoundTowardZero(number as nullable number, optional digits as nullable number) as nullable number
向0進位是什麼意思呢?正數往下舍入,負數往上舍入
Number.RoundTowardZero(123.123,1)=123.1
Number.RoundTowardZero(-123.123,1)=-123.1
Number.RoundTowardZero(123.123,-3)=0
Number.RoundTowardZero(-123.123,-3)=0
Number.RoundAwayFromZero(number as nullable number, optional digits as nullable number) as nullable number
遠離0進位是什麼意思呢?正數往上舍入,負數往下舍入
Number.RoundAwayFromZero(123.123,1)=123.2
Number.RoundAwayFromZero(-123.123,1)=-123.2
Number.RoundAwayFromZero(123.123,-3)=1000
Number.RoundAwayFromZero(-123.123,-3)=-1000
4. 四舍五入(類似Excel的Round,但有些許差別)
Number.Round(number as nullable number, optional digits as nullable number, optional roundingMode as nullable RoundingMode.Type) as nullable number
此函數比Excel裡面多一個參數,一共有3個參數,第三個參數是針對如果碰到數字5如何進行處理,0代表向上進位,1代表向下舍去。預設參數是為1,是以如果要實作真正意義上的四舍五入則需要添加第三參數,正數為0,負數為1
Number.Round(123.125,2,1)=123.12
Number.Round(123.125,2,0)=123.13
Number.Round(-123.125,2,1)=-123.13
Number.Round(-123.125,2,0)=-123.12