數字運算子

數字運算子可讓您透過計算過程 (例如 3 + 4) 產生新值。

在每個運算式中,數字運算子的應用方式為從左到右:

(left-hand side) (operator) (right-hand side)

運算過程會產出數字輸出值,可能為整數或小數,視輸入值而定。系統支援的運算子如下:

運算子名稱符號運算式範例輸出附註
add+

3 + 6

9
subtract-

6 - 5

1
multiply*

3 * 6

18
divide/

25 / 5

5
modulo%5 % 41計算第一個參數除以第二個參數的餘數,餘數為整數。輸入參數必須是整數、整數的資料欄參照,或得出結果為整數的運算式。
powerpowpow(4,3)64Power 會做為函式使用,請參閱 POW 函式
negate--myColumnmyColumn 的相反值這個運算子僅支援一個運算元,系統支援使用圓括號包覆參照。請參閱下方的範例。

上述範例僅適用於整數值,您可以在下面查閱如何將比較運算子套用至不同的資料類型。

用法

數字運算子是用來對資料的資料欄及/或整數、小數常數資料欄執行數字操作。一般而言,評估值或資料列時會套用這些運算子。

資料範例:

XY
21
64
710
100

轉換:

derive type:single value:(X + Y) as: 'add'

derive type:single value:(X - Y) as: 'subtract'

derive type:single value:(X * Y) as: 'multiply'

derive type:single value:(X / Y) as: 'divide'

derive type:single value:(X % Y) as: 'modulo'

derive type:single value: pow(X,Y) as: 'power'

derive type:single value: -(X-Y) as: 'negativeXminusY'

結果:

輸出內容如下所示,下面的 (null value) 代表計算結果產生空值。

XYaddsubtractmultiplydividemodulopowernegativeXminusY
21312202-1
64102241.521296-3
71017-3700.772824752493
10020100(null value)(null value)1-10

範例

注意事項:對一組值套用數字運算子時,系統會重新推測每個來源值的資料類型,並與運算式另一端所用的任何文字值比對。此方法可讓您執行更強大的比較作業。

在下列範例中,取自 MySource 資料欄的值會重新設定類型,以比對系統在運算式另一端所推測的資料類型。

add

資料欄類型轉換範例輸出附註
整數/小數

derive type:single value:(MySource + 5)

keep row:(MySource + 2.5)

產生的值為 MySource 資料欄中的值與常數 (5 或 2.5) 的總和。

日期時間您不能直接相加日期時間值,請使用 DATEDIF 函式產生兩個日期值之間的天數差。請參閱 DATEDIF 函式
字串

您無法將字串加在一起。

  • 您可以使用 MERGE 轉換,將字串值的資料欄互相串聯。請參閱 Merge 轉換
  • 您可以使用 ARRAYCONCAT 函式,將數個陣列類型的資料欄互相串聯。請參閱 ARRAYCONCAT 函式

為了順利進行計算,先前未列在此表中的所有資料類型均當成字串。

subtact

資料欄類型轉換範例輸出附註
整數/小數

derive type:single value:(MySource - 5)

derive type:single value:(MySource - 2.5)

產生的值為 MySource 資料欄中的值和常數 (5 或 2.5) 之間的差。
日期時間您不能直接減去日期時間值。必須使用 DATEDIF 函式產生兩個日期值之間的天數差。請參閱 DATEDIF 函式
字串

您不能直接減去字串。

  • 您可以使用 SUBSTRING 函式,尋找在另一字串中的某一字串。找到後,此函式會傳回子字串所在的來源字串中該值的索引值。這個索引值可做為 LEFTRIGHT 函式的輸入值來移除子字串。請參閱 SUBSTRING 函式
為了順利進行計算,先前未列在此表中的所有資料類型均當成字串。

multiply

資料欄類型轉換範例輸出附註
整數/小數

derive type:single value:(MySource * 5)

derive type:single value:(MySource * 2.5)

產生的值為 MySource 資料欄中的值與常數 (5 或 2.5) 的乘積。
日期時間不適用
字串

不適用

divide

資料欄類型轉換範例輸出附註
整數/小數

derive type:single value:(MySource / 5)

derive type:single value:(MySource / 2.5)

產生的值為 MySource 資料欄中的值除以常數 (5 或 2.5)。
日期時間不適用
字串

不適用


modulo

資料欄類型轉換範例輸出附註
整數

derive type:single value:(MySource % 5)

產生的值為 MySource 資料欄中的值除以常數 (5 或 2.5)。
小數

derive type:single value:(MySource % 2.5)

不支援。輸入值必須是整數類型。
日期時間不適用
字串

不適用

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