# 轉換資料

您可建立能重複使用並且以規則為基礎的的資料轉換，做為資料管道的一部份。可在資料上線之中執行轉換，也可建立能重複使用的轉換資料任務。您可以執行列層級轉換、包含 SQL 轉換，並設計複雜的轉換流程。產生的資料集可以具體化為表格，或建立為在執行中進行轉換的檢視。

資訊備註進階轉換可用於 Qlik Talend Cloud 進階版 或 Qlik Talend Cloud 企業版 訂閱。

* 您可以執行明確的資料集轉換，或建立轉換多個資料集的全域規則。也可篩選資料集，建立以列組成的子集。

* 您可以新增 SQL 轉換。SQL 轉換可讓您在管道中輸入 SQL SELECT 查詢，以定義複雜或簡單的轉換。

* 您可以使用 SQL 工具台探索已準備好的任務中的資料，並在您的專案環境中驗證 SQL 查詢。如需詳細資訊，請參閱[使用 SQL Workbench 探索資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/SQL-workbench-data-exploration.htm)。

* 您可以使用來源、處理器和目標新增視覺轉換流程，以定義複雜或簡單的轉換。

資訊備註資料任務在所屬的專案擁有者的內容中操作。如需有關所需角色和權限的詳細資訊，請參閱 [資料空間角色與權限](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataSpaces/permissions-data-space.htm)。

轉換資料任務包含三個檢視畫面：

* 轉換

  此檢視畫面顯示所有轉換，以視覺化從來源資料集到目標資料集的流程。

* 資料集

  此檢視畫面顯示資料集上的所有基本轉換，例如篩選資料或新增欄，以及執行全域轉換的規則。

* 型號

  此檢視畫面可讓您使用所包含的資料集之間的關係來建立資料模型。如需詳細資訊，請參閱[建立資料模型](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Create-data-model.htm)。

除了將表格儲存在資料倉庫之外，您也可以將表格儲存為由資料平台管理的 Iceberg 表格。此選項目前僅適用於 Snowflake 專案。可以在任務設定中的表格類型之下選取 Snowflake 管理的 Iceberg 表格，以便進行。

## 建立轉換資料任務

建立轉換資料任務最簡單的方式是在儲存空間資料任務上按一下 ...，選取轉換資料。

也可在專案中按一下建立，選取轉換資料。此情況下，您需要定義所要使用的來源資料任務。

1. 在轉換中定義來源資料和目標。

   您可以進行以下任一項：

   * 執行資料集轉換

     選取來源資料集，按一下新增至目標以加入至目標。

     然後您可以執行基本資料集轉換，例如在資料集中篩選資料或新增欄。

     如需詳細資訊，請參閱[管理資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-datasets.htm)。

   * 新增 SQL 轉換

     選取來源資料集並按一下新增 SQL 轉換。

     SQL 轉換可讓您在管道中輸入 SQL SELECT 查詢，以定義複雜或簡單的轉換。

     如需詳細資訊，請參閱[新增 SQL 轉換](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Adding-SQL-based-tables.htm)。

   * 新增轉換流程

     選取來源資料集並按一下新增轉換流程。

     流程設計工具可讓您使用來源、處理器和目標建立轉換流程，以定義複雜或簡單的轉換

     如需詳細資訊，請參閱[新增轉換流程](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Adding-transformation-flows.htm)。

