指令碼控制陳述式
Qlik Sense 指令碼由多個陳述式組成。陳述式可以是一般的指令碼陳述式或是指令碼控制陳述式。
控制陳述式通常用於控制指令碼執行的流程。控制陳述式的每個子句都必須保持在一個指令碼行內,並可以分號或行結尾終止。
控制陳述式絕不可套用前置詞,但前置詞 when 和 unless 是例外,它們可用於一些特定的控制陳述式。
所有的指令碼關鍵字皆可以小寫和大寫字元的任意組合輸入。
使用每個函數中的下拉式功能表,以查看每個函數的簡要描述及語法。按一下語法描述中的函數名稱,以取得進一步詳細資料。
call 控制陳述式會呼叫必須由先前的 sub 陳述式定義的副程式。
Call name ( [ paramlist ])
do..loop 控制陳述式是指令碼反覆運算建構,這會執行一或數個陳述式,直到符合邏輯條件為止。
do [ ( while |
until ) condition ] [statements]
[exit do [ ( when | unless )
condition ] [statements]
loop [ ( while | until ) condition ]
此控制陳述式可停止指令碼執行。它可以插入指令碼的任一處。
exit script[ (when | unless)
condition ]
for each..next 控制陳述式是指令碼反覆運算建構,這會對於逗號分隔清單中的各個值執行一或數個陳述式。將會為清單的各個值,執行由 for 與 next 括住之迴圈內的陳述式。
For Each var in list
[statements]
[exit for [ ( when
| unless )
condition ]
[statements]
next [var]
for..next 控制陳述式是包含計數器的指令碼反覆運算建構。將對於所指定上下限之間的各個 counter 變數值,執行 for 與 next 所括住迴圈之內的陳述式。
Forcounter = expr1 to expr2 [ stepexpr3 ]
[statements]
[exit for [ ( when
| unless )
condition ]
[statements]
Next [counter]
if..then 控制陳述式是一種陳述式選項建構,會根據一或數個邏輯條件強制指令碼執行遵照不同的路徑。
資訊備註由於 if..then 陳述式是控制陳述式,因而會以分號或行尾來結束,所以這四個可能的子句 (if..then、elseif..then、else 和 end if) 都不能超過行邊界。
If
condition then
[ statements ]
{ elseif condition then
[ statements ] }
[ else
[ statements ] ]
end if
sub..end sub 控制陳述式會定義可從 call 陳述式呼叫的副程式。
Sub name [
( paramlist )] statements end sub
switch 控制陳述式是一個指令碼選項建構,會根據運算式的值強制指令碼執行遵照不同的路徑。
Switch expression {case valuelist [ statements ]} [default statements] end switch