邏輯運算子

邏輯運算子 (and、or、not) 可讓您有邏輯地結合多個運算式,以評估更大、更複雜運算式的輸出為 truefalse
(left-hand side) (operator) (right-hand side)

這些評估會產生布林值輸出。系統支援下列運算子:

運算子名稱符號運算式範例輸出附註
and&&

((1 == 1) && (2 == 2))

true

((1 == 1) && (2 == 3))

false
or||

((1 == 1) || (2 == 2))

true不支援排除或 (xor)。

((1 == 2) || (2 == 3))

false
not!

!(1 == 1)

false

!(1 == 2)

true

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

用法

邏輯運算子是用來執行運算式的評估,涵蓋各種資料類型。通常會在評估值或資料列時套用這些運算子。

資料範例:

XY
truetrue
truefalse
falsetrue
falsefalse

轉換:

derive type:single value:(X && Y) as: 'col_and'

derive type:single value:(X || Y) as: 'col_or'

derive type:single value:!(or) as: 'col_not_and'

derive type:single value:!(or) as: 'col_not_or'

結果:

輸出如下所示:

XYcol_andcol_orcol_not_andcol_not_or
truetruetruetruefalsefalse
truefalsefalsetruetruefalse
falsetruefalsetruetruefalse
falsefalsefalsefalsetruetrue

範例

and

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

set col:InRange value:((Input >= 10) && (Input <= 90))

  • 如果 Input 資料欄的值在 10 和 90 (含首尾) 之間,將 InRange 資料欄的值設為 true
  • 在其他情況下,InRange 資料欄值為 false
日期時間

delete row: ((Date >= DATE(2014, 01, 01)) && (Date <= DATE(2014, 12, 31))

刪除 Date 值為 2014 的所有資料列。
字串

derive type:single value:((LEFT(USStates,1) == "A") && (RIGHT(USStates,1) == "A"))

針對美國州名,產生的資料列為以下值包含 true

  • Alabama
  • Alaska
  • Arizona

如果是其他值,產生的值為 false

or

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

set col:BigOrder value:((Total > 1000000) || (Qty > 1000))

  • BigOrder 資料欄,假如 Total 的值大於 1,000,000 或是 Qty 的值大於 1000,將值設為 true
  • 在其他情況下則為 false
日期時間

delete row: ((Date <= DATE(1950, 01, 01)) || (Date >= DATE(2050, 12, 31))

刪除資料集的 Date 資料欄中,值早於 01/01/1950 或晚於 12/31/2050 的所有資料列。
字串

derive type:single value:((Brand == 'subaru') || ('Color' == 'green')) as:'good_car'

  • 假如 Brandsubaru 或是 Colorgreen,建立包含 true 的新 good_car 資料欄。
  • 在其他情況下,good_car 值則為 false

not

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

keep row:!((sqft < 1300) && (bath < 2) && (bed < 2.5))

保留不符合以下任何條件的所有房屋資料列:

  • 小於 1300 平方英尺、
  • 不到 2 間浴室、
  • 不到 2.5 間臥室。
日期時間

keep row:!(YEAR(Date) == '2016')

保留資料集的 Date 資料欄中,年份值不等於 2016 的所有資料列。
字串

delete row:!(status == 'Keep_It')

刪除 status 資料欄中值不是 Keep_It 的所有資料列。

另請參閱

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

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

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