2. 您也可以按一下選取來源資料，從其他儲存空間資料任務新增更多資料集。

   您可以從目前專案或從另一個專案新增資料集。若要從另一個專案新增資料集：

   * 您必須在所取用專案的空間中至少擁有可以取用角色。

   * 兩個專案必須位於相同資料平台上。

   如果選取的專案在版本控制下，您可以選取要用作來源的分支。有關跨專案管線的詳細資訊，請參閱 [建立跨專案管道](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-projects.htm#Building)。

3. 您已新增所需的轉換之後，按一下驗證資料集以驗證資料集。如果驗證後發現錯誤，請先修正錯誤再繼續進行。

   如需詳細資訊，請參閱[驗證和調整資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-datasets.htm#Validati)。

4. 建立資料模型

   按一下模型以設定所包含的資料集之間的關係。

   如需詳細資訊，請參閱[建立資料模型](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Create-data-model.htm)。

5. 按一下準備以準備資料任務和所需全部成品。這需花一些時間。

   您可以在畫面下方的準備進度之下追蹤進度。

   資訊備註在準備任務之前，請停止直接下游處理的所有任務。

6. 當狀態顯示已準備好時，您即可執行資料任務。

   按一下 ... 再按執行。

這時資料任務會開始建立轉換資料用的資料集。

資訊備註若您已經開始產生資料集，即無法變更要包含的資料集。

## 使用轉換檢視畫面

在轉換中，會顯示所有轉換，以視覺化從來源資料集到目標資料集的流程。

* 選取轉換以查看使用了哪些來源資料集，以及建立了哪些目標資料集。

* 選取來源以查看使用該來源的所有轉換，以及所有產生的目標。

* 選取目標以查看哪些是來源資料集，以及哪些轉換建立了此目標資料集。

轉換中的轉換檢視

轉換中的轉換檢視

轉換中的轉換檢視 ![轉換中的轉換檢視](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/qcdi_transform.png)

您可以按一下顯示選項以變更以下設定：

* 依轉換類型篩選

  僅顯示一種或兩種轉換類型的轉換。

* 篩選

  顯示所有轉換或僅顯示所選的轉換。您必須選取一個轉換才能啟用此選項。

* 密度

  選取要使用緊密版面配置或寬廣版面配置 (使用更多空間) 來顯示轉換。

## 使用資料集檢視畫面

在資料集中，您可以檢視和編輯轉換任務中的所有目標資料集。

另請參閱 [管理資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Managing-datasets.htm) 以取得更多資訊。

### 新增目標資料集

您可以將更多目標資料集新增至轉換任務。

1. 按一下the 新增資料集 icon。

2. 提供資料集的名稱和可選的描述。

3. 從來源資料集的任務中可用的資料集選取來源資料集。

   提示備註您可以選取無來源資料集以建立未連線至任何來源的空資料集。您可以在設計期間將欄新增至資料集，但必須先連線至來源資料集，然後才能準備任務。

現已新增目標資料集。

### 變更來源資料集

您可以變更目標資料集的來源資料集。

1. 按一下the 來源： icon 之後 [來源資料集名稱]。

2. 從來源資料集的任務中可用的資料集選取另一個來源資料集。

   提示備註您可以選取無來源資料集，以斷開目標資料集與來源的連線。您可以在設計期間編輯資料集，但必須先連線至來源資料集，然後才能準備任務。

### 新增新的欄

您可以將新的欄新增至目標資料集。

* 從頭開始新增新的欄

  按一下 + 新增。

  提供欄的名稱，並設定運算式以定義欄資料。

  如需詳細資訊，請參閱[新增欄至資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Add-columns.htm)。

* 從來源新增欄

  按一下新增 旁邊的 the 從來源新增欄 icon，然後選擇 。

  從來源資料集選取欄。

### 重新排序欄

您可以變更欄的序數位置。

1. 選取欄。

2. 按一下the 重新排序 icon 然後 。

3. 使用箭頭向上或向下移動欄。

4. 準備好後關閉變更序數 。

### 建立轉換規則

您可以建立能重複使用的規則，以對資料集執行全域轉換。

如需更多關於建立規則的資訊，請參閱 [建立規則以轉換資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Transformation-rules.htm)。

提示備註您可以選取顯示規則效果以檢視規則的效果。啟用顯示規則效果後，您無法對資料集進行變更。

### 篩選資料集

如果必要的化，可篩選資料建立列子集。

* 按一下the 篩選 icon 然後 。

如需更多關於篩選的資訊，請參閱 [篩選資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Filter-data.htm)。

## 排程轉換任務

您可以排程定期更新轉換任務。您可以設定基於時間的排程，或設定為在輸入資料任務完成執行後執行任務。

按一下資料任務上的 ... 並選取排程以建立排程。預設排程設定繼承自專案中的設定。如需關於預設設定的詳細資訊，請參閱 [轉換預設值](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-settings.htm#Transfor)。

您一律需要將排程設定為開啟以啟用排程。

資訊備註若任務中的所有資料集都是非具體化，則在透過檢視即時執行轉換時，沒有任何內容可執行。您仍然可以為非具體化轉換任務建立排程，以在滿足排程條件時執行。任務將會立即完成，這可以觸發下游任務，例如資料超市。這可讓您建置基於事件的管道排程，這包括非具體化轉換，且不會中斷管道流程。

### 基於時間的排程

無論不同的輸入來源於何時更新，您都可以使用基於時間的排程以執行任務。

* 在執行資料任務中選取在特定時間。

您可以設定每小時、每日、每週或每月排程。

### 基於事件的排程

您可以使用基於事件的排程，以在輸入資料任務完成執行後執行任務。

* 在執行資料任務中選取在特定事件。

您可以選取想要在任何輸入任務成功完成後執行任務，或是在任何輸入任務選項成功完成後執行任務。

資訊備註若任何輸入任務或下游任務在觸發排程時執行，則任務不會執行。會略過任務，直到下次排程執行為止。

## 監控轉換任務

您可以按一下監控，監控轉換任務的狀態和進度。

如需詳細資訊，請參閱[監控個別資料任務](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Monitoring-data-tasks.htm)。

## 載入資料

若資料具體化為實體表格，您可以執行手動表格載入。若一個或多個表格有問題，這很實用。

資訊備註若資料集沒有具體化，您必須在上游資料任務中載入來源資料集，以重新整理資料。

1. 開啟資料任務並選取監控索引標籤。

2. 選取您要載入的表格。

3. 按一下載入表格。

載入將會發生在下次執行任務時。載入流程根據每個資料集的歷史記錄設定和轉換類型，會有不同的運作方式。這表示，資料任務中的資料集之間可能會有不同的載入流程。

* 會透過截斷並載入的方法載入資料集轉換。

* 可以截斷並載入，或比較並套用，以載入 SQL 轉換和轉換流程。比較並套用是最佳做法。

  [根據 SQL 轉換或轉換流程載入資料集](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Transformations.htm#Reloadin)

您可以按一下取消載入，為等待載入的表格取消載入。這不會影響已載入的表格，且將會完成目前正在執行的載入。

將會載入下游任務以套用變更，並避免提早進行。

載入轉換資料任務後的下游影響

載入轉換資料任務後的下游影響

載入轉換資料任務後的下游影響 ![轉換載入下游影響](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/qcdi_reload_downstream_transform.png)

對下游的影響取決於執行的載入操作類型，以及直接下游資料集的類型。標準處理表示資料集將會使用對特定資料集設定的方法，反映並處理資料。

範例： 透過截斷並載入來載入資料集

* 若下一個資料集使用資料集轉換，將會在下次執行時透過截斷並載入來載入。

* 若下一個資料集是 SQL 轉換或轉換流程，將會使用比較並套用來載入。

### 載入不含歷史記錄的資料集

在此情況下，沒有要考慮的歷史記錄。若要降低對目標的處理程度，載入可透過以下方式執行：

1. 截斷表格。

2. 從上游資料任務載入目前資料。

將會載入下游任務以套用變更。

### 載入啟用歷史記錄的資料集

載入透過以下方式執行：

1. 截斷目前表格、之前表格和變更表格。

2. 從上游資料任務載入資料，包括之前表格。

### 根據 SQL 轉換或轉換流程載入資料集

* 截斷並載入

  資訊備註此選項可能會造成歷史記錄損失。

  1. 截斷目前表格和變更表格。

  2. 執行查詢並載入到目前表格。

* 載入並比較

  1. 執行查詢並與目前表格比較。

  2. 新增變更。

資訊備註由於上游任務重新載入而重新載入基於 SQL 轉換或轉換流程的資料集時，始終會透過比較和套用以重新載入。如果要截斷並且重新載入，則必須對這些資料表發出特定的重新載入。在此情況下，您必須同時考慮對於下游資料表的影響。

## 刪除任務

如果資料任務未執行，且相同專案中沒有下游任務的相依性，您可以刪除該資料任務。

* 在專案的管線專案檢視中，按一下任務上的the 刪除 icon，然後選取。

任務建立的成品 (表格和檢視) 也會被刪除，除非您選擇保留它們。

資訊備註請記住，您保留的成品將不再由任務更新。

## 檢視任務資訊

按一下功能表長條上的 the 資訊 icon 以檢視任務資訊，例如：

* 擁有者

* 空間

* 資料平台

* 專案 ID

* 資料任務執行階段 ID

## 轉換的設定

您可為轉換資料任務設定屬性。

* 按一下設定。

警告備註如果已經執行任務，變更至非執行時間的設定需要您重新建立資料集。

### 一般設定

* 資料庫

  要在資料來源中使用的資料庫。

* 任務結構描述

  您可以變更資料任務結構描述的名稱。預設名稱是任務的名稱。

* 內部架構

  您可變更內部儲存空間架構的名稱。預設名稱是附加「\_internal」的任務名稱。

* 預設大寫架構名稱

  您可以為所有結構描述名稱設定預設大寫。如果您的資料庫設定為強制大寫，則此選項將無效。

* 用於所有表格和檢視的前置詞

  您可以為透過此任務建立的所有表格和檢視畫面設定前置詞。

  資訊備註若您想要在數個資料任務中使用一個資料庫結構描述，則必須使用唯一前置詞。

* 具體化

  您可選擇僅建立即時執行轉換 (非具體化) 的檢視，或同時建立表格和檢視 (具體化)。

* 歷史資料儲存 (類型 2)

  您可以保留歷史變更資料，讓您輕鬆重新建立在特定時間點的資料。您可以使用歷史記錄檢視和即時歷史記錄檢視以查看歷史資料。

* 發佈至目錄

  選取此選項以將此資料版本發佈至目錄作為資料集。將會在下次您準備此任務時更新目錄內容。

  如需更多關於目錄的資訊，請參閱 [使用目錄工具理解資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Catalog/catalog-overview.htm)。

### 執行時間設定

* 平行執行

  您可用 1 到 5 的數字設定完整載入連線的最大數目。

* 倉庫

  雲端資料倉庫的名稱。

### 檢視類型設定

檢視設定僅適用於 Snowflake。

* 標準檢視

  大部分情況下使用標準檢視。

* Snowflake 安全檢視

  使用 Snowflake 安全檢視來指定用於資料隱私或敏感資訊保護的檢視畫面，例如為了針對不應暴露給所有基礎表格使用者的敏感資料，限制其存取權限，所建立的檢視畫面。

  資訊備註Snowflake 安全檢視的執行速度比標準檢視慢。

### 表格類型設定

這些設定僅可用於以 Snowflake 作為資料平台的專案。

* 表格類型

  您可以選取要使用的表格類型：

  * Snowflake 表格

  * Snowflake 管理的 Iceberg 表格

    您必須在 Snowflake 外部磁碟區中設定外部磁碟區的預設名稱。

* 要使用的雲端儲存資料夾

  選取將資料登陸到暫存區域時要使用的資料夾。

  * 預設資料夾

    如此可建立預設名稱為 &lt;專案名稱&gt;/&lt;資料任務名稱&gt; 的資料夾。

  * 根資料夾

    將資料存放在儲存區的根資料夾。

  * 資料夾

    指定要使用的資料夾名稱。

* 與 Snowflake 開放目錄同步

  啟用此選項可讓 Snowflake Open Catalog 管理雲端檔案儲存中的檔案。

## 最佳做法

* 如果已新增事實和維度，則無法變更資料超市中資料集的來源。如果您想要彈性，可以新增前置轉換任務，搭配非具體化檢視，可用於變更來源，並為所有來源任務建立模型。

## 限制和考慮事項

* 選取非具體化選項時，無法變更轉換資料任務中的資料類型。

* 欄位層級譜系不適用於在 SQL 轉換或轉換流中建立的資料集。

  資訊備註此限制僅適用於 Qlik Cloud 政府。不支援使用 新增至目標 從設定為 Qlik 開放湖倉庫僅附加 的 鏡像 任務讀取資料。作為因應措施，您可以使用 SQL 轉換或轉換流程來讀取資料。

相關學習內容：

* [使用 Qlik Cloud 資料整合以上線並轉換資料](https://help.qlik.com/lnk/Qlik_cloud_data_integration_onboard_transform)

## 瞭解更多資訊

* [使用 Qlik Cloud 資料整合以上線並轉換資料](https://help.qlik.com/lnk/Qlik_cloud_data_integration_onboard_transform)