Spotfire® 用户指南

运算符

可在自定义或计算表达式中使用的运算符的列表。

运算符 说明
- Arg1 对参数求反。参数和结果是实数类型。
Arg1 + Arg2 对两个参数求和。请参见适用于字符串串联的运算符 &
Arg1 - Arg2 Arg1 中减去 Arg2
Arg1 * Arg2 两个参数的乘积。参数和结果是实数小数类型。
Arg1 / Arg2 Arg1 除以 Arg2。参数和结果是实数小数类型。除以无效值中的零结果。

示例:

7/2 → 3.5

0/0 → (Empty)

-1/0 → (Empty)

Arg1 & Arg2 Arg2 附加到 Arg1 的结尾。参数可以为任意类型,但将被转换为字符串。结果为字符串类型。另请参见 Concatenate 函数。

示例:

"April " & (20+1) & "st" → "April 21st"

null & "Ape"(Empty)

Arg1 % Arg2 返回 Arg1 除以 Arg2 所得的余数。参数和结果是实数小数类型。无效值被传播到结果列。

例如:

3.5 % 2.5 → 1.00

Arg1 != Arg2

如果 Arg1 不等于 Arg2,则返回 true。

示例:

If( 1 != 2, true, false )

Case when 2 != 2 then true else false end

Arg1^Arg2 返回 Arg1Arg2 次幂。

例如:

2.5^3

[Value Column]^2

Arg1 < Arg2 如果 Arg1 小于 Arg2,则返回 true。参数可以为任意类型,但必须为同一类型。结果为布尔类型。如果任何参数无效,则结果将无效。为使正规数彼此进行比较而定义的函数。其他组合将导致无效值。

示例:

If( 1 < 2, "true", "false" )true

Case when 2 < 1 then "true" else "false" end false

If(1<null, "true", "false")(Empty)

If(1 < 1/0, "true", "false")(Empty)

Arg1 > Arg2 如果 Arg1 大于 Arg2,则返回 true。参数为实数类型,结果为布尔类型。请参见适用于有效参数定义的运算符 <
Arg1 <= Arg2 如果 Arg1 小于或等于 Arg2,则返回 true。参数为实数类型,结果为布尔类型。请参见适用于有效参数定义的运算符 <
Arg1 >= Arg2 如果 Arg1 大于或等于 Arg2,则返回 true。参数为实数类型,结果为布尔类型。请参见适用于有效参数定义的运算符 <
Arg1 = Arg2 如果 Arg1 等于 Arg2,则返回 true。参数可以为任意类型,但必须为同一类型。结果为布尔类型。如果任何参数为空,则结果将为空。对于实数类型的参数,请参见适用于有效参数定义的运算符 <

示例:

If(1 = 2, "true", "false" )alse

Case when 2 = 2 then "true" else "false" endrue

If("Hello" = "hello", "true", "false" )alse

If("" = null, "true", "false" ) → (Empty)

If(null = null, "true", "false" )(Empty)

Arg1 <=> Arg2

如果第一个参数等于第二个参数或两个参数都为 null,则返回 true。参数可以为任意类型,但必须为同一类型。结果为布尔类型。

示例:

Case when [Column1] <=> [Column2] then 'match' else 'no match' end

Arg1 <> Arg2 如果 Arg1 不等于 Arg2,则返回 true。参数可以为任意类型,但必须为同一类型。结果为布尔类型。如果任何参数无效,则结果将无效。对于实数类型的参数,请参见适用于有效参数定义的运算符 <
Arg1 ~= Arg2 可以作为 IFCASE 语句的一部分的运算符。参数可以为任意类型,但将被视为字符串列。如果 Arg2 正则表达式字符串与 Arg1 字符串匹配,则返回 true

使用计算的列时,某些字符(例如反斜线符号“\”)需要进行转义才能起作用。有关详细信息,请参见关于正则表达式语言元素的文献(例如,在 MSDN 上)。

示例:

If( "aab" ~= "a+" , "true", "false" )true

Case when "aba" ~= ".a+$" then "true" else "false" endtrue

And(Arg1, ...) 可以作为 IFCASE 语句的一部分的运算符。它包含两个布尔表达式作为参数,并在两个表达式均为 true 时返回 true

示例:

If( 1 < 2 and 2 < 3, "true", "false" )

Case when false and true then "true" else "false" end

Not(Arg1) 可以作为 IFCASE 语句的一部分的运算符。它对以布尔表达式形式指定的参数求反。

示例:

If( not 1 < 2, "true", "false" )

Case when not true then "true" else "false" end

Or(Arg1, ...) 可以作为 IFCASE 语句的一部分的运算符。它包含两个布尔表达式作为参数,且只要其中一个表达式为 true 即返回 true

示例:

If( 1 < 2 or 2 < 3, "true", "false" )

Case when false or true then "true" else "false" end

Xor(Arg1, ...) 可以作为 IFCASE 语句的一部分。它包含两个布尔表达式作为参数,且只要其中一个表达式为 true 即返回 true

示例:

If(1 < 2 xor 2 < 3, true, false)

Case when [A]>10 xor [B]>5 then 1 else 0 end