- QlikView 数据加载
- QlikView - Excel 文件
- QlikView - 分隔符文件
- QlikView - XML 文件
- QlikView - Web 文件
- QlikView - 数据库
- QlikView - 内联数据
- QlikView - Resident 加载
- QlikView - 前序加载
- QlikView - 增量加载
- QlikView - 数据 - 文件 (QVD)
- QlikView 报表界面
- QlikView - 工作表和对象
- QlikView - 脚本
- Qlikview - 函数
- QlikView - IntervalMatch
- QlikView - 聚合函数
- QlikView - Match 函数
- QlikView - Rank 函数
- QlikView - Peek 函数
- QlikView - RangeSum 函数
- QlikView - 文档
- QlikView - 列表框
- QlikView - 多选框
- QlikView - 文本对象
- QlikView - 条形图
- QlikView - 饼图
- QlikView - 仪表盘
- QlikView 数据转换
- QlikView - 转换向导
- QlikView - Fill 函数
- 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 命令用于组合来自两个数据集的数据,同时保持两个数据集都可在内存中使用。它与我们在上一章中介绍的连接非常相似,但有两个主要区别。第一个区别是:在 keep 的情况下,两个数据集都存在于 QlikView 的内存中,而在连接中,load 语句仅生成一个数据集,您必须从中选择列。第二个区别是:不存在外部 keep 的概念,而在连接的情况下,我们有外部连接可用。
输入数据
让我们考虑以下两个 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
内部保留
我们使用脚本编辑器加载上述输入数据,该编辑器通过按下 **Ctrl+E** 调用。选择 **表格文件** 选项并浏览输入文件。然后,我们编辑脚本中的命令以在表之间创建内部保留。
内部保留仅获取两个表中都存在的那些行。在本例中,获取 **产品列表和产品销售** 表中都可用的行。我们使用菜单 **布局 → 新工作表对象 → 表格框** 创建表格框。
首先,我们仅选择 **productSales** 表,这使我们能够显示字段 - ProductID、ProductCategory 和 SaleAmount。
接下来,我们选择 **ProductList** 数据集,这使我们能够显示字段 ProductID 和 ProductCategory。
最后,我们选择 **所有表格** 选项并获取所有表格中所有可用的字段。
以下报告显示了上述步骤中的所有表格框。
左保留
左保留类似于左连接,它保留左侧表中的所有行,以及 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);
左保留数据
当我们将脚本更改为上述内容并使用 **Ctrl+R** 刷新报表中的数据时,我们在工作表对象中获得以下数据。
右保留
右保留类似于右连接,它保留右侧表中的所有行,以及 QlikView 内存中可用的两个数据集。
右保留脚本
以下脚本用于使用左保留命令创建结果数据集。
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);
右保留数据
当我们将脚本更改为上述内容并使用 **Ctrl+R** 刷新报表中的数据时,我们在工作表对象中获得以下数据。