指令碼一般陳述式
上次更新:2026-11-10
一般陳述式通常用於以某種方式操縱資料。這些陳述式可在指令碼中撰寫為任意行數,但是一定必須以分號 (";") 終止。
所有的指令碼關鍵字皆可以小寫和大寫字元的任意組合輸入。但用於陳述式中的欄位和變數名稱則會區分大小寫。
使用每個函數中的下拉式功能表,以查看每個函數的簡要描述及語法。按一下語法描述中的函數名稱,以取得進一步詳細資料。
alias 陳述式用來設定別名,只要欄位出現在下列指令碼,就會按照這個陳述式重新命名欄位。
Alias fieldname as aliasname {,fieldname as aliasname}
此陳述式會針對在指令碼執行期間出現的每個相異的評估值,建立唯一的整數值。
Autonumber fields [Using namespace] ]
binary 陳述式用來載入其他 QlikView 文件的資料,包括 Section Access 資料。
Binary [[path] filename ]
可用來顯示資料庫或試算表的表格註解 (中繼資料)。
comment-table tablelist using mapname
comment-table tablename with comment
CONNECT 陳述式用於定義資料連線的存取。
LIB CONNECT TO connection
Connection 指令碼關鍵字用作 IncludeModel 陳述式內的元素。Connection 指定從資料產品以資料表形式載入至應用程式的來源資料位置。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
Connection dataset_connection
Constrain 陳述式可以與 Let 或 Set 陳述式合併使用,以定義指令碼變數。Constrain 陳述式可讓您對這些變數的可能值定義限制。如果變數定義違反限制,則載入會失敗。透過限制,您可以要求變數值符合特定類型、屬於特定數字範圍內並符合您定義的可接受值。
Constrain variablename = json
Declare 陳述式用來建立欄位定義,您可以從中定義欄位或函數之間的關係。一組欄位定義可用來自動產生衍生的欄位,它們可用作維度。例如,您可以建立行事曆定義,並用以從日期欄位中產生相關維度,例如年份、月份、週和日。
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
[Groups group_list ]
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
Derive 陳述式用來根據使用 Declare 陳述式建立的欄位定義以產生衍生的欄位。您可以指定要為其衍生欄位的資料欄位,或者根據欄位標記明確或隱含地衍生它們。
Derive [Field[s]] From [Field[s]] field_list Using definition
Derive [Field[s]] From Explicit [Tag[s]] (tag_list) Using definition
Derive [Field[s]] From Implicit [Tag[s]] Using definition
Directory 陳述式會在後續 LOAD 陳述式中定義要在其中尋找資料檔的目錄,直到發出新的 Directory 陳述式為止。
Directory [path]
Disconnect 陳述式會終止目前 ODBC/OLE DB/自訂連線。此陳述式是選用的。
透過 drop field 陳述式,可以隨時在指令碼執行期間,從資料模型和記憶體捨棄一或數個 Qlik Sense 欄位。在 drop field 陳述式後移除表格的「相異」屬性。
drop-field fieldname [ , fieldname2 ...] [from tablename1 [ , tablename2 ...]]
drop fields fieldname [ , fieldname2 ...] [from tablename1 [ , tablename2 ...]]
透過 drop table 陳述式,可以隨時在指令碼執行期間,從資料模型和記憶體捨棄一或數個 Qlik Sense 內部表格。 選擇性地,在指令碼執行結束之前,使用 drop mapping table 變體來捨棄對應表格,亦即那些使用 Mapping 前置詞建立的內容。
Drop [mapping] table tablename [, tablename2 ...]
drop [mapping] tables[ tablename [, tablename2 ...]
使用 Drop variable 陳述式,在指令碼執行期間捨棄指令碼變數。捨棄變數時,它將無法使用或不可見,例如在工作表檢視中。
drop variable 和 drop variables 兩者均可,效果並無不同。
Drop variable variablename [ , variablename2 ...]
Drop variables variablename [ , variablename2 ...]
FlushLog 陳述式會強制 Qlik Sense 將指令碼緩衝的內容寫入至指令碼記錄檔。
force 陳述式會強制 Qlik Sense 將後續 LOAD 及 SELECT 陳述式的欄位值解譯為僅以大寫字母、僅小寫字母、字首一律大寫或大小寫混合 (混用) 來寫入。此陳述式能夠讓經過不同轉換的表格之中的欄位值產生關聯。
Force ( capitalization | case upper | case lower | case mixed )
FromCurrentSpace 指令碼關鍵字可用作 IncludeModel 陳述式內的元素。這會指定從與包含應用程式相同的空間載入資料產品及其語意模型。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
FromPersonalSpace 指令碼關鍵字可用作 IncludeModel 陳述式內的元素。這會指定從使用者的個人空間載入資料產品及其語意模型。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
FromSpace 指令碼關鍵字可做為 IncludeModel 陳述式中的元素使用。 它指定從指定的空間載入資料產品及其語意模型。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
FromSpace data_product_space
IncludeModel 陳述式會載入資料產品及其語意模型,包括資料表、關聯性、量值和維度。來自語意模型的度量和維度會自動在應用程式中顯示為主要項目。
IncludeModel data_product_name [InEnvironment environment_name] [FromSpace data_product_space | FromCurrentSpace | FromPersonalSpace] [WithTables Table table_name1 Fields fieldlist Connection dataset_connection {, Table table_nameN Fields fieldlist Connection dataset_connection,... }] [WithMeasures measurelist] [WithDimensions dimensionlist]
InEnvironment 指令碼關鍵字用作 IncludeModel 陳述式內的元素。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
InEnvironment environment_name
LOAD 陳述式可以從檔案、指令碼中定義的資料、先前載入的表格、網頁、後續 SELECT 陳述式的結果或自動產生的資料來載入欄位。 這也可以從分析連線載入資料。
Load [ distinct ] *fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]
inline data [ format-spec ] |
resident table-label |
autogenerate size )]
[ where criterion | while criterion ]
[ group_by groupbyfieldlist ]
[order_by orderbyfieldlist ]
[extension pluginname.functionname(tabledescription)]
let 陳述式是 set 陳述式的補集,用來定義指令碼變數。相對於 set 陳述式,let 陳述式會先在指令碼執行時間評估 '=' 右邊的運算式,然後才將運算式指派給變數。
Let variablename=expression
使用 Loosen Table 陳述式,可以在指令碼執行期間將一或多個 Qlik Sense 內部資料表明確宣告為鬆散耦合表格。當表格鬆散耦合時,會移除表格中欄位值之間的所有關聯。可以透過將鬆散耦合表格的每個欄位作為獨立、未連接的表格載入,從而實現類似的效果。在測試以暫時隔離資料結構的不同部分時,鬆散耦合可能有用。鬆散耦合的表格可以在表格檢視器中使用虛線進行識別。在指令碼中使用一或多個 Loosen Table 陳述式將造成 Qlik Sense 忽略指令碼執行前使表格成為鬆散耦合表格的任何設定。
tablename [ , tablename2 ...]
Loosen Tables tablename [ , tablename2 ...]
map ... using 陳述式用來將特定欄位值或運算式對應到特定對應表的值。對應表是透過 Mapping 陳述式建立的。
Map *fieldlist Using mapname
NullAsNull 陳述式會關閉先前由 NullAsValue 陳述式設定將 NULL 變成字串值的轉換。
NullAsNull *fieldlist
NullAsValue 陳述式會指定應該將出現 NULL 的哪些欄位轉換為值。
NullAsValue *fieldlist
Qualify 陳述式用來切換限定欄位名稱,亦即欄位名稱將獲得表格名稱做為前置詞。
Qualify *fieldlist
rem 陳述式用來將備註或註解插入指令碼中,或暫時停用指令碼陳述式,但不移除陳述式。
Rem string
此指令碼函數會在載入一或多個現有 Qlik Sense 欄位之後,為其重新命名。
rename-field (using mapname | oldname to newname{ , oldname to newname })
Rename Fields (using mapname | oldname to newname{ , oldname to newname })
此指令碼函數會在載入一或多個現有 Qlik Sense 內部表格之後,為其重新命名。
rename-table (using mapname | oldname to newname{ , oldname to newname })
Rename Tables (using mapname | oldname to newname{ , oldname to newname })
透過 section 陳述式,可以定義是否應該將後續的 LOAD 和 SELECT 陳述式視為資料或存取權限的定義。
Section (access | application)
透過標準 SQL SELECT 陳述式可選取來自 ODBC 資料來源或 OLE DB 提供者的欄位。然而,是否接受 SELECT 陳述式取決於所使用的 ODBC 驅動程式或 OLE DB 提供者。
Select [all | distinct | distinctrow | top n [percent] ] *fieldlist
From tablelist
[Where criterion ]
[Group by fieldlist [having criterion ] ]
[Order by fieldlist [asc | desc] ]
[ (Inner | Left | Right | Full)Join tablename on fieldref = fieldref ]
set 陳述式用來定義指令碼變數。這些可用來取代字串、路徑、磁碟機等。
Set variablename=string
sleep 陳述式會暫停所指定時間的指令碼執行。
Sleep n
SQL 陳述式可讓您透過 ODBC 或 OLE DB 連線傳送任意 SQL 命令。
SQL sql_command
sqlcolumns 陳述式會傳回一組描述 ODBC 或 OLE DB 資料來源資料行的欄位,該欄位已經進行 connect。
sqltables 陳述式會傳回一組描述 ODBC 或 OLE DB 資料來源表格的欄位,該欄位已經進行 connect。
sqltypes 陳述式會傳回一組描述 ODBC 或 OLE DB 資料來源類型的欄位,該欄位已經進行 connect。
用來代表資料庫中某個欄位之所有值集合的字串可以透過 star 陳述式進行設定。會影響後續的 LOAD 與 SELECT 陳述式。
Star is [ string ]
Store 陳述式建立 QVD、Parquet、CSV 或 TXT 檔案。
Store [ *fieldlist from] table into filename [ format-spec ];
此指令碼陳述式提供將標記指派至一個或多個欄位或表格的方式。如果已嘗試將欄位或表格標記為不呈現在應用程式中,則會忽略該標記。若發現欄位或標記名稱衝突,會使用最後一個值。
Tag[field|fields] fieldlist with tagname
Tag [field|fields] fieldlist using mapname
Tag table tablelist with tagname
使用 trace 陳述式可將字串寫入指令碼執行進度視窗以及指令碼記錄檔。在偵錯方面非常有幫助。使用在 trace 陳述式前計算的 $-expansions 變數,即可自訂訊息。
Trace string
Unmap 陳述式會為後續載入的欄位,停用先前 Map … Using 陳述式指定的欄位值對應。
Unmap *fieldlist
Unqualify 陳述式用來關閉先前由 Qualify 陳述式開啟的欄位名稱限定。
Unqualify *fieldlist
此指令碼陳述式提供從欄位或表格移除標記的方式。如果已嘗試將欄位或表格取消標記為不呈現在應用程式中,則會忽略該取消標記。
Untag[field|fields] fieldlist with tagname
Tag [field|fields] fieldlist using mapname
Tag table tablelist with tagname
WithDimensions 指令碼關鍵字用作 IncludeModel 陳述式內的元素。WithDimensions 指定來自資料產品語意模型的維度,以在應用程式中定義為主要維度。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
WithDimensions dimensionlist
WithMeasures 指令碼關鍵字用作 IncludeModel 陳述式內的元素。WithMeasures 指定來自資料產品語意模型的度量,以在應用程式中定義為主要度量。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
WithMeasures measurelist
WithTables 指令碼關鍵字用作 IncludeModel 陳述式內的元素。WithTables 指定要將資料產品中的哪些資料表整合至應用程式的資料模型中。
如需詳細資訊與完整的語法規格,請參閱 IncludeModel。
WithTables Table table_name1 Fields fieldlist Connection dataset_connection {, Table table_nameN Fields fieldlist Connection dataset_connection,... }