# 从之前加载的表格中加载数据

可以通过两种方法从已经加载的表格中加载和转换数据。

* 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 的另一个好处是可将计算保存在一个地方，并在上面部署的 LOAD 语句中进行重复使用。

示例 1: 可通过 SELECT 语句加载转换数据。

如果使用 SELECT 语句从数据库加载数据，则不能使用 Qlik Sense 函数解释 SELECT 语句中的数据。解决方法是添加 LOAD 语句，这样就可以针对上面的 SELECT 语句执行数据转换。

在本例中，我们在 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 的限制

* 以下前缀不能与前置 LOAD 结合使用：Join、Crosstable 和 Intervalmatch。
* 如果您使用 distinct 加载唯一记录，需要将 distinct 置于第一加载语句，因为 distinct 仅影响目标表格。

## 了解详情

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