从之前加载的表格中加载数据
您可以在 LOAD 语句中使用 Resident 断言,以便从之前加载的表格加载数据。当您想要在使用 SELECT 语句(没有选项使用 QlikView 函数)加载的数据上执行计算时(例如日期或数值处理),这很有用。
示例:
在本例中,数据解释在 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 语句将其删除。
Resident 或前置 LOAD?
在大多数情况下,通过使用前置 LOAD 语句可以获得相同的结果,也就是从以下 LOAD 或 SELECT 语句加载的 LOAD 语句(无需指定您通常要指定的源限定符,如 From 或 Resident)。前置 LOAD 通常是更快的选项,但是在某些情况下,您需要改用 ResidentLOAD:
- 在处理 LOAD 语句之前,如果您要使用 Order_by 子句对记录进行排序。
- 如果您要使用以下任何前缀,在这种情况下,前面的 LOAD 不受支持:
- Crosstable
- Join
- Intervalmatch