QlikView 文档手动转换为 Qlik Sense 应用程序

可以通过按照此处的说明将 QlikView 文档(QVW 文件)手动转换为 Qlik Sense 应用程序。如果您能够访问 Dev Hub,则可以使用 QlikViewQlik Sense 的转换器工具来简化转换过程。

Qlik Sense 开发人员站点上描述了 QlikViewQlik Sense 转换器。

先决条件

  • 需要安装 Qlik Sense Desktop 才能将 QlikView 文档转换到 Qlik Sense 应用程序中。
  • 当转换大的 QlikView 文档时,您的计算机必须拥有足够的内存,至少为 32GB。
  • 如果 QlikView 文档包含隐藏脚本或使用 section access,则需要拥有隐藏脚本的完整访问权和文档的 section access。

转换文档前

必须禁用 QlikView 列表框或多框的始终一个选定值属性才能清除 Qlik Sense 应用程序中的选择。如果 QlikView 文档包含隐藏脚本或使用 section access,转换文档前需要对文档进行调整。

用于转换隐藏脚本的标签

转换含隐藏脚本的 QlikView 文档时,隐藏脚本部分会被忽略,脚本内不包含 Qlik Sense 脚本。如果要转换整个脚本,则要在转换文档前执行以下操作。此操作要求您拥有 QlikView 文档中的隐藏脚本的访问权。

  1. QlikView 脚本编辑器中打开文档。
  2. 从隐藏脚本标签复制代码,并将代码粘贴到常规脚本标签中。
  3. 保存文档。
备注: 不能在 Qlik Sense 中隐藏脚本代码。

删除 section access 代码

不能将含 section access 的 QlikView 文档导入到 Qlik Sense 中,因为格式和支持的功能存在差异。您仍然可以手动转换文档。

  1. 转换文档前,在 QlikView 脚本编辑器中删除 section access 代码。此操作要求您拥有文档脚本的完整访问权。
  2. 将文档转换为应用程序。

    有关更多信息,请参阅将文档转换为应用程序

  3. Qlik Sense 应用程序中重新应用 section access。您可能需要考虑到以下这些差异:

    • 已更改用户身份验证。USERID 字段在此用于验证所有用户的身份信息,不再支持 NTNAMEPASSWORD 字段。
    • 如果您拥有脚本的访问权,但没有数据访问权,则可以打开没有数据的应用程序,然后编辑脚本,包括 section access。
    • 使用 Qlik Sense 中的严格排除应用 section access。这意味着您只能查看为您授予了特定访问权限的数据。

有关更多信息,请参阅使用区域权限管理安全性

将文档转换为应用程序

执行以下操作:

  1. QlikView 文档(qvw 格式)复制到应用程序所在的目录。

    目录通常为 <user>\Documents\Qlik\Sense\AppsApps 目录的位置取决于 Qlik Sense Desktop 的安装位置。

  2. 启动 Qlik Sense Desktop

    现在,可以将 QlikView 文档看作是应用中心的应用程序,文档名以 (qvw) 结尾。

  3. 单击该应用程序以将其打开。

应用程序以 Qlik Sense 格式(qvf 文件)保存在您存储 QlikView 文档(qvw 文件)的文件夹中。  而且, QlikView 文档文件 (qvw) 会从文件夹移除,然后自动转换为备份文件(qvw.backup),存储位置:<user>\Documents\Qlik\Sense\AppsBackup

您现在已经将 QlikView 文档迁移到 Qlik Sense 应用程序中。应用程序包含数据模型:加载的数据和数据加载脚本。

您可以使用数据模型来创建可视化,并通过 Qlik Management Console (QMC) 将其复制或导入到服务器环境中,但是需要调整加载脚本才能重新加载该数据模型。

有关更多信息,请参阅管理 Qlik Sense 站点:导入应用程序

提示: 您也可以从文件夹将 qvw 文件拖放到 Qlik Sense Desktop 应用中心,以 Qlik Sense 应用程序将其打开。如果 Qlik Sense 应用程序(qvf 文件)存储在其他文件夹而不是 <user>\Documents\Qlik\Sense\Apps,可将其移动到Apps文件夹,以使其在应用中心可用。

调整 Qlik Sense 中的数据加载脚本

一般情况下,Qlik SenseQlikView 数据加载脚本兼容,但是也存在一些可能需要考虑到的差异,而且要在数据加载编辑器中调整脚本才能重新加载数据。您可以在 Qlik Sense Desktop 中直接调整脚本,或者将应用程序导入到 Qlik Sense 中,然后调整脚本。

将文件路径参考更改为数据连接

QlikView 使用的绝对或相对文件路径在 Qlik Sense 标准模型中不支持,因此需要使用文件夹数据连接指向文件位置。

执行以下操作:

  1. 为数据加载脚本中使用的所有文件路径创建文件夹数据连接。

    有关更多信息,请参阅连接到数据源

    需要勾选引用文件的语句和函数。LOAD 语句是最常用的语句,不过这里有可用的完整列表。

    有关更多信息,请参阅文件系统访问限制

  2. 使用已创建的数据连接的 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 中不受支持的或不建议使用,例如:

  • 输入字段
  • 信息框
  • BundleInfo 加载
  • ALL 限定符

针对不支持的或不建议使用的上述语句或函数列表,我们建议您勾选脚本代码,并根据建议调整代码。

有关更多信息,请参阅Qlik Sense 不支持的 QlikView 函数和语句Qlik Sense 不推荐的函数和语句

安装自定义连接器

如果 QlikView 文档使用自定义连接器来访问数据,可以使用这些连接器在 Qlik Sense 中加载数据,并且不更改脚本。此操作要求在 Qlik Sense 计算机上安装相同的连接器。

如果要通过自定义连接器对数据选择做出任何更改,则需要安装为 Qlik Sense 调整的自定义连接器。