QlikView - Keeps

QlikView中的keep命令用于组合来自两个数据集的数据,保持数据集在内存中可用.除了两个主要的区别外,它与前一章中介绍的连接非常相似.第一个区别是 : 如果保持;两个数据集在QlikView的内存中都可用,而在加入时,加载语句只生成一个数据集,您必须从中选择列.第二个区别是 : 没有外部保持的概念,因为我们在连接时可以使用外连接.

输入数据

让我们考虑以下两个CSV数据文件,用作进一步插图的输入.

Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts

Product Sales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514


内部保留

我们使用脚本编辑器加载上述输入数据,脚本编辑器通过按下来调用控制+ E 的.选择表文件选项并浏览输入文件.然后我们编辑脚本中的命令以在表之间创建内部保持.

keep_script

内部保持仅提取两个表中存在的行.在这种情况下,将获取产品列表和产品销售表中可用的行.我们使用菜单 Layout&rarr创建一个表格框; New Sheet Objects → 表格框.

首先,我们只选择 productSales 表,它为我们提供了要显示的字段 -  ProductID,ProductCategory和SaleAmount./p> keep_product_sales

接下来,我们选择 ProductList 数据集,它为我们提供了ProductID和ProductCategory字段.

keep_product_list

最后,我们选择所有表选项,并从所有表中获取所有可用字段.

keep_both_tables

以下报告显示了上述步骤中的所有表格框.

keep_chart_innerkeep

Left Keep

左保持类似于左连接,它保留表中的所有行左边的阿隆g,两个数据集都在QlikView的内存中可用.

左保留脚本

以下脚本用于创建左边的结果数据集保持命令.

productsales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

left keep(productsales)
productlists:
LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);


左保留数据

当我们更改上述脚本并使用刷新报告中的数据时Control + R ,我们在工作表对象中获得以下数据.

keep_chart_leftkeep

Right Keep

Right keep类似于left join,它保留右边表中的所有行以及QlikView内存中可用的数据集.

正确保留脚本

以下脚本用于使用left keep命令创建结果数据集.

productsales:
LOAD ProductID, 
     ProductCategory, 
     SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

right keep(productsales)
productlists:
LOAD ProductID, 
     ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);


正确保留数据

当我们更改上述脚本并使用刷新报告中的数据时Control + R ,我们在工作表对象中获得以下数据.

keep_chart_rightkeep