前置 LOAD

前置 LOAD 特性可讓您一次性載入一個表格,但是仍定義數個後續轉換。基本上,這是從以下 LOADSELECT 陳述式載入的 LOAD 陳述式,且沒有指定來源限定詞,例如您通常會進行的 FromResident。您可以按此方式堆疊任何數量的 LOAD 陳述式。將首先評估位於底端的陳述式,然後是上述陳述式,以此類推,直到評估完成頂端陳述式為止。

您可以使用 Resident 實現相同的結果,但是在大部分情況下,前置 LOAD 速度將更快。

前置載入的另一個優勢是您可以在一個位置儲存計算,並在上方放置的 LOAD 陳述式中重複使用它。

備註: 下列前置詞不能與前置 LOADJoinCrosstableIntervalmatch 搭配使用。

Example 1: 轉換由 SELECT 陳述式載入的資料

如果您使用 SELECT 陳述式從資料庫載入資料,則不能使用 QlikView 函數,在 SELECT 陳述式中解譯資料。解決方案是在 SELECT 陳述式上方新增 LOAD 陳述式,您可以從中執行資料轉換。

在此範例中,我們使用 LOAD 陳述式中的 QlikView 函數 Date# 將儲存的日期解譯為字串,使用前一個 SELECT 陳述式作為來源。

LOAD Date#(OrderDate,’YYYYMMDD’) as OrderDate;
SQL SELECT OrderDate FROM … ;

Example 2: 透過重複使用計算來簡化指令碼

在此範例中,我們在指令碼中多次使用計算:

LOAD ..., Age( FromDate + IterNo() – 1, BirthDate ) as Age, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

透過在第一次通過時引進計算,我們可以在前置 LOAD 中的 Age 函數內重複使用它:

LOAD ..., ReferenceDate, Age( ReferenceDate, BirthDate ) as Age; LOAD *, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;