运算符
您可以在计算字段中使用以下运算符。Amazon QuickSight 使用标准的运算顺序:圆括号、指数、乘、除、加、减(PEMDAS)。等于(=)和不等于(<>)比较区分大小写。
-
加 (+)
-
减 (−)
-
乘 (*)
-
除 (/)
-
取模(%)– 另请参阅以下列表中的
mod()
。 -
幂(^)– 另请参阅以下列表中的
exp()
。 -
等于 (=)
-
不等于 (<>)
-
大于 (>)
-
大于或等于 (>=)
-
小于 (<)
-
小于或等于(<=)
-
AND
-
或
-
NOT
Amazon QuickSight 支持将以下数学函数应用于表达式。
要使冗长的计算更易于阅读,您可以使用圆括号来澄清分组和计算优先级。在以下语句中,不需要圆括号。首先处理乘法语句,然后将结果与 5 相加,返回值 26。但是,圆括号使语句更易于阅读,因此也易于维护。
5 + (7 * 3)
因为圆括号排在运算顺序的第一位,所以您可以改变运用其他运算符的顺序。例如,在以下语句中,先处理加法语句,然后将结果乘以 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 或大于 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"