常见问题

安装

问:安装 QlikView 有何要求?

QlikView 的系统要求

QlikView 文档

问:需要多少 RAM?是否有一种简单的方法可以将 RAM 要求和数据量关联起来?

答:否,这取决于数据结构和数据类型。就字段数量而言,数据行数越多,每条记录越宽,所需的 RAM 越多。如果字段包含许多不同的特殊值,则需要的 RAM 远多于特殊值数量较少的情况。某些图表在计算时可能需要占用大部分的 RAM。

 

问:QlikView 文档大小的理论限值为何?

答:不可能将此限值转换为特定数量的记录(参阅上述问题)。QlikView 在脚本执行期间占用的内存量通常是其在布局内运行所需的内存量的 3-4 倍。

 

问:我的电脑配置是 2 GB RAM,但 1 GB 的文档在打开时却显示“内存不足”的操作信息。哪里出错了?

答:QlikView 文档中的每个表格均需要配置连续的内存区块。如果内存零碎(例如加载 dll’s 造成内存零碎),则内存配置会失效,同时显示错误信息。此行为可能因电脑而存在差异。

 

问:真实用户实际可以在 QlikView 中运行多大的文件?

答:当 QlikView 在拥有 512MB RAM 的电脑上运行时,可以处理数百万行典型交易数据。至于安装了 QlikView 且拥有数 GB RAM 的大型服务器,客户应用程序在写入时可以处理多达十亿行典型交易数据(未聚合的完整交易详情级别)(这是 2008 年 5 月发布的信息,已过去 7 年之久)。

 

脚本和加载数据

问:QlikView 脚本中是否可以使用多个二进制语句?

答:否。二进制加载使用极其特殊的逻辑语句,读取已经处理的数据并存入其他 QlikView 文档中的 QlikView。使用的“正在解包”要求内存为“清空”,这是二进制语句必须是脚本第一语句的原因所在。因此在脚本中使用二进制的次数不可能超过一次。但是,您可以使用 QVD 文件合并多个 QlikView 文档的数据,合并速度与二进制相同。

 

问:自动联接的唯一要求是字段名必须相同?

答:是!如此联接被称为关联。

 

问:是否可在字段名不同的两个字段之间实现自动联接?

答:是,但是您必须在使用 ALIAS 语句或 AS 子句的脚本中重命名其中一个字段。

重命名字段

 

问:我是否可以在文本文件上使用 Where 子句,Group by 子句和其他 SQL 类语法?

答:QlikView 提供丰富的脚本语言供文本文件使用,包括大部分 SQL 语法和众多附加功能。

 

问:我是否可以在二进制 QlikView 文件上使用 Where 子句,Group by 子句和其他 SQL 类语法?

答:否。

 

问:内部表格之间的关联,join 限定符之后的 load 或 select 语句以及 select 语句内部联接之间的差异是什么?

答:关联是指内部表格之间的联接,内部表格在当单击文档中的字段值时即会被评估。当两个不同表格拥有相同字段时,QlikView 会自动进行关联。随后在脚本执行期间会完成两次联接,生成新的逻辑表格。在这些情况下,QlikView 不会加载原始表格为逻辑表格。

此外,select 语句中的联接通常仅会加载那些在两个表格中均可找到关键字段值的记录(内部联接),但是前两个联接也包括那些仅可在一个表格中找到关键字段值的记录(完全 outer join)。

 

问:如何加载固定记录文本文件中的数据?

答:使用 QlikView 中的表格文件向导。

文件向导:类型文件向导:类型 - 固定记录

 

问:是否可以通过仅加载已更改数据来更新 QlikView 文档?

答:是,使用增量重新加载。

QVD 文件

 

问:是否可以将网页的表格读入 QlikView?

答:是,表格文件向导可以在其编码为 HTML 表格时提取表格。如果 HTML 页面未包含彻底格式化的表格标签,它通常仍可以使用子字段和脚本功能之间的文本提取数据。

文件向导:类型 - HTML

QlikView 逻辑

问:为什么不可能在某些列表框中显示频率?

答:发生问题的列表框包含多个内部表格共有的字段。因此,QlikView 将不可能计算出字段的频率和其他统计量。再次加载主表格(您想要显示频率的表格)的字段也可以解决该问题,但必须采用新名称,并在列表框中显示该字段的频率。一旦使用标签功能,最终用户无需使用此项技巧。

 

问:统计框为什么仅显示大量 n/a?

答:统计框包含多个内部表格共有的字段。参阅前一问题的答案。

 

问:QlikView 为什么不允许我在表达式或图表中使用某一字段?

答:该字段是多个内部表格共有的字段。参阅前两个问题的答案。

 

问:如何在统计框中显示特殊值的数量?

答:在 load / select 语句中使用特殊子句。

 

问:何时启用列表框属性对话框中的“与”模式选项?

答:“与”模式选项仅可在符合 QlikView 逻辑理论规定的极其严格的条件下选择。要启用“与”模式,字段必须:

- 仅存在于一个内部表格中,

- 是该表格仅含的两个字段中的第二个字段,

- 不包含任何重复记录。

- 必须位于特殊限定符之后。

 

问:是否可以在列表框中混合数值选择的“与”和“或”逻辑?

答:否,QlikView 逻辑禁用此项功能。

 

问:列表框之间是否可以拥有“或”逻辑?

答:仅可间接拥有。高级替代方法是使用语义链接将列表框中选定的选择项迁移至其他字段。然后更改原始框中的选择项,按住 Ctrl 键并单击语义链接,以在两个选择项之间实现逻辑或。最终结构可以逆转语义链接方式迁移。

 

问:是否可以链接多个信息文件与数值,如图片和文本文件?

答:是,但仅当使用字段复制时。QlikView 的每个字段仅可链接一个信息文件。

 

问:QlikView 为什么有时将 '002','02' 和 '2' 解释为相同值?

答:所有数值在 QlikView 中共享相同的数值。作为一项规则,QlikView 会尝试对任何数据进行数字解释。如果数字解释可行,它会用于关联。如果在脚本字段上使用解释函数 text(),数值会被严格视为文本值。所举示例中的数值会被解释为三个不同的值。

 

问:循环表格结构是怎样的?

答:一旦可沿着无止境的环形在整个表格结构内遵循字段关联,此即可被称为循环。或可将该现象描述为通过两个特定字段之间表格结构的路线不少于两条。应当尽可能地避免循环,因为它们可能会导致模糊解释数据。在许多情况下,循环是不良数据库设计的结果,但在某些情况下,循环可能无法避免。如果在执行脚本时发现循环,QlikView 会发出警告,并强制使用松散耦合表格来帮助解决问题。

了解循环引用

“布局”

问:无标题的工作表对象为什么不能在其上端调整大小?

答:一旦关闭工作表对象的标题,则上边框仅可用于在附近移动工作表对象,此时应使用工作表对象的上角调整大小。

 

问:为什么当我尝试拖动边框时,我无法延展表格?

答:表格的右边框拥有两个图柄。如果拖动表格边框,您会调整表格内显示目标的外部界限大小。但是,您绝对不可以令外框大于表格内所有列的宽度总和。只需将光标放置在外框的左边,即可调整最右列的大小。确保外框未落入列的中间。如果发生这种情况,使用滚动条定位列的右边框至外框。使用设计网格查看工作表对象的实际外框。

 

问:是否可以更改 QlikView 文档中工作表对象的字段名称?

答:是,您可以设置每个工作表对象的每个字段的标签。

 

问:哪些工作表对象可以最小化?

答:所有类型的工作表对象均可以最小化,但是工作表对象的此选项默认设置为关闭,例如按钮,文本对象和线条/箭头对象。

 

问:是否可以移动工作表上的最小化对象?

答:是,它们可以自由移动和放置到工作表的任何地方,也可以在特定限值之内调整大小。

与他人共享 QlikView 文档

问:是否可以将自己的 QlikView 文档放置到服务器上,与他人共享?

答:是,只要接收者拥有注册的 QlikView 许可证以及服务器目录的访问权限。

 

问:是否可以在真实客户端/服务器模式中使用 QlikView?

答:是,您需要 QlikView Server。

 

问:是否可以将自己文档的链接放到网页上,允许其他人通过网络访问?

答:是,只要接收者拥有注册的 QlikView 许可证以及网页的访问权限。

 

问:是否可以使用电子邮件将自己的文档发送给其他人?

答:是,只要接收者拥有注册的 QlikView 许可证。

 

问:是否可以防止某些人使用我的文档?

答:是,使用“区域权限”定义可能使用文档的用户。

Section访问限制表格向导

 

问:是否可以防止其他人查看/更改脚本?

答:是,“区域权限”可以为一些人提供管理员访问权限,并保持其他人在用户访问权限级别无法访问脚本。

安全性

 

问:我应该将访问权限信息存储在何处?

答:访问权限信息可以作为文本文件存储于受保护单元,或者作为表格存储于数据库。访问权限信息还可以作为内联语句存储于脚本。

内嵌数据向导

 

问:是否存在一种可自动为庞大用户组创建个性化副本的方法?

答:是,您需要作为 QlikView Server 附加模块的 QlikView Publisher。