# 從先前載入的表格載入資料

從已載入表格中載入並轉換資料有兩種方法。

* Resident LOAD - 您可以在隨後的 LOAD 陳述式中使用 Resident 述詞，以載入新表格。
* 前置 LOAD - 您從前置 LOAD 或 SELECT 陳述式中載入而不指定來源。

## Resident 或前置 LOAD？

大多數情況下，使用任一方法都可以得到相同的結果。前置 LOAD 通常是更快的選擇，但在以下一些情況中，您需要使用 Resident LOAD：

* 如果您想要在處理 LOAD 陳述式之前，使用 Order\_by 子句來排序記錄。
* 如果您想要在不支援前置 LOAD 的情況下，使用下列任何前置詞：
  * Crosstable
  * Join
  * Intervalmatch

## Resident LOAD

您可以在 LOAD 陳述式中使用 Resident 述詞，從先前載入的表格中載入資料。當您想要對使用 SELECT 陳述式載入的資料執行計算，但是您無法使用 Qlik Sense 函數 (例如資料或數值處理) 時，這很有用。

範例：

在此範例中，在 Resident 載入中執行資料解譯，因為無法在起始 Crosstable LOAD 中完成它。

```
PreBudget:
Crosstable (Month, Amount, 1)
LOAD Account,
   Jan,
   Feb,
   Mar,
…
From Budget;

Budget:
Noconcatenate
LOAD 
   Account,
   Month(Date#(Month,'MMM')) as Month,
   Amount
Resident PreBudget;

Drop Table PreBudget;
```

提示備註使用 Resident 的常見案例是當您想要將暫時表格用於計算或篩選時。實現暫時表格的目的之後，應該使用 Drop table 陳述式將其捨棄。

## 前置 LOAD

前置 LOAD 特性可讓您一次性載入一個表格，但是仍定義數個後續轉換。基本上，它是 LOAD 陳述式，從下方的 LOAD 或 SELECT 陳述式載入，而不指定您通常執行的來源限定詞，例如 From 或 Resident。您可以使用此方法堆疊任何數目的 LOAD 陳述式。將首先評估位於下層的陳述式，然後是其上的陳述式，以此類推，直到評估完成上層陳述式為止。

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

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

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

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

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

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

範例 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() &lt;= ToDate - FromDate + 1 ;

### 前置載入的限制

* 下列前置詞不能與前置 LOAD：Join、Crosstable 和 Intervalmatch 搭配使用。
* 若您正在使用 distinct 載入獨特記錄，則需要將 distinct 置於第一個 LOAD 陳述式，如同 distinct 僅影響目的地表格。

## 瞭解更多資訊

* [Load](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Drop table](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/drop-table.htm)