指令碼運算式

LOAD陳述式和SELECT 陳述式中都可使用運算式。此處所述的語法和函數適用於 LOAD陳述式,但不適用於 SELECT 陳述式,因為後者是由 ODBC 驅動程式所解譯,而非由QlikView 所解譯。不過,大部分的 ODBC驅動程式通常都可解譯以下所述的一些函數。

運算式包含函數、欄位和運算子,結合在一個語法中。

QlikView指令碼中所有的運算式皆會傳回一個數字及/或字串,依適合的情況而定。邏輯函數和運算子對於 False會傳回 0,對於True 會傳回 -1。數字和字串之間的轉換是隱含的。邏輯運算子和函數會將 0 解譯為 False,而將其他都解譯為 True

運算式的一般語法為:

expression ::= (constant constant |
  fieldref |
  operator1 expression |
  expression operator2 expression |
  function |
  ( expression ) )

其中:

constant為以一般單引號括住的字串 (文字、日期或時間),或為數字。常數的寫法不會包含千位分隔符號,但會加上小數點作為小數點分隔符號。

fieldref為載入表格的欄位名稱。

operator1為一元運算子 (會影響右側的一個運算式)。

operator2為二元運算子 (會影響兩側各一個運算式)。

function ::= functionname( parameters)

parameters ::= expression { , expression }

參數的數目和類型並不是任意的,會視所用的函數而定。

因此,運算式和函數可任意構成巢狀,只要運算式傳回可解譯的值,QlikView就不會產生任何錯誤訊息。