QlikWorld 2020 Global Conference. Join us to discover how to get the most from your data. Act fast. Register now and save.

前置 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 ;