# 控制陳述式

修改圖表資料時，您可使用 Qlik Sense 指令碼的子集，這由許多陳述式組成。陳述式可以是一般的指令碼陳述式或是指令碼控制陳述式。

控制陳述式通常用於控制指令碼執行的流程。控制陳述式的每個子句都必須保持在一個指令碼行內，並可以分號或行結尾終止。

前置詞從未套用至控制陳述式。

所有的指令碼關鍵字皆可以小寫和大寫字元的任意組合輸入。

使用每個函數中的下拉式功能表，以查看每個函數的簡要描述及語法。按一下語法描述中的函數名稱，以取得進一步詳細資料。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### Call

call 控制陳述式會呼叫必須由先前的 sub 陳述式定義的副程式。

[**Call**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/Call.htm) name ( [ paramlist ])

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### Do..loop

do..loop 控制陳述式是指令碼反覆運算建構，這會執行一或數個陳述式，直到符合邏輯條件為止。

[**do**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/do.htm) [ ( while | until ) condition ] [statements]  
[exit do [ ( when | unless ) condition ] [statements]  
loop [ ( while | until ) condition ]

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### End

End 指令碼關鍵字用來結束 If、Sub 和 Switch 子句。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### Exit

Exit 指令碼關鍵字屬於 Exit Script 陳述式，但是也可以用來結束 Do、For 或 Sub 子句。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### Exit script

此控制陳述式可停止指令碼執行。它可以插入指令碼的任一處。

[**exit-script**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/exit-script.htm)[ (when | unless) condition ]

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### For..next

for..next 控制陳述式是包含計數器的指令碼反覆運算建構。將對於所指定上下限之間的各個 counter 變數值，執行 for 與 next 所括住迴圈之內的陳述式。

[**For**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/For.htm) counter = expr1 to expr2 [ stepexpr3 ]

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

Next [counter]

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### For each ..next

for each..next 控制陳述式是指令碼反覆運算建構，這會對於逗號分隔清單中的各個值執行一或數個陳述式。將會為清單的各個值，執行由 for 與 next 括住之迴圈內的陳述式。

[**for-each**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/for-each.htm) var in list

[statements]

[exit for [ ( when | unless ) condition ]

[statements]

next [var]

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### If..then

if..then 控制陳述式是一種陳述式選項建構，會根據一或數個邏輯條件強制指令碼執行遵照不同的路徑。

資訊備註由於 if..then 陳述式是控制陳述式，因而會以分號或行尾來結束，所以這四個可能的子句 (if..then、elseif..then、else 和 end if) 都不能超過行邊界。

[**If**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/If.htm) condition then

[ statements ]

{ elseif condition then

[ statements ] }

[ else

[ statements ] ]

end if

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### Next

Next 指令碼用來結束 For 迴圈。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### Sub

sub..end sub 控制陳述式會定義可從 call 陳述式呼叫的副程式。

[**Sub**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/Sub.htm) name [ ( paramlist )] statements end sub

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### Switch

switch 控制陳述式是一個指令碼選項建構，會根據運算式的值強制指令碼執行遵照不同的路徑。

[**Switch**](https://help.qlik.com/zh-TW/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/ControlStatements/Switch.htm) expression {case valuelist [ statements ]} [default statements] end switch

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/modifier-control-statements.htm)

#### To

To 指令碼關鍵字用於數個指令碼陳述式中。