QlikView - 联接



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键调用脚本编辑器。选择表格文件选项并浏览输入文件。然后,我们编辑脚本中的命令以在表之间创建内连接。

load_script

内连接仅获取同时存在于两个表中的行。在本例中,获取产品列表和产品销售表中都可用的行。我们使用菜单布局→新建工作表对象→表格框创建一个表格框,在这里我们选择要显示的所有三个字段 - ProductID、ProductCategory 和 SaleAmount。

inner_join

左连接

左连接包括从左侧表中获取所有行以及从右侧表中获取匹配的行。

加载脚本

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。

left_join

右连接

右连接包括从右侧表中获取所有行以及从左侧表中获取匹配的行。

加载脚本

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。

right_join

外连接

外连接包括从右侧表以及左侧表中获取所有行。

加载脚本

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。

outer_join
广告