運算子 - Amazon QuickSight

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

運算子

您可以在計算欄位中使用以下運算子。Amazon QuickSight 使用標準操作順序:括號、指數、乘法、分割、新增、減法 (PEMDAS)。等於 (=) 和不等於 (<>) 比較會區分大小寫。

  • 加法 (+)

  • 減法 (-)

  • 乘法 (*)

  • 除法 (/)

  • 模數 (%):另請參閱下列清單中的 mod()

  • 次方 (^):另請參閱下列清單中的 exp()

  • 等於 (=)

  • 不等於 (<>)

  • 大於 (>)

  • 大於或等於 (>=)

  • 小於 (<)

  • 小於或等於 (<=)

  • AND

  • NOT

Amazon QuickSight 支援將下列數學函數套用至表達式。

  • Mod(number, divisor):會在以除數除以數字後找到餘數。

  • Log(expression) :會傳回指定表達式之以 10 為底的對數。

  • Ln(expression) :會傳回指定表達式的自然對數。

  • Abs(expression) :會傳回指定表達式的絕對值。

  • Sqrt(expression) :會傳回指定表達式的平方根。

  • Exp(expression) :會傳回指定表達式之以自然對數為底的 e 次方。

若要讓冗長的計算易於閱讀,您可以使用括號來釐清計算中的分組和優先順序。在以下陳述式中,您不需要使用括號。先處理乘法陳述式,然後將結果加上五,傳回值 26。不過,括號會讓陳述式更易於閱讀進而維護。

5 + (7 * 3)

由於括號是運算中的第一個順序,您可以變更套用其他運算子的順序。例如,在以下陳述式中,會先處理加法陳述式,然後再將結果乘以三,傳回值 36。

(5 + 7) * 3

範例:算術運算子

以下範例使用多個算術運算子來判斷折扣後的銷售總計。

(Quantity * Amount) - Discount

範例:(/) 部門

下列範例使用除法將 3 除以 2。傳回 1.5 的值。Amazon QuickSight 使用浮點數分割。

3/2

範例:(=) 等於

使用 = 來對值執行區分大小寫的比較。結果集中TRUE包含比較的資料列。

在下列範例中,結果中會包含 Region 欄位為 South 的資料列。如果 Regionsouth,則會排除這些資料列。

Region = 'South'

在下列範例中,比較會評估為 FALSE。

Region = 'south'

以下範例顯示的比較會將 Region 轉換為全大寫 (SOUTH),並將它和 SOUTH 比較。這樣會傳回區域為 southSouthSOUTH 的資料列。

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"