# 在目錄中處理指令碼

使用指令碼直接在 分析 活動中心內為分析應用程式準備資料。指令碼是特定於任務、為特定用途建置的應用程式，用於載入、轉換和匯出資料。您在目錄中建立並管理指令碼。

指令碼可讓您載入並轉換資料，不需要分析應用程式。轉換可重複用來向多個應用程式提供資料。指令碼可協助您從分析應用程式工作流程移除資料準備，除非使用者想要在應用程式中自行建置並轉換資料。

若您在目錄中新增指令碼，會在 指令碼 中開啟。在 指令碼 中，您可以建立、預覽並執行資料指令碼。您可以透過 Store 陳述式使用這些指令碼以 QVD 檔案或其他格式儲存資料。然後，建立分析應用程式或準備 Qlik Predict 的資料時，其他使用者可以使用這些輸出。您也可以建立其他使用者可以作為分析應用程式載入指令碼的範本使用的指令碼，加速使用類似資料模型建立應用程式。

在 指令碼 中，您可以檢視指令碼使用的資料來源以及指令碼使用的檔案輸出。您可以存取指令碼的影響分析和譜系資訊，及其輸入和輸出。

指令碼可以設定為按照預先定義的排程或根據需要執行。

如需目錄中指令碼的概述，請參閱 [在目錄中導覽指令碼](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/navigating-scripts.htm)。

在 指令碼 中開啟的指令碼

在 指令碼 中開啟的指令碼

在 指令碼指令碼 中開啟的指令碼 ![指令碼編輯器概述，對摘要索引標籤開啟。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_script-editor-overview-rev.png)

## 權限

您建立、檢視和刪除指令碼的能力取決於您工作所在的空間類型以及您在該空間的權限。

[在共用空間中管理權限](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Spaces/managing-shared-spaces.htm)

[在受管理空間中管理權限](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Spaces/managing-managed-spaces.htm)

## 建立指令碼

您可以前往 分析 活動中心的「建立」頁面，並選取指令碼，以建立指令碼。您也可以從 分析 中的準備資料或按一下目錄中的新建，以建立指令碼。您也可以透過按一下資料集來從資料集建立指令碼the 用於 icon，然後選取 &gt; 指令碼。

建立新的指令碼時，可以指定指令碼的目的地空間。依照預設，若沒有選取空間，指令碼會新增至目前空間或個人空間。

建立新的指令碼後，您可以開發用來將資料載入到指令碼中的載入指令碼，並從指令碼匯出檔案。首先，您在 指令碼 的編輯器區段將資料來源新增至指令碼。然後，您可以使用 Qlik 指令碼撰寫功能，轉換載入的資料。工作時，您可以使用預覽資料檢視將會透過載入指令碼匯出的資料。最後，新增 Store 陳述式，以儲存並匯出載入的資料。

[Creating scripts](https://play.vidyard.com/aGoXrH1y6btqpKtxHy71W2)

### 將資料來源新增至指令碼

您可以使用 Qlik 指令碼撰寫功能將資料來源新增至載入指令碼。您可以使用現有的資料檔案和連線。您也可以新增資料來源和連線。您可以在資料來源中檢視現有的資料來源並新增新的資料來源。

#### 從現有資料集新增資料

按一下從資料目錄新增以開啟資料目錄。您可以從多個資料集新增資料。

請參閱：[從資料目錄載入資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/adding-data-catalog.htm)

#### 建立連線

按一下建立新連線以新增與指令碼的連線。

請參閱： [載入分析資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/connect-data-sources.htm)

### 建置載入指令碼

指令碼使用資料載入語法，以在執行指令碼時連線至資料來源並從中擷取資料。

在載入指令碼中，您可指定要載入的欄位和表格。指令碼可用來定義空間意識連線，允許您從另一個空間載入資料或讓載入指令碼尋找目前空間中特定名稱的資料來源。如需更多關於空間意識連線的資訊，請參閱 [參考指令碼中的資料連線](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/connect-data-sources-data-load-editor.htm#Referrin)。

然後，您可以透過載入指令碼中的函數處理載入的資料。指令碼 中的編輯器提供廣泛的工具集，用於載入和轉換應用程式資料。您可以執行操作，例如：

* 計算新的值

* 轉譯編碼值

* 彙總值

* 加入或串連表格

* 驗證資料

若要進一步瞭解建立載入指令碼，請參閱：

* [編輯載入指令碼](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/edit-data-load-script.htm)

* [瞭解指令碼語法和資料結構](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/understand-data-structures.htm)

* [指令碼語法概述](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/script-syntax.htm)

所有指令碼都包括根據設定檔選項的預設地區和區域設定。如需關於變更這些設定的資訊，請參閱 [修改用於應用程式和指令碼的區域設定](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm)。

### 預覽資料

您可以在編輯器中預覽資料。這可讓您進行部分載入，不必載入和匯出所有資料。您可以忽略 Store 陳述式，並定義要對每個表格預覽多少資料列。若要預覽資料，按一下預覽資料。

如需更多關於預覽資料的資訊，請參閱 [預覽載入指令碼中的資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/previewing-scripts.htm)。

### 匯出資料

您可以在指令碼中使用 Store 陳述式匯出資料。您可以在指令碼中手動新增，或按一下 DataFiles 中的 the 插入 Store 陳述式 icon 以開啟，以在建立陳述式時取得協助。若要進一步瞭解儲存資料，請參閱 [儲存來自載入指令碼的資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ScriptEditor/storing-data.htm)。

若要執行指令碼並匯出，按一下匯出資料。

## 在其他指令碼內插入指令碼

您可以將指令碼插入其他指令碼的載入指令碼中，進而允許您在多個應用程式和其他指令碼之間重複使用指令碼內容。

如需詳細資訊，請參閱[將其他指令碼插入載入指令碼](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/QVS/inserting-qvs-script-editor.htm)。

## 指令碼限制

指令碼有下列限制

* 與應用程式不同，指令碼不會保留在指令碼中載入的任何資料。工作階段完成後，就會移除資料。例如，若您預覽資料，然後關閉指令碼，則下次開啟指令碼時，您需要再次按一下預覽資料，才能產生新的預覽。

* 指令碼不支援部分載入。

* 不支援透過 binary 陳述式載入指令碼。由於指令碼不會在指令碼中儲存載入的資料，透過 binary 陳述式從指令碼載入資料會造成空的表格。

* 指令碼不支援區段存取。

* 預覽資料 (沒有開啟使用 Store 陳述式 turned on) 對於載入資訊不會視為載入。

* 上傳至 雲端服務上的 Qlik Sense Enterprise、Qlik Sense Desktop 或 Qlik Sense Mobile 的已匯出指令碼將會顯示為不含資料的應用程式。

* 具有可以管理權限的共用空間成員可以在概述中看見已發佈的副本索引標籤，但看不見已發佈的指令碼。若他們有可以發佈權限，則可以看見自己的指令碼。