QlikView – 联接
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调用。选择选项表文件并浏览输入文件。然后我们编辑脚本中的命令以在表之间创建内部联接。
内连接仅获取两个表中都存在的那些行。在这种情况下,将获取Product List 和 Product Sales表中可用的行。我们使用菜单Layout → New Sheet Objects → Table Box创建一个Table Box,我们在其中选择要显示的所有三个字段 – 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);
我们使用菜单Layout → New Sheet Objects → Table Box创建一个表格框,我们在其中选择要显示的所有三个字段 – 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);
我们使用菜单Layout → New Sheet Objects → Table Box创建一个表格框,我们在其中选择要显示的所有三个字段 – 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);
我们使用菜单Layout → New Sheet Objects → Table Box创建一个Table Box,我们在其中选择要显示的所有三个字段 – ProductID、ProductCategory 和 SaleAmount。