指令碼前置詞
前置詞可套用於適用的一般陳述式,但絕不可套用於控制陳述式。when 和 unless 前置詞可作為一些特定控制陳述式子句的後置詞。
所有的指令碼關鍵字皆可以小寫和大寫字元的任意組合輸入。但用於陳述式中的欄位和變數名稱則會區分大小寫。
使用每個函數中的下拉式功能表,以查看每個函數的簡要描述及語法。按一下語法描述中的函數名稱,以取得進一步詳細資料。
透過 buffer 前置詞可以自動建立和維護 QVD 檔案。這個前置詞可以用於指令碼的大多數 LOAD 和 SELECT 陳述式。其表示 QVD 檔案會用於快取/緩衝陳述式的結果。
Buffer[(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
如果將串連的兩個表格有不同的欄位集合,仍然使用 Concatenate 前置詞強制串連兩個表格。
concatenate[ (tablename ) ] ( loadstatement | selectstatement )
crosstable 載入前置詞用來轉置「跨維度資料表」或「樞紐分析表」結構資料。使用試算表來源時通常會遇到以此方式結構化的資料。crosstable 載入前置詞的輸出和目標是將這類結構轉置為一般欄導向的表格對等項目,因為此結構通常更適合 Qlik Sense 中的分析。
crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )
LOAD 或 SELECT (SQL) 陳述式的 First 前置詞可用來載入資料來源表格的一組最多筆數的記錄。
First n( loadstatement | selectstatement )
Generic 載入前置詞允許將實體–屬性–值模型化資料 (EAV) 轉換為傳統的標準化關係表格結構。EAV 模型化也稱為「一般資料模型化」或「開啟結構描述」。
Generic ( loadstatement | selectstatement )
hierarchy 前置詞用來將上下層式階層表格轉換為可以在 Qlik Sense 資料模型中使用的表格。它可以放在 LOAD 或 SELECT 陳述式的前面,而且將使用載入陳述式的結果做為表格轉換的輸入。
Hierarchy (NodeID, ParentID, NodeName, [ParentName], [PathSource], [PathName], [PathDelimiter], [Depth])(loadstatement | selectstatement)
此前置詞用來將上下層式階層表格轉換為可以在 Qlik Sense 資料模型中使用的表格。它可以放在 LOAD 或 SELECT 陳述式的前面,而且將使用載入陳述式的結果做為表格轉換的輸入。
HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)
join 及 keep 前置詞前面可以加上 inner 前置詞。
如果加在 join 之前,會指定應該使用 inner join。產生的表格會因此只包含原始資料表中的欄位值組合,其中兩個表格會呈現連結欄位值。如果加在 keep 之前,會指定兩個原始資料表應先減少到其共同交集之後,然後才儲存到 Qlik Sense 中。
.Inner ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
延伸的 IntervalMatch 前置詞可用來建立一個表格,比對離散數值與一個或多個數值間隔,並選擇性地比對一或數個其他索引鍵的值。
IntervalMatch (matchfield)(loadstatement | selectstatement )
IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )
join 前置詞能夠將載入的表格與現有的具名表格或先前最後建立的資料表聯結。
[Inner | Outer | Left | Right ] Join [ (tablename ) ]( loadstatement | selectstatement )
keep 前置詞類似於 join 前置詞。與 join 前置詞一樣,它會比較已載入的表格與現有具名表格或最後一個先前建立的資料表格,而不會聯結已載入的表格與現有表格,它會在將一個或兩個表格儲存在 Qlik Sense 中之前,根據表格資料的交集進行減少。進行比較相當於在所有通用欄位上進行自然聯結,也就是如同對應聯結中的方法。不過,兩個表格並未聯結,而是以兩個個別的具名表格保留在 Qlik Sense 中。
(Inner | Left | Right) Keep [(tablename ) ]( loadstatement | selectstatement )
Join 及 Keep 前置詞前面可以加上 left 前置詞。
如果加在 join 之前,會指定應該使用 left join。產生的表格只會包含原始資料表中的欄位值組合,其中第一個表格會呈現連結欄位值。如果加在 keep 之前,會指定第二個原始資料表應先減少到與第一個表格的共同交集之後,然後才儲存到 Qlik Sense 中。
Left ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
mapping 前置詞可用來建立對應表,例如,對應表可用於在指令碼執行期間取代欄位值和欄位名稱。
Mapping ( loadstatement | selectstatement )
Merge 前置詞可新增至指令碼中的任何 LOAD 或 SELECT 陳述式,以指定載入的表格應合併至另一個表格中。這也能指定應在部分載入中執行此陳述式。
Merge [only] [(SequenceNoField [, SequenceNoVar])] On ListOfKeys [Concatenate [(TableName)]] (loadstatement | selectstatement)
NoConcatenate 前置詞會強制將具有相同欄位集的兩個載入表格在自動串連時視為兩個個別的內部表格。
NoConcatenate( loadstatement | selectstatement )
明確的 Join 前置詞可接在前置詞 Outer 之後,以指定外部聯結。在外部聯結中,會在兩個表格間產生所有組合。產生的表格會因此包含原始資料表格中的欄位值組合,其中一或兩個表格會呈現連結欄位值。Outer 關鍵字是選用項目,是未指定聯結前置詞時使用的預設連結。
Outer Join [ (tablename) ](loadstatement |selectstatement )
完整載入永遠從刪除現有資料模型中的所有表格開始,然後執行載入指令碼。
部分載入 將不會這麼做。反而這會保留資料模型中的所有表格,然後僅執行前面有 Add、Merge 或 Replace 前置詞的 Load 和 Select 陳述式。其他資料表格不會受到命令影響。only 引數表示只應在部分載入期間執行陳述式,且應在完整載入期間忽略。下列表格概述部分和完整載入的陳述式執行。
Join 及 Keep 前置詞前面可以加上 right 前置詞。
如果加在 join 之前,會指定應該使用 right join。產生的表格只會包含原始資料表格中的欄位值組合,其中第二個表格會呈現連結欄位值。如果加在 keep 之前,會指定第一個原始資料表應先減少到與第二個表格的共同交集之後,然後才儲存到 Qlik Sense 中。
Right (Join | Keep) [(tablename)](loadstatement |selectstatement )
LOAD 或 SELECT 陳述式的 sample 前置詞可用來載入資料來源的隨機記錄樣本。
Sample p ( loadstatement | selectstatement )
透過 semantic 前置詞,即可載入包含記錄之間關係的表格。例如,這可以在表格內自我參考,其中一筆記錄指向另一個,例如上層、屬於或前任。
Semantic ( loadstatement | selectstatement)
unless 前置詞及後置詞用來建立條件式子句,其可決定是否應該評估陳述式或結束子句。它可視為完整 if..end if 陳述式的精簡替代選項。
(Unless condition statement | exitstatement Unless condition )
when 前置詞及後置詞用來建立條件式子句,其可決定是否應該執行陳述式或結束子句。它可視為完整 if..end if 陳述式的精簡替代選項。
( When condition statement | exitstatement when condition )