# 載入指令碼修改

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，則會傳回 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-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Binary.htm) | 受支援的輸入：使用物件庫連線的路徑 | binary 陳述式用來從另一個應用程式載入資料。 |
| Connect | 不支援 | CONNECT 陳述式用於定義 Qlik Sense 對一般資料庫的存取，透過 OLE DB/ODBC 介面。針對 ODBC，資料來源需要先使用 ODBC 管理員指定。 |
| Directory<br><br>[目錄](https://help.qlik.com/zh-TW/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-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm) | 受支援的輸入：使用物件庫連線的路徑 | LOAD 陳述式可以從檔案、指令碼中定義的資料、先前載入的表格、網頁、後續 SELECT 陳述式的結果或自動產生的資料來載入欄位。 |
| Store into ...<br><br>[商店](https://help.qlik.com/zh-TW/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>[For each..next](https://help.qlik.com/zh-TW/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-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/Attribute.htm) | 物件庫連線 | 以文字形式傳回各種媒體檔案的中繼標記值。 |  |
| ConnectString()<br><br>[ConnectString](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/ConnectString.htm) | 物件庫連線名稱 | 傳回 ODBC 或 OLE DB 連線的作用中連線字串。 |  |
| FileDir()<br><br>[FileDir](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileDir.htm) | 物件庫連線 | FileDir 函數會傳回一個字串，其中包含目前正在讀取之表格檔案的目錄路徑。 |  |
| FilePath()<br><br>[FilePath](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FilePath.htm) | 物件庫連線 | FilePath 函數會傳回一個字串，其中包含目前正在讀取之表格檔案的完整路徑。 |  |
| FileSize()<br><br>[FileSize](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/FileSize.htm) | 物件庫連線 | FileSize 函數會傳回一個整數，其中包含檔案 filename 或 (若未指定 filename) 目前正在讀取之表格檔案的大小 (以位元組為單位)。 |  |
| FileTime()<br><br>[FileTime](https://help.qlik.com/zh-TW/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-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdCreateTime.htm) | 物件庫連線 | 此指令碼函數會從 QVD 檔案傳回 XML 標頭時間戳記 (如果呈現的話)，否則會傳回 NULL。 在時間戳記中，所提供時間為協調世界時。 |  |
| QvdFieldName()<br><br>[QvdFieldName](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdFieldName.htm) | 物件庫連線 | 此指令碼函數會傳回 QVD 檔案中的欄位編號 fieldno 名稱。如果該欄位不存在，則會傳回 NULL。 |  |
| QvdNoOfFields()<br><br>[QvdNoOfFields](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdNoOfFields.htm) | 物件庫連線 | 此指令碼函數會傳回 QVD 檔案中的欄位數。 |  |
| QvdNoOfRecords()<br><br>[QvdNoOfRecords](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdNoOfRecords.htm) | 物件庫連線 | 此指令碼函數會傳回 QVD 檔案中的目前記錄數。 |  |
| QvdTableName()<br><br>[QvdTableName](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/FileFunctions/QvdTableName.htm) | 物件庫連線 | 此指令碼函數會傳回 QVD 檔案中儲存的表格名稱。 |  |

### 系統函數

| 函數 | 適用性 | 定義 |
| --- | --- | --- |
| DocumentPath() | 不支援 | 此函數會傳回一個字串，其中包含目前 Qlik Sense 應用程式的完整路徑。 |
| GetRegistryString() | 不支援 | 傳回含指定登錄路徑的具名登錄機碼值。此函數可用於類似圖表與指令碼中。僅適用於 QlikView。 |

## 瞭解更多資訊

* [系統變數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/system-variables.htm)
* [系統函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/system-functions.htm)
* [Qlik Sense 中不支援的 QlikView 函數和陳述式](https://help.qlik.com/zh-TW/migration/Content/Migration/QlikView-functions-statements-not-supported.htm)
* [Qlik Sense 中不建議的函數和陳述式](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/functions-statements-not-recommended.htm)