精通Tableau商业数据分析与可视化
上QQ阅读APP看书,第一时间看更新

3.4 运算符及优先级

运算符用于执行程序代码运算,会针对一个以上操作数项目进行运算的。例如,2+3的操作数是2和3,运算符是“+”。Tableau支持的运算符有算术运算符、逻辑运算符、比较运算符。

3.4.1 算术运算符

•+(加法):此运算符应用于数字时表示相加;应用于字符串时表示串联;应用于日期时,将天数与日期相加。例如,'abc'+'def'='abcdef';#April 15,2004#+15=#April 30,2004#。

•–(减法):此运算符应用于数字时表示减法;应用于表达式时表示求反;应用于日期时,可用于从日期中减去天数,还可用于计算两个日期之间的天数差异。例如,7–3=4;-(7+3)=-10;#April 15,2004#-#April 8,2004#=7。

•*(乘法):此运算符表示数字乘法。例如,5*4=20。

•/(除法):此运算符表示数字除法。例如,20/4=5。

•%(求余):此运算符表示数字余数。例如,5%4=1。

•^(乘方):此符号等效于POWER函数,用于计算数字的指定次幂。例如,6^3=216。

3.4.2 逻辑运算符

•AND:逻辑运算且,两侧必须使用表达式或布尔值。


例如,IIF(Profit=100 AND Sales=1000,"High","Low"),如果两个表达式都为TRUE,结果就为TRUE;如果任意一个表达式为UNKNOWN,结果就为UNKNOWN;其他情况结果都为FALSE。


•OR:逻辑运算或,两侧必须使用表达式或布尔值。


例如,IIF(Profit=100 OR Sales=1000,"High","Low"),如果任意一个表达式为TRUE,结果就为TRUE;如果两个表达式都为FALSE,结果就为FALSE;如果两个表达式都为UNKNOWN,结果就为UNKNOWN。


•NOT:逻辑运算符否,可用于对另一个布尔值或表达式求反。


例如,IIF(NOT(Sales=Profit),"Not Equal","Equal")。

3.4.3 比较运算符

Tableau有丰富的比较运算符,有==或=(等于)、>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、!=和<>(不等于),用于比较两个数字、日期或字符串,并返回布尔值(TRUE或FALSE)。

3.4.4 运算符优先级

所有运算符都按特定顺序计算,如2*1+2等于4而不等于6,因为*运算符始终在+运算符之前计算。表3-1显示了计算运算符的顺序,第一行具有最高优先级,同一行中的运算符具有相同优先级,如果两个运算符具有相同优先级,在公式中就从左向右进行计算。

表3-1 运算符优先级

可以根据需要使用括号,括号中的运算符在计算时优先于括号外的运算符,从内部的括号开始向外计算,如(1+(2*2+1)*(3*6/3))=31。