官术网_书友最值得收藏!

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。

主站蜘蛛池模板: 石家庄市| 育儿| 禄丰县| 墨玉县| 朔州市| 鸡泽县| 东平县| 汾阳市| 措勤县| 铜鼓县| 逊克县| 白玉县| 新宁县| 衡阳县| 岑巩县| 普陀区| 安西县| 南通市| 夹江县| 海伦市| 华蓥市| 成安县| 双牌县| 宽城| 兴安县| 北川| 湘阴县| 曲靖市| 洮南市| 襄城县| 宾阳县| 马关县| 鹤峰县| 汕尾市| 清镇市| 九龙坡区| 富宁县| 双柏县| 曲水县| 多伦县| 岢岚县|