运算符 - Amazon QuickSight
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

运算符

您可以在计算字段中使用以下运算符。Amazon QuickSight 使用标准运算顺序:括号、指数、乘法、除法、加法、减法 (PEMDAS)。等于(=)和不等于(<>)比较区分大小写。

  • 加 (+)

  • 减 (−)

  • 乘 (*)

  • 除 (/)

  • 取模(%)– 另请参阅以下列表中的 mod()

  • 幂(^)– 另请参阅以下列表中的 exp()

  • 等于 (=)

  • 不等于 (<>)

  • 大于 (>)

  • 大于或等于 (>=)

  • 小于 (<)

  • 小于或等于(<=)

  • AND

  • NOT

Amazon QuickSight 支持将以下数学函数应用于表达式。

  • Mod(number, divisor) – 查找将一个数字除以除数之后的余数。

  • Log(expression) – 返回给定表达式的以 10 为底的对数。

  • Ln(expression) – 返回给定表达式的自然对数。

  • Abs(expression) – 返回给定表达式的绝对值。

  • Sqrt(expression) – 返回给定表达式的平方根。

  • Exp(expression) – 返回以自然常数 e 为底且以指定表达式为幂的值。

要使冗长的计算更易于阅读,您可以使用圆括号来澄清分组和计算优先级。在以下语句中,不需要圆括号。首先处理乘法语句,然后将结果与 5 相加,返回值 26。但是,圆括号使语句更易于阅读,因此也易于维护。

5 + (7 * 3)

因为圆括号排在运算顺序的第一位,所以您可以改变运用其他运算符的顺序。例如,在以下语句中,先处理加法语句,然后将结果乘以 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 或大于 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 来比较多个表达式。表达式中使用了条件运算符,以标记不在华盛顿或俄勒冈州、享受特别促销并且订单超过 10 个的最大客户。如果没有返回值,则使用值“n/a”。

ifelse(( (NOT (State = 'WA' OR State = 'OR')) AND Orders > 10), 'Special Promotion XYZ', 'n/a')

示例:创建比较列表如“in”或“not in”

此例使用运算符来创建比较,以查找在指定值列表中存在或不存在的值。

以下示例比较 promoCode 与一个指定值列表。该示例返回 promoCode 位于列表 (1, 2, 3) 中的行。

promoCode = 1 OR promoCode = 2 OR promoCode = 3

以下示例比较 promoCode 与一个指定值列表。该示例返回 promoCode 没有位于列表 (1, 2, 3) 中的行。

NOT(promoCode = 1 OR promoCode = 2 OR promoCode = 3 )

另一种表示方法是提供一个列表,其中 promoCode 不等于列表中的任何项。

promoCode <> 1 AND promoCode <> 2 AND promoCode <> 3

示例:创建“between”比较

该示例使用比较运算符创建一个比较,以显示介于两个值之间的值。

以下示例检查 OrderDate 并返回 OrderDate 介于 2016 年第一天与最后一天之间的行。在这种情况下,我们希望包含第一天和最后一天,因此我们在比较运算符上使用了“或等于”。

OrderDate >= "1/1/2016" AND OrderDate <= "12/31/2016"