# 在應用程式中取用資料產品

分析開發人員可以使用資料目錄，將資料產品及其語意模型載入至分析應用程式中。資料目錄會產生必要的指令碼，並為量值與維度建立主項目。

資訊備註您需要下列其中一個訂閱項目：

* Qlik Talend Cloud 企業版
* Qlik Talend Cloud 進階版
* Qlik Cloud 分析進階版
* Qlik Cloud Analytics 企業
* Qlik Sense Enterprise SaaS

當您取用資料產品時，資料目錄會產生 IncludeModel 指令碼陳述式，將選取的資料表、關聯性、度量和維度載入至您的應用程式。來自語意模型的度量和維度會自動顯示為主要項目，可直接在視覺化中使用。

## 必要條件

若要取用資料產品及其語意模型，您需要：

### 權限

若要取用共用、受管理和資料空間中資料產品的語意模型，您需要包含該資料產品之空間中的 可取用資料 或 可檢視 權限。

詳情請參閱 [資料產品角色和權限](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/data-products-roles-and-permissions.htm)。

### 可存取的資料集

您必須具有語意模型中所包含資料集以及基礎資料連線的存取權。

### 唯一的資料產品名稱

資料產品在空間中必須具有唯一的名稱。如果應用程式已包含同名資料產品，載入語意模型將會失敗。

## 透過資料產品取用資料產品與語意模型

您可以直接從資料產品建立分析應用程式。您可以調整要從資料產品及其語意模型中使用的內容：資料集、欄位和主項目。

1. 開啟資料產品，可從資料市集中選取一個，或瀏覽目錄。

2. 在資料產品名稱標頭中，按一下 使用於 &gt; 應用程式。

   ![「在應用程式中使用」圖示](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-use-in-application.png)

3. 在 建立新應用程式 視窗中，檢閱語意模型以及即將載入的資料。

