# 加载脚本修改

Qlik Cloud 不支持在函数、语句和变量中使用 Windows 文件系统路径。相反，使用库连接，即数据和脚本文件的连接字符串，例如 lib://DataFiles/myData.txt。

## 限制

适用于 QlikView 和客户托管 Qlik Sense 的多个语句、变量和函数（在标准或传统模式下）无法使用，或在 Qlik Cloud 中存在限制。通常，这些限制是对与 Windows 文件系统路径关联的语句、变量和函数施加的。

如果在数据加载脚本中使用不支持的语句，则会在加载脚本运行时产生错误。错误消息可在脚本日志文件中找到。如果使用不支持的变量和函数，不会生成错误消息或日志文件条目。相反，函数会返回 NULL 值。

在编辑数据加载脚本时，没有任何指示表明不支持变量、语句或函数。

## Qlik Cloud 中变量、语句和函数的适用性

如果您计划重用来自 Qlik Cloud 中 QlikView 或客户托管 Qlik Sense 的数据加载脚本，请参考下面的表，查看支持哪些变量、语句和函数及其要求。

### 系统变量

| 变量 | 适用性 | 定义 |
| --- | --- | --- |
| 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<br><br>[二进制](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Binary.htm) | 支持的输入：使用库连接的路径 | 二进制语句用于从另一个应用程序加载数据。 |
| Connect | 不支持 | CONNECT 语句用于通过 OLE DB/ODBC 接口定义对通用数据库的Qlik Sense访问。对于 ODBC，数据源首先需要使用 ODBC 管理器指定。 |
| Directory<br><br>[目录](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Directory.htm) | 支持的输入：使用库连接的路径 | Directory 语句用于定义在后续 LOAD 语句中查找数据文件的目录，直到出现新的 Directory 语句。 |
| Execute | 不支持 | Execute 语句用于在 Qlik Sense 加载数据的同时运行其他程序。例如，需要执行转换。 |
| LOAD from ...<br><br>[加载](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm) | 支持的输入：使用库连接的路径 | LOAD 语句可以加载以下来源的字段：文件、脚本中定义的数据、预先载入的输入表格、网页、后续 SELECT 语句产生的结果或自动生成的数据。 |
| Store into ...<br><br>[商店](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Store.htm) | 支持的输入：使用库连接的路径 | Store 语句创建 QVD、Parquet、CSV 或 TXT 文件。 |

### 脚本控制语句

| 语句 | 支持的输入 | 返回的输出 | 定义 |
| --- | --- | --- | --- |
| For each...<br><br><br>filelist mask/dirlist mask<br><br>[对于每个..下一个](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptControlStatements/For%20Each.htm) | 库连接 | 库连接 | filelist mask 语法会在匹配 filelist mask 的当前目录中生成逗号分隔的全部文件列表。dirlist mask 语法会在匹配目录名称掩码的当前目录中生成逗号分隔的全部目录列表。 |

### 文件函数

| 函数 | 支持的输入 | 返回的输出 | 定义 |
| --- | --- | --- | --- |
| Attribute()<br><br>[属性](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/Attribute.htm) | 库连接 | 以文本形式返回不同媒体文件的元标签的值。 |  |
| ConnectString()<br><br>[ConnectString](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/ConnectString.htm) | 库连接名称 | 为 ODBC 或 OLE DB 连接返回激活连接字符串。 |  |
| FileDir()<br><br>[FileDir](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileDir.htm) | 库连接 | FileDir 函数用于返回一个包含至当前阅读表格文件目录的路径。 |  |
| FilePath()<br><br>[FilePath](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FilePath.htm) | 库连接 | FilePath 函数用于返回一个包含至当前阅读表格文件的完整路径的字符串。 |  |
| FileSize()<br><br>[FileSize](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileSize.htm) | 库连接 | FileSize 函数用于返回一个包含文件 filename 字节大小的整数，或如果未指定 filename，则返回一个包含当前阅读的表格文件字节大小的整数。 |  |
| FileTime()<br><br>[FileTime](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileTime.htm) | 库连接 | FileTime 函数以 UTC 格式返回指定文件上次修改的时间戳。如果未指定文件，函数将返回当前读取的表文件的最后修改的 UTC 时间戳。 |  |
| GetFolderPath() | 不支持 | 返回的输出：绝对路径 | GetFolderPath 函数用于返回 Microsoft Windows SHGetFolderPath 函数的值。此函数用于输入 Microsoft Windows 文件夹的名称，并返回该文件夹的完整路径。 |
| QvdCreateTime()<br><br>[QvdCreateTime](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdCreateTime.htm) | 库连接 | 此脚本函数用于返回 QVD 文件的 XML-标题时间戳（如果有），否则返回 NULL 值。在时间戳中，时间以 UTC 表示。 |  |
| QvdFieldName()<br><br>[QvdFieldName](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdFieldName.htm) | 库连接 | 此脚本函数返回 QVD 文件中的字段编号 fieldno。如果字段不存在，则返回 NULL。 |  |
| QvdNoOfFields()<br><br>[QvdNoOfFields](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdNoOfFields.htm) | 库连接 | 此脚本函数用于返回 QVD 文件中的字段数。 |  |
| QvdNoOfRecords()<br><br>[QvdNoOfRecords](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdNoOfRecords.htm) | 库连接 | 此脚本函数用于返回 QVD 文件中的当前记录数。 |  |
| QvdTableName()<br><br>[QvdTableName](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdTableName.htm) | 库连接 | 此脚本函数用于返回存储在 QVD 文件中的表格名称。 |  |

### 系统函数

| 函数 | 适用性 | 定义 |
| --- | --- | --- |
| DocumentPath() | 不支持 | 此函数用于返回一个包含至当前 Qlik Sense 应用程序完整路径的字符串。 |
| GetRegistryString() | 不支持 | 返回一个称为注册关键字的值及一个给定的注册路径。此函数可用于图表及脚本等类似程序中。仅在 QlikView 中可用。 |

## 了解详情

* [系统变量](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/system-variables.htm)
* [系统函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/system-functions.htm)
* [QlikView 函数及语句在 Qlik Sense 中不受支持](https://help.qlik.com/zh-CN/migration/Content/Migration/QlikView-functions-statements-not-supported.htm)
* [函数和语句不建议用于 Qlik Sense](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/functions-statements-not-recommended.htm)