Keep

keep前缀类似于join 前缀。与 join前缀一样,该前缀可用来将加载的表格与现有的命名表格或最后一个之前创建的数据表格进行比较,而不是将加载的表格与现有的表格进行合并,它可以在将表格存储在QlikView 中之前,根据表格数据的交集减少一个或同时减少两个表格。这种比较相当于对所有共同字段进行自然联接,即等同于相应联接的方式。但是,这两个表格并未合并,而将作为两个单独命名的表格保留在 QlikView中。

语法:  

(inner | left | right) keep [(tablename ) ]( loadstatement | selectstatement )

 

keep前缀必须置于 innerleftright 前缀之一的前面。

QlikView脚本语言中的显式join 前缀可完全联接这两个表格。结果会生成一个表格。在许多情况下,这种联接将产生很大的表格。QlikView的主要功能之一是使多个表格之间关联,而不是联接这些表格,这种关联可以大大减少占用的内存,提高处理速度并且灵活多变。因此,在QlikView脚本中一般应避免使用显式联接。保存功能旨在减少需要使用显式联接的情况。

参数:  

参数 说明
tablename 可以将命名的表格与加载的表格进行比较。
loadstatementselectstatement LOADSELECT 语句适用于加载的表格。

示例:  

Inner Keep LOAD * from abc.csv;

Left Keep SELECT * from table1;

tab1:

LOAD * from file1.csv;

tab2:

LOAD * from file2.csv;

.. .. ..

Left Keep (tab1) LOAD * from file3.csv;