4. 按一下繼續。

   新建立應用程式的 資料載入編輯器 會開啟，且系統會將您導向至資料目錄。系統已預設選取該資料產品，但您可以在將其載入應用程式之前瀏覽、調整選取項目並檢閱資料。如需詳細資訊，請參閱 [透過 資料載入編輯器 取用資料產品與語意模型](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/consuming-data-products-apps.htm#LoadingCatalog)。

5. 準備就緒後，按一下 載入資料。

資料載入後，您可以開始新增工作表並處理應用程式，或者視需要導覽至 資料載入編輯器 檢查並修改指令碼。語意模型的資料表、關聯、量值和維度現已可供使用。

如需更多關於在工作表中將資料視覺化的資訊，請參閱 [建立分析並視覺化資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/creating-analytics-and-visualizing-data.htm)。

## 透過 資料載入編輯器 取用資料產品與語意模型

資料目錄提供了一個介面，用於從資料產品中瀏覽和選取資料與語意模型資訊，而不是手動輸入指令碼。

若要載入資料產品及其語意模型：

1. 開啟應用程式。

2. 按一下頂端導覽長條中的 資料載入編輯器。

3. 在新增資料右側面板中，按一下從資料目錄新增。

4. 資料目錄強制回應視窗隨即開啟，顯示可用資料，包括具有語意模型的資料產品。

   ![資料目錄互動視窗](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-load-from-data-catalog.png)

### 瀏覽資料產品

資料目錄會顯示包含語意模型的資料產品。您可以依名稱、描述或標籤來瀏覽與搜尋資料產品。

按一下資料產品以檢視將載入應用程式指令碼之內容的摘要，包括資料表、量值和維度。

如果語意模型中的資料集無法存取，則會標示警告指示器。您仍然可以取用語意模型中與其相關的度量值與維度，但無法存取的資料集及其欄位已排除。

### 選取與調整語意模型

選取要使用的資料產品後，您可以調整選取項目，並精確選擇要將語意模型的哪些元件納入您的應用程式中。

1. 將滑鼠移至所選的資料產品上，並按一下 調整選取項目。

   ![微調選取檢視](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-load-from-data-catalog_2.png)

   現已提供三個新索引標籤，您可以在其中導覽資料產品的元素：

   * 資料表/欄位
   * 維度
   * 量值

2. 使用核取方塊來調整您的選取項目，並選擇要包含哪些資料集、欄位、度量與維度。

   提示備註

   進階使用者可以切換 在重新載入時自動包含新增項目，以控制當語意模型變更時是否自動包含新項目。

   啟用時，新增至語意模型的新欄位、量值和維度會在重新載入時自動新增至資料模型和主項目。這僅適用於所有欄位、度量與維度分別皆已勾選的情況。

3. 當您的選取項目準備就緒時，請按一下 插入指令碼。

產生的 IncludeModel 指令碼會插入至載入指令碼中，並可在 資料載入編輯器 中檢視和編輯。若要將資料載入應用程式，請按一下 載入資料。

資料載入後，您可以開始新增工作表並處理應用程式。 如需詳細資訊，請參閱[建立分析並視覺化資料](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/creating-analytics-and-visualizing-data.htm)。

![資料載入編輯器中的 IncludeModel 指令碼](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-load-from-data-catalog_3.png)

### 了解自動包含

自動包含功能，特性控制當語意模型變更時，您的應用程式如何回應。

當為元件類型啟用自動包含時，產生的指令碼會使用萬用字元 (`*`) 選取器：

* `Fields *`：包含指定資料表的所有欄位。
* `WithMeasures: *`：包含所有度量作為主要項目。
* `WithDimensions: *`：包含所有維度作為主要項目。

資訊備註不支援 `WithTables: *` 萬用字元語法。您必須明確列出資料表。

當停用自動包含時，指令碼會明確列出選取的項目。例如︰

* `WithMeasures [Total sales], [Total quantity]`：僅包含指定的度量。
* `WithDimensions [Region], [Product]`：僅包含指定的維度。

建議進階使用者使用「自動包含」，以減少維護工作並確保您的應用程式能獲益於語意模型的改善。若您需要嚴格控制要包含哪些項目，請停用自動包含。

## 了解產生的 IncludeModel 指令碼

資料會產生 IncludeModel 指令碼陳述式，該陳述式會參考語意模型並指定要載入哪些元件。

範例指令碼

```
IncludeModel [My Example Data Product] FromSpace [My Shared Space]
WithTables
  Table [dataset_dim_dateinfo] Fields * Connection [My Shared Space:DataFiles],
  Table [dataset_dim_customer] Fields * Connection [My Shared Space:DataFiles],
  Table [dataset_fact_transactions] Fields * Connection [My Shared Space:DataFiles],
  Table [dataset_dim_category] Fields * Connection [My Shared Space:DataFiles],
  Table [dataset_dim_sales_rep] Fields * Connection [My Shared Space:DataFiles]
WithMeasures *
WithDimensions *;
```

指令碼參數：

* `IncludeModel`: 包含語意模型的資料產品名稱。
* `FromSpace`：指定包含資料產品的空間。
* `WithTables`：指定要包含的資料表。
* `Table`: 指定要包含的資料表。您可以為要使用的每個資料表加入 `Table` 陳述式，並以逗號分隔。
* `Fields`: 指定要從指定的資料表中包含哪些欄位。使用 `*` 代表所有欄位，或使用以逗號分隔的欄位清單。
* `Connection`：使用格式 `environment:space:connection`、`space:connection` 或 `connection` 指定表格位置。
* `WithMeasures`：指定要包含哪些度量作為主要度量。將 `*` 用於所有度量或特定度量名稱的清單。
* `WithDimensions`：指定要納入為主維度的維度。使用 `*` 代表所有維度或特定維度名稱清單。

您可以手動編輯 IncludeModel 陳述式，以調整包含的項目，或在萬用字元與明確選取模式之間切換。

如需 IncludeModel 陳述式的完整詳細資訊，請參閱 [IncludeModel](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/IncludeModel.htm)。

## 欄位與資料表命名

當資料產品載入至應用程式時，欄位與資料表名稱可能會自動調整，以避免命名衝突，並遵循 Qlik 分析模式將關聯性轉換為以名稱為基礎的關聯。

* **沒有關聯的同名欄位**：若兩個資料表包含同名欄位，但這些欄位之間沒有關聯，系統會自動以其資料表名稱限定欄位名稱 (例如 `TableName.FieldName`)，以避免在應用程式中產生非預期的自動關聯。

* **具有關聯關係的欄位**：如果兩個欄位具有關聯關係但名稱不同，在載入至應用程式以形成關聯時，會被重新命名為相同名稱（即該關聯關係的名稱）。

* **複合索引鍵**：針對複合索引鍵，會將新的索引鍵欄位新增至相關資料表。

* **同名資料表**：如果兩個資料表的名稱相同，系統會藉由附加數字尾碼自動為其重新命名，例如 `TableName_1`、`TableName_2` 等。

## 使用繼承的主項目

當您重新載入包含 IncludeModel 陳述式的應用程式時，來自語意模型的度量與維度會自動出現在主項目面板中。

若要使用來自語意模型的主要項目：

1. 重新載入應用程式以從語意模型載入資料。

2. 在編輯模式中開啟工作表。

3. 在左側面板中，按一下 主要項目。

4. 來自語意模型的量值與維度會出現在清單中，並帶有資料產品指示器。

   ![資料產品指標](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-measure-read-only.png)

5. 將主量值或維度拖曳至視覺化以使用。

繼承自語意模型的主要項目會顯示其來源資料產品名稱和描述。您可以將游標懸停在度量或維度上方，以檢視其使用的運算式。

### 主項目屬性

繼承自語意模型的主項目，其大部分屬性在取用應用程式中皆為唯讀。某些其他主項目屬性，例如與視覺化相關的屬性，仍可在應用程式中編輯。

唯讀行為僅適用於使用者介面—您可以透過 API 設定多個主項目屬性：

* 可在語意模型中設定，但在取用應用程式的使用者介面中為唯讀的屬性。這包含標題、說明和標籤。

* 未在語意模型中設定且未在取用應用程式的使用者介面中公開的屬性。

對語意模型所定義之屬性的變更將會在應用程式重新載入時被覆寫。

### 主項目刪除

在未發佈的應用程式中，您可以刪除繼承的主項目，但如果該項目仍於 IncludeModel 指令碼中受到參照，則會在下次重新載入時重新出現。若要永久移除它，請先從指令碼中將其移除。您也可以複製繼承的主項目。該複製是一般的應用程式主項目，且完全可編輯。

### 主要項目與發佈應用程式

發佈應用程式時，其繼承的主項目會維持固定在發佈該應用程式時所使用的資料產品版本。重新載入已發布的應用程式不會建立、更新或刪除資料產品中的主項目。若要使用新增或變更的度量與維度，請更新應用程式並重新發佈。

## 處理應用程式中的語意模型更新

如果語意模型在您取用後發生變更，您可以更新應用程式以反映變更。

如果您使用搭配萬用字元選取器的自動包含模式，新的度量和維度會自動包含。如果您使用了明確選取，則只會載入您原本選取的項目。

若要從語意模型新增項目：

1. 開啟 資料載入編輯器。
2. 在您的指令碼中找出 IncludeModel 陳述式。
3. 編輯陳述式以新增項目，或將選取器變更為 `*` 以自動納入。
4. 重新載入應用程式。

或者，您可以移除現有的 IncludeModel 陳述式，並使用資料目錄產生包含已更新選取項目的新陳述式。

## 在其他工具中使用資料產品

在 指令碼 中，可以取用資料產品，但度量與維度會被忽略。

在應用程式與指令碼以外的資產（例如資料流程與資料表配方）中取用資料產品時，該資料產品會作為一組可供挑選的受信任資料集。這些工具使用資料集作為來源，且資料產品不會在譜系中顯示為來源節點。

[IncludeModel](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/IncludeModel.htm)

[使用資料產品](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/Data-products.htm)

[管理資料產品中的語意模型](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/managing-semantic-models.htm)