📅  最后修改于: 2020-11-29 07:35:02             🧑  作者: Mango
QlikView中的联接用于将两个数据集中的数据合并为一个。 QlikView中的联接与SQL中的联接含义相同。输出中仅显示与联接条件匹配的列和行值。如果您是新手,请先在这里了解他们。
让我们考虑以下两个CSV数据文件,它们用作进一步说明的输入。
Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts
ProductSales:
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
我们使用脚本编辑器加载以上输入数据,该脚本编辑器通过按Control + E来调用。选择选项“表文件”,然后浏览输入文件。然后,我们在脚本中编辑命令以在表之间创建内部联接。
内部联接仅获取两个表中都存在的那些行。在这种情况下,将提取“产品列表”和“产品销售”表中可用的行。我们使用“布局”→“新建图纸对象”→“表框”菜单创建一个表框,在其中选择要显示的所有三个字段-ProductID,ProductCategory和SaleAmount。
左联接涉及从左侧表中获取所有行,并从右侧表中获取匹配的行。
Sales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
LEFT JOIN(Sales)
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
我们使用菜单布局→新建图纸对象→表格框创建一个表格框,在其中选择要显示的所有三个字段-ProductID,ProductCategory和SaleAmount。
右连接涉及从右侧表中获取所有行,并从左侧表中获取匹配行。
Sales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
RIGHT JOIN(Sales)
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
我们使用菜单布局→新建图纸对象→表格框创建一个表格框,在其中选择要显示的所有三个字段-ProductID,ProductCategory和SaleAmount。
外部联接涉及从右侧的表以及左侧的表中获取所有行。
Sales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
OUTER JOIN(Sales)
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
我们使用“布局”→“新建图纸对象”→“表框”菜单创建一个表框,在其中选择要显示的所有三个字段-ProductID,ProductCategory和SaleAmount。