Add
可将前缀 Add 添加至脚本中的任何 LOAD 或 SELECT 语句,以指定其应当将记录添加至另一个表。它还指定此语句应在部分重新加载中运行。Add 前缀还可用在 Map 语句中。
语法:
Add[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Add[only]mapstatement
在正常(非部分)重载期间,AddLOAD 构造将作为正常 LOAD 语句作用。记录将生成并存储在表中。
如果使用了 Concatenate 前缀,或者存在具有相同字段集的表,则记录将附加到相关的现有表中。否则,AddLOAD 构造将创建新表。
部分重载的作用相同。唯一的区别是 AddLOAD 构造永远不会创建新表。从上一个脚本执行中总是存在一个相关的表,记录应该附加到该表中。
无须检查副本。因此,使用 Add 前缀的语句通常包含 distinct 限定符或 where 子句来保护副本。
Add Map...Using 语句在部分脚本执行期间也会导致映射发生。
参数:
参数 | 说明 |
---|---|
only | 可选限定符表示应在正常(非部分)重新加载期间忽视语句。 |
示例和结果:
示例 | 结果 |
---|---|
Tab1: LOAD Name, Number FROM Persons.csv; Add LOAD Name, Number FROM newPersons.csv; |
常规重新加载期间,将会从 Persons.csv 加载数据,并存储到 QlikView 表格 Tab1 中。NewPersons.csv 中的数据随后会串联至相同的 QlikView 表格。 在部分重新加载期间,将会从 NewPersons.csv 加载数据,并存储到 QlikView 表格 Tab1 中。无须检查副本。 |
Tab1: SQL SELECT Name, Number FROM Persons.csv; Add LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
要检查副本,可查看以前加载的表格数据内是否存在 Name(参阅内部记录函数下的 exists)。 常规重新加载期间,将会从 Persons.csv 加载数据,并存储到 QlikView 表格 Tab1 中。NewPersons.csv 中的数据随后会串联至相同的 QlikView 表格。 在部分重新加载期间,将会从 NewPersons.csv 加载数据,并存储到 QlikView 表格 Tab1 中。要检查副本,可查看以前加载的表格内是否存在 Name。 |
Tab1: LOAD Name, Number FROM Persons.csv; Add Only LOAD Name, Number FROM NewPersons.csv (txt) where not exists(Name); |
常规重新加载期间,将会从 Persons.csv 加载数据,并存储到 QlikView 表格 Tab1 中。忽略加载 NewPersons.csv 的语句。 在部分重新加载期间,将会从 NewPersons.csv 加载数据,并存储到 QlikView 表格 Tab1 中。要检查副本,可查看以前加载的表格内是否存在 Name。 |