将 QlikView 文档手动转换为 Qlik Sense 应用程序
您可手动将 QlikView 文档(QVW 文件)转换成 Qlik Sense 应用程序。如果您能够访问 开发中心,则可以使用 QlikView 到 Qlik Sense 的转换器工具来简化转换过程。
Qlik Sense 开发人员站点上描述了 QlikView 到 Qlik Sense 转换器。
有关更多信息,请参阅QlikView 转换器 (仅提供英文版本)。
先决条件
- 需要安装 Qlik Sense Desktop 才能将 QlikView 文档转换到 Qlik Sense 应用程序中。
- 当转换大的 QlikView 文档时,您的计算机必须拥有足够的内存,至少为 32GB。
- 如果 QlikView 文档包含隐藏脚本或使用 section access,则需要拥有隐藏脚本的完整访问权和文档的 section access。
转换文档前
必须禁用 QlikView 列表框或多框的始终一个选定值属性才能清除 Qlik Sense 应用程序中的选择。如果 QlikView 文档包含隐藏脚本或使用 section access,转换文档前需要对文档进行调整。
用于转换隐藏脚本的标签
转换含隐藏脚本的 QlikView 文档时,隐藏脚本部分会被忽略,脚本内不包含 Qlik Sense 脚本。如果要转换整个脚本,则要在转换文档前执行以下操作。此操作要求您拥有 QlikView 文档中的隐藏脚本的访问权。
执行以下操作:
- 在 QlikView 脚本编辑器中打开文档。
- 从隐藏脚本标签复制代码,并将代码粘贴到常规脚本标签中。
- 保存文档。
删除 section access 代码
不能将含 section access 的 QlikView 文档导入到 Qlik Sense 中,因为格式和支持的功能存在差异。您仍然可以手动转换文档。
执行以下操作:
- 转换文档前,在 QlikView 脚本编辑器中删除 section access 代码。此操作要求您拥有文档脚本的完整访问权。
-
将文档转换为应用程序。
有关更多信息,请参阅将文档转换为应用程序。
-
在 Qlik Sense 应用程序中重新应用 section access。您可能需要考虑到以下这些差异:
- 已更改用户身份验证。USERID 字段在此用于验证所有用户的身份信息,不再支持 NTNAME 和 PASSWORD 字段。
- 如果您拥有脚本的访问权,但没有数据访问权,则可以打开没有数据的应用程序,然后编辑脚本,包括 section access。
- 使用 Qlik Sense 中的严格排除应用 section access。这意味着您只能查看为您授予了特定访问权限的数据。
有关更多信息,请参阅用 Section Access 管理数据安全。
从导出中排除了 QlikView 个变量
没有从 QlikView 文档 (QVW) 导出许多变量,因为它们仅对 QlikView 相关,或者在 Qlik Sense 中以不同方式处理。
没有从 QlikView 文档导出以下变量:
- 所有以 CD 开头的变量
- 所有以 FLOPPY 开头的变量
- QVPath
- QVRoot
- QVWorkPath
- QVWorkRoot
- WinPath
- WinRoot
- ErrorMode
- StripComments
- ScriptErrorCount
- ScriptError
- ThousandSep
- DecimalSep
- MoneyThousandSep
- MoneyDecimalSep
- MoneyFormat
- TimeFormat
- DateFormat
- TimestampFormat
- MonthNames
- DayNames
- ScriptErrorDetails
- ScriptErrorList
- OpenUrlTimeout
- HidePrefix
- FirstWeekDay
- broken_weeks
- reference_day
- FirstMonthOfYear
- CollationLocale
- LongMonthNames
- LongDayNames
将文档转换为应用程序
执行以下操作:
-
将 QlikView 文档(qvw 格式)复制到应用程序所在的目录。
目录通常为 <user>\Documents\Qlik\Sense\Apps,Apps 目录的位置取决于 Qlik Sense Desktop 的安装位置。
-
启动 Qlik Sense Desktop。
现在,可以将 QlikView 文档看作是应用中心的应用程序,文档名以 (qvw) 结尾。
- 单击该应用程序以将其打开。
应用程序以 Qlik Sense 格式(qvf 文件)保存在您存储 QlikView 文档(qvw 文件)的文件夹中。 而且,QlikView 文档文件 (qvw) 会从文件夹移除,然后自动转换为备份文件 (qvw.backup),存储位置:<user>\Documents\Qlik\Sense\AppsBackup。
您现在已经将 QlikView 文档迁移到 Qlik Sense 应用程序中。应用程序包含数据模型:加载的数据和数据加载脚本。
您可以使用数据模型来创建可视化,并通过 Qlik Management Console (QMC) 将其复制或导入到服务器环境中,但是需要调整加载脚本才能重新加载该数据模型。
有关更多信息,请参阅管理 Qlik Sense 站点:导入应用程序。
调整 Qlik Sense 中的数据加载脚本
一般情况下,Qlik Sense 与 QlikView 数据加载脚本兼容,但是也存在一些可能需要考虑到的差异,而且要在数据加载编辑器中调整脚本才能重新加载数据。您可以在 Qlik Sense Desktop 中直接调整脚本,或者将应用程序导入到 Qlik Sense 中,然后调整脚本。
将文件路径参考更改为数据连接
QlikView 使用的绝对或相对文件路径在 Qlik Sense 标准模型中不支持,因此需要使用文件夹数据连接指向文件位置。
执行以下操作:
-
为数据加载脚本中使用的所有文件路径创建文件夹数据连接。
有关更多信息,请参阅连接到数据源。
需要勾选引用文件的语句和函数。LOAD 语句是最常用的语句,不过这里有可用的完整列表。
有关更多信息,请参阅文件系统访问限制。
-
使用已创建的数据连接的 lib:// 参考,在脚本中将所有参考替换成绝对或相对文件路径。
示例 QlikView 中的原始脚本 已调整的 Qlik Sense 脚本 LOAD * FROM [C:\data\Tutorials source\Sales rep.csv];LOAD * FROM [lib://Tutorials source/Sales rep.csv];如果您已将应用程序移动至另一个计算机或 Qlik Sense 服务器,在这种情况下,应将 Tutorials source(教程源)文件夹数据连接指向 C:\data\Tutorials source\ 或者数据所在位置。
FileSize('C:\data\Tutorials source\Sales rep.csv')FileSize('lib://Tutorials source/Sales rep.csv')for each Dir in dirlist ('C:\data\Tutorials source\*' )for each Dir in dirlist ('lib://Tutorials source/*' )有关更多信息,请参阅For each..next。
不支持或不建议使用的处理功能
QlikView 中的有些功能在 Qlik Sense 中不受支持的或不建议使用,例如:
- 输入字段
- 信息框
- Bundle 和 Info 加载
- ALL 限定符
针对不支持的或不建议使用的上述语句或函数列表,我们建议您勾选脚本代码,并根据建议调整代码。
有关更多信息,请参阅Qlik Sense 不支持的 QlikView 函数和语句和 不推荐的函数和语句Qlik Sense。
安装自定义连接器
如果 QlikView 文档使用自定义连接器来访问数据,可以使用这些连接器在 Qlik Sense 中加载数据,并且不更改脚本。此操作要求在 Qlik Sense 计算机上安装相同的连接器。
如果要通过自定义连接器对数据选择做出任何更改,则需要安装为 Qlik Sense 调整的自定义连接器。
有关更多信息,请参阅下载和安装自定义连接器 (仅提供英文版本)。