本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
運算子
您可以在計算欄位中使用以下運算子。Amazon QuickSight 使用標準操作順序:括號、指數、乘法、分割、新增、減法 (PEMDAS)。等於 (=) 和不等於 (<>) 比較會區分大小寫。
-
加法 (+)
-
減法 (-)
-
乘法 (*)
-
除法 (/)
-
模數 (%):另請參閱下列清單中的
mod()
。 -
次方 (^):另請參閱下列清單中的
exp()
。 -
等於 (=)
-
不等於 (<>)
-
大於 (>)
-
大於或等於 (>=)
-
小於 (<)
-
小於或等於 (<=)
-
AND
-
或
-
NOT
Amazon QuickSight 支援將下列數學函數套用至表達式。
若要讓冗長的計算易於閱讀,您可以使用括號來釐清計算中的分組和優先順序。在以下陳述式中,您不需要使用括號。先處理乘法陳述式,然後將結果加上五,傳回值 26。不過,括號會讓陳述式更易於閱讀進而維護。
5 + (7 * 3)
由於括號是運算中的第一個順序,您可以變更套用其他運算子的順序。例如,在以下陳述式中,會先處理加法陳述式,然後再將結果乘以三,傳回值 36。
(5 + 7) * 3
範例:算術運算子
以下範例使用多個算術運算子來判斷折扣後的銷售總計。
(Quantity * Amount) - Discount
範例:(/) 部門
下列範例使用除法將 3 除以 2。傳回 1.5 的值。Amazon QuickSight 使用浮點數分割。
3/2
範例:(=) 等於
使用 = 來對值執行區分大小寫的比較。結果集中TRUE包含比較的資料列。
在下列範例中,結果中會包含 Region
欄位為 South
的資料列。如果 Region
為 south
,則會排除這些資料列。
Region = 'South'
在下列範例中,比較會評估為 FALSE。
Region = 'south'
以下範例顯示的比較會將 Region
轉換為全大寫 (SOUTH
),並將它和 SOUTH
比較。這樣會傳回區域為 south
、South
或 SOUTH
的資料列。
toUpper(Region) = 'SOUTH'
範例:(<>)
不等於符號 <> 表示小於或大於。
因此,如果假設 x<>1
,則我們是指如果 x 小於 1 或如果 x 大於 1。< 和 > 會一起評估。換句話說,如果 x 是 1 以外的任何值。或是,x 不等於 1。
注意
使用 <>,而非 !=。
以下範例會將 Status Code
與數值比較。這樣會傳回 Status Code
不等於 1
的資料列。
statusCode <> 1
以下範例會比較多個 statusCode
值。在此情況下,作用中記錄會有 activeFlag = 1
。此範例會傳回以下其中一項適用的資料列:
-
針對作用中記錄,顯示狀態不是 1 或 2 的資料列
-
針對非作用中記錄,顯示狀態為 99 或 -1 的資料列
( activeFlag = 1 AND (statusCode <> 1 AND statusCode <> 2) ) OR ( activeFlag = 0 AND (statusCode= 99 OR statusCode= -1) )
範例:(^)
次方符號 ^
表示的次方。您可以在任何數值欄位使用乘冪運算子,搭配任何有效的指數。
以下範例是 2 的 4 次方或 (2* 2* 2* 2) 的簡單表達式。這會傳回值 16。
2^4
以下範例會計算收入欄位的平方根。
revenue^0.5
範例:AND、OR 和 NOT
下列範例使用 AND、OR 和 NOT 來比較多個表達式。它使用條件式運算子,以特殊促銷標記華盛頓或奧勒岡NOT的頂級客戶,這些客戶已下超過 10 筆訂單。如果沒有傳回任何值,則會使用值 'n/a'。
ifelse(( (NOT (State = 'WA' OR State = 'OR')) AND Orders > 10), 'Special Promotion XYZ', 'n/a')
範例:建立「在」或「不在」之類的比較清單
此範例使用運算子來建立比較,以尋找存在或不存在於指定值清單中的值。
以下範例會將 promoCode
與指定的值清單比較。此範例會傳回 promoCode
在清單 (1, 2, 3)
中的資料列。
promoCode = 1 OR promoCode = 2 OR promoCode = 3
以下範例會將 promoCode
與指定的值清單比較。此範例會傳回 promoCode
位於清單 NOT中的資料列(1, 2, 3)
。
NOT(promoCode = 1 OR promoCode = 2 OR promoCode = 3 )
表達此比較的另一個方式是提供一個清單,其中的 promoCode
不等於清單中的任何項目。
promoCode <> 1 AND promoCode <> 2 AND promoCode <> 3
範例:建立「介於」比較
此範例使用比較運算子來建立比較,顯示存在於一個值和另一個值之間的值。
以下範例會檢查 OrderDate
,並傳回 OrderDate
介於 2016 年的第一天和最後一天之間的資料列。在此情況下,我們要包含第一天和最後一天,因此我們在比較運算子上使用「或等於」。
OrderDate >= "1/1/2016" AND OrderDate <= "12/31/2016"