指令碼運算式
LOAD 陳述式和 SELECT 陳述式中都可使用運算式。此處所述的語法和函數適用於 LOAD 陳述式,但不適用於 SELECT 陳述式,因為後者是由 ODBC 驅動程式所解譯,而非由 Qlik Sense 所解譯。不過,大部分的 ODBC 驅動程式通常都可解譯以下所述的一些函數。
運算式包含函數、欄位和運算子,結合在一個語法中。
Qlik Sense 指令碼中所有的運算式皆會傳回一個數字及/或字串,依適合的情況而定。邏輯函數和運算子對於 False 會傳回 0,對於 True 會傳回 -1。數字和字串之間的轉換是隱含的。邏輯運算子和函數會將 0 解譯為 False,而將其他都解譯為 True。
運算式的一般語法為:
運算式 | 欄位 | 運算子 |
---|---|---|
expression ::= (constant | constant | | |
expression ::= (constant | fieldref | | |
expression ::= (constant | operator1 expression | | |
expression ::= (constant | expression operator2 expression | | |
expression ::= (constant | function | | |
expression ::= (constant | ( expression ) | ) |
其中:
- constant 為以一般單引號括住的字串 (文字、日期或時間),或為數字。常數的寫法不會包含千位分隔符號,但會加上小數點作為小數點分隔符號。
- fieldref 為載入表格的欄位名稱。
- operator1 為一元運算子 (會影響右側的一個運算式)。
- operator2 為二元運算子 (會影響兩側各一個運算式)。
- function ::= functionname( parameters)
- parameters ::= expression { , expression }
參數的數目和類型非為任意的,會視所用的函數而定。
因此,運算式和函數可任意構成巢狀,只要運算式傳回可解譯的值,Qlik Sense 就不會產生任何錯誤訊息。