- QlikView 数据加载
- QlikView - Excel 文件
- QlikView - 分隔文件
- QlikView - XML 文件
- QlikView - 网页文件
- QlikView - 数据库
- QlikView - 内联数据
- QlikView - 常驻负载
- QlikView - 先前加载
- QlikView - 增量负载
- QlikView - 数据 - 文件(QVD)
- QlikView 报告界面
- QlikView - 工作表和对象
- QlikView - 脚本
- Qlikview - 功能
- QlikView - 间隔匹配
- QlikView - 聚合函数
- QlikView - 匹配功能
- QlikView - 排名功能
- QlikView - 窥视功能
- QlikView - RangeSum 函数
- QlikView - 文档
- QlikView - 列表框
- QlikView - 多盒
- QlikView - 文本对象
- QlikView - 条形图
- QlikView - 饼图
- QlikView - 仪表板
- QlikView 数据转换
- QlikView - 转换向导
- QlikView - 填充功能
- QlikView - 列操作
- QlikView - 旋转表格
- QlikView 数据模型
- QlikView - 维度和度量
- QlikView - 星型架构
- QlikView - 合成密钥
- QlikView - 生成数据
- QlikView数据分析
- QlikView - 交叉表
- QlikView - 直表
- QlikView - 数据透视表
- QlikView - 集合分析
- QlikView - 加入
- QlikView - 保留
- QlikView - 串联
- QlikView - 主日历
- QlikView - 映射表
- QlikView - 循环参考
- Qlikview 有用资源
- Qlikview - 问题/解答
- Qlikview - 快速指南
- Qlikview - 有用的资源
- Qlikview - 讨论
QlikView - 保留
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
内堡
我们使用脚本编辑器加载上述输入数据,通过按Control+E调用该编辑器。选择“表文件”选项并浏览查找“输入文件”。然后我们编辑脚本中的命令以在桌子之间创建内部保留。
内部保留仅提取两个表中都存在的行。在这种情况下,将获取“产品列表”和“产品销售”表中可用的行。我们使用菜单Layout → New Sheet Objects → Table Box创建一个表格框。
首先,我们仅选择ProductSales表,它为我们提供了要显示的字段 - ProductID、ProductCategory 和 SaleAmount。
接下来,我们选择ProductList数据集,它为我们提供了 ProductID 和 ProductCategory 字段。
最后,我们选择“所有表”选项并从所有表中获取所有可用字段。
以下报告显示了上述步骤中的所有表格框。
左守卫
Left 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); left keep(productsales) productlists: LOAD ProductID, ProductCategory FROM [C:\Qlikview\data\Productsales.csv] (txt, codepage is 1252, embedded labels, delimiter is ',', msq);
左保留数据
当我们按照上面的方式更改脚本并使用Control+R刷新报表中的数据时,我们会在工作表对象中获得以下数据。
右守
右保留与左连接类似,它将右侧表中的所有行以及 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刷新报表中的数据时,我们会在工作表对象中获得以下数据。