文件系统访问限制
出于安全原因,标准模式下的 Qlik Sense 不支持数据加载脚本中的路径,或者展示文件系统的函数和变量。
但是,由于 QlikView 支持文件系统路径,因此可以禁用标准模式,使用旧模式,以便重复使用 QlikView 加载脚本。
当连接到基于文件的 ODBC 和 OLE DB 数据连接时的安全性
使用基于文件的驱动程序的 ODBC 和 OLE DB 数据连接会在连接字符串中暴露指向已连接数据文件的路径。当在数据选择对话框或某些 SQL 查询中编辑连接时,可能会暴露路径。在标准模式和旧模式中都可能会发生这种情况。
标准模式中的限制
在标准模式下,不能使用几种语句、变量和函数,或者有限制。如果在数据加载脚本中使用不支持的语句,则会在加载脚本运行时产生错误。错误信息可在脚本日志文件中找到。如果使用不支持的变量和函数,不会生成错误信息或日志文件条目。相反,函数会返回 NULL 值。
在编辑数据加载脚本时,没有任何指示表明不支持变量、语句或函数。
系统变量
变量 | 标准模式 | 旧模式 | 定义 |
---|---|---|---|
Floppy |
不支持 |
支持 | 用于返回找到的第一个软盘驱动器的驱动器号,通常是 a:。 |
CD |
不支持 |
支持 | 用于返回找到的第一个 CD-ROM 驱动器的驱动器号。如果未找到任何 CD-ROM,随后会返回 c:。 |
QvPath |
不支持 |
支持 | 用于返回浏览字符串到可执行的 Qlik Sense 文件。 |
QvRoot |
不支持 |
支持 | 用于返回可执行的 Qlik Sense 的根目录。 |
QvWorkPath |
不支持 |
支持 | 用于返回浏览字符串到当前 Qlik Sense 应用程序。 |
QvWorkRoot |
不支持 |
支持 | 用于返回当前 Qlik Sense 应用程序的根目录。 |
WinPath |
不支持 |
支持 | 用于返回浏览字符串到 Windows。 |
WinRoot |
不支持 |
支持 | 返回 Windows 的根目录。 |
$(include=...) | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | Include/Must_Include 变量用于指定包含应包括在脚本中并作为脚本代码计算值的文本的文件。它不用于添加数据。您可以将部分脚本代码存储在单独的文本文件中,并可以在多个应用程序中重复使用它。 这是用户定义的变量。 |
常规脚本语句
语句 | 标准模式 | 旧模式 | 定义 |
---|---|---|---|
Binary | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | binary 语句用于加载另一个应用程序中的数据。 |
Connect | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | CONNECT 语句用于定义 Qlik Sense 通过 OLE DB/ODBC 接口访问通用数据库。对于 ODBC,首先需要用 ODBC 管理员指定数据源。 |
Directory | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | Directory 语句用于定义在后续 LOAD 语句中查找数据文件的目录,直到出现新的 Directory 语句。 |
Execute | 不支持 | 支持的输入:使用库连接或文件系统的路径 | Execute 语句用于在 Qlik Sense 加载数据的同时运行其他程序。例如,需要执行转换。 |
LOAD from ... | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | LOAD 语句可以加载以下来源的字段:文件、脚本中定义的数据、预先载入的输入表格、网页、后续 SELECT 语句产生的结果或自动生成的数据。 |
Store into ... | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | Store 语句创建 QVD 或 text 文件。 |
脚本控制语句
语句 | 标准模式 | 旧模式 | 定义 |
---|---|---|---|
For each... filelist mask/dirlist mask |
支持的输入:使用库连接的路径 返回的输出:库连接 |
支持的输入:使用库连接或文件系统的路径 返回的输出:库连接或文件系统路径,具体取决于输入 |
filelist mask 语法会在匹配 filelist mask 的当前目录中生成逗号分隔的全部文件列表。dirlist mask 语法会在匹配目录名称掩码的当前目录中生成逗号分隔的全部目录列表。 |
文件函数
函数 | 标准模式 | 旧模式 | 定义 |
---|---|---|---|
Attribute() | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | 以文本形式返回不同媒体文件的元标签的值。 |
ConnectString() | 返回的输出:库连接名称 | 库连接名称或实际连接,具体取决于输入 | 为 ODBC 或 OLE DB 连接返回激活连接字符串。 |
FileDir() |
返回的输出:库连接 |
返回的输出:库连接或文件系统路径,具体取决于输入 | FileDir 函数用于返回一个包含至当前阅读表格文件目录的路径。 |
FilePath() |
返回的输出:库连接 |
返回的输出:库连接或文件系统路径,具体取决于输入 | FilePath 函数用于返回一个包含至当前阅读表格文件的完整路径的字符串。 |
FileSize() |
支持的输入:使用库连接的路径 |
支持的输入:使用库连接或文件系统的路径 | FileSize 函数用于返回一个包含文件 filename 字节大小的整数,或如果未指定 filename,则返回一个包含当前阅读的表格文件字节大小的整数。 |
FileTime() |
支持的输入:使用库连接的路径 |
支持的输入:使用库连接或文件系统的路径 | FileTime 函数用于返回文件 filename 的上一次修改日期和时间的时间戳(UTC 时间)。如果未指定 filename,则此函数将参考当前阅读的表格文件。 |
GetFolderPath() |
不支持 |
返回的输出:绝对路径 |
GetFolderPath 函数用于返回 Microsoft Windows SHGetFolderPath 函数的值。此函数用于输入 Microsoft Windows 文件夹的名称,并返回该文件夹的完整路径。 |
QvdCreateTime() | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | 此脚本函数用于返回 QVD 文件的 XML-标题时间戳(如果有),否则返回 NULL 值。在时间戳中,时间以 UTC 表示。 |
QvdFieldName() | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | 此脚本函数返回 QVD 文件中的字段编号 fieldno。如果字段不存在,则返回 NULL。 |
QvdNoOfFields() | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | 此脚本函数用于返回 QVD 文件中的字段数。 |
QvdNoOfRecords() | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | 此脚本函数用于返回 QVD 文件中的当前记录数。 |
QvdTableName() | 支持的输入:使用库连接的路径 | 支持的输入:使用库连接或文件系统的路径 | 此脚本函数用于返回存储在 QVD 文件中的表格名称。 |
系统函数
函数 | 标准模式 | 旧模式 | 定义 |
---|---|---|---|
DocumentPath() |
不支持 |
返回的输出:绝对路径 |
此函数用于返回一个包含至当前 Qlik Sense 应用程序完整路径的字符串。 |
GetRegistryString()
|
不支持 |
支持 | 返回一个称为注册关键字的值及一个给定的注册路径。此函数可用于图表及脚本等类似程序中。 |