# アプリケーションでのデータ製品の利用

アナリティクス開発者は、データ カタログを使用して、セマンティック モデルを伴うデータ製品をアナリティクス アプリケーションにロードできます。データ カタログは、必要なスクリプトを生成し、メジャーと軸のマスター アイテムを作成します。

情報メモ以下のいずれかのサブスクリプションが必要です:

* Qlik Talend Cloud Enterprise
* Qlik Talend Cloud Premium
* Qlik Cloud Analytics Premium
* Qlik Cloud Analytics Enterprise
* Qlik Sense Enterprise SaaS

データ製品を利用すると、データ カタログは、選択したテーブル、リレーションシップ、メジャー、軸をアプリケーションにロードする IncludeModel スクリプト ステートメントを生成します。セマンティック モデルからのメジャーと軸は、自動的にマスター アイテムとして表示され、ビジュアライゼーションですぐに使用できます。

## 前提条件

データ製品とそのセマンティック モデルを利用するには、以下が必要です。

### 権限

共有、管理、データ スペースにあるデータ製品のセマンティック モデルを消費するには、データ製品を含むスペースでデータ消費可能または閲覧可能権限が必要です。

詳細については、「[データ製品のロールと権限](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/data-products-roles-and-permissions.htm)」を参照してください。

### アクセス可能なデータセット

セマンティック モデルに含まれるデータセット、および基になるデータへの接続へのアクセス権が必要です。

### 固有のデータ製品名

データ製品はスペース内で一意の名前を持つ必要があります。アプリケーションがすでに同じ名前のデータ製品を含んでいる場合、セマンティック モデルのロードは失敗します。

## データ製品を介して、データ製品およびセマンティック モデルを利用する

データ製品から直接、アナリティクス アプリケーションを作成できます。データ製品およびそのセマンティック モデルから、データセット、フィールド、マスター アイテムといった要素を選び、利用する対象を絞り込むことができます。

1. データ マーケットプレイスから選択するか、カタログを参照して、データ製品を開きます。

2. データ製品名のヘッダーで、 [使用場所] &gt; [アプリケーション] をクリックします。

   ![アプリケーション アイコンとして使用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-use-in-application.png)

3. 新しいアプリケーションの作成ウィンドウで、セマンティック モデルとロードされるデータを確認します。

4. [Continue] (続行)をクリックします。

   新しく作成されたアプリケーションの データ ロード エディタ が開かれ、データ カタログに移動します。データ製品はデフォルトで選択されていますが、アプリケーションにロードする前に、参照したり、選択を絞り込んだり、データをレビューしたりできます。詳細については、「[データ製品およびセマンティック モデルを介した利用データ ロード エディタ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/consuming-data-products-apps.htm#LoadingCatalog)」を参照してください。

5. 準備ができたら、 [データのロード] をクリックします。

データがロードされたら、シートの追加やアプリケーションでの作業を開始できます。または、データ ロード エディタ に移動して、必要に応じてスクリプトを検査および変更できます。セマンティック モデルのテーブル、リレーションシップ、メジャー、軸が利用可能になりました。

シートでのデータの視覚化の詳細については、「[分析の作成とデータの視覚化](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/creating-analytics-and-visualizing-data.htm)」を参照してください。

## データ製品およびセマンティック モデルを介した利用データ ロード エディタ

データ カタログは、スクリプトを手動で入力する代わりに、データ製品からデータとセマンティック モデルの情報を参照および選択するためのインターフェースを提供します。

データ製品とそのセマンティック モデルをロードするには:

1. アプリケーションを開きます。

2. 上部のナビゲーション バーで [データ ロード エディター] をクリックします。

3. [データの追加] の右パネルで、[データ カタログから追加] をクリックします。

4. データ カタログ モーダルが開き、セマンティック モデルを持つデータ製品を含む利用可能なデータが表示されます。

   ![データ カタログ モーダル](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-load-from-data-catalog.png)

### データ製品の閲覧

データ カタログは、セマンティック モデルを含むデータ製品を表示します。名前、説明、またはタグでデータ製品を閲覧および検索できます。

データ製品をクリックすると、アプリケーション スクリプトにロードされる内容 (テーブル、メジャー、軸など) の概要が表示されます。

セマンティック モデル内のデータセットにアクセスできない場合、警告インジケーターでマークされます。セマンティック モデル内にある、それに関連するメジャーと軸は引き続き利用できますが、アクセスできないデータセットとそのフィールドは除外されます。

### セマンティック モデルの選定と洗練

使用するデータ製品を選択した後、その選択内容をさらに絞り込み、セマンティック モデルのどの構成要素をアプリケーションに含めるかを正確に指定できます。

1. 選択したデータ製品にマウスを重ねて、 [選択を絞り込む] をクリックします。

   ![\[選択を絞り込む\] ビュー](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-load-from-data-catalog_2.png)

   データ製品の要素をナビゲートできる 3 つの新しいタブを利用できます。

   * テーブル/フィールド
   * 軸
   * メジャー

2. チェックボックスを使用して、選択を絞り込み、含めるデータセット、フィールド、メジャー、軸を選択します。

   ヒント メモ

   上級ユーザーは、 [リロード時に追加されたアイテムを自動的に含める] を切り替えることで、セマンティック モデルが変更されたときに新しいアイテムが自動的に含まれるかどうかを制御できます。

   有効にすると、セマンティック モデルに追加された新しいフィールド、メジャー、軸は、リロード時にデータ モデルとマスターアイテムに自動的に追加されます。これは、すべてのフィールド、メジャー、軸がそれぞれチェックされている場合にのみ適用されます。

3. 選択の準備ができたら、 [スクリプトを挿入] をクリックします。

生成された IncludeModel スクリプト は ロード スクリプト に挿入され、 データ ロード エディタ で表示および編集できます。アプリケーションにデータをロードするには、 [データのロード] をクリックします。

データがロードされた後、シートを追加してアプリケーションの作業を開始できます。 詳細については、「[分析の作成とデータの視覚化](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/creating-analytics-and-visualizing-data.htm)」を参照してください。

![データ ロード エディターでの IncludeModel スクリプト](https://help.qlik.com/ja-JP/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/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/IncludeModel.htm)」を参照してください。

## フィールドとテーブルの命名

データ製品がアプリケーションにロードされると、名前の競合を防ぎ、Qlik アナリティクス パターンに従って関係を名前ベースの関連付けに変換するために、フィールド名とテーブル名が自動的に調整される場合があります。

* **リレーションシップのない同名フィールド**: 2 つのテーブルに同名のフィールドが含まれていても、そのフィールド間にリレーションシップがない場合、アプリケーションでの意図しない自動関連付けを防ぐため、フィールド名はテーブル名で自動的に修飾されます (例: `TableName.FieldName`)。

* **関連を持つフィールド**: 2 つのフィールド間に関連性があるものの名​​称が異なる場合、それらがアプリケーションに読み込まれて関連付けが形成される際、両者は同じ名称 (すなわち、その関連性の名称) へと変更されます。

* **複合キー**: 複合キーの場合、新しいキー項目が関連するテーブルに追加されます。

* **同名テーブル**: 2 つのテーブルが同じ名前を持つ場合、数値の接尾辞を付加することで自動的に名前が変更されます。たとえば `TableName_1`、`TableName_2` などとなります。

## 継承されたマスター アイテムでの作業

IncludeModel ステートメントを含むアプリケーションをリロードすると、セマンティック モデルからのメジャーと軸がマスター アイテム パネルに自動的に表示されます。

セマンティック モデルからマスター アイテムを使用するには:

1. セマンティック モデルからデータをロードするには、アプリケーションをリロードしてください。

2. 編集モードでシートを開きます。

3. 左側のパネルで、 [マスター アイテム] をクリックします。

4. セマンティック モデルからのメジャーと軸は、データ製品インジケーターとともにリストに表示されます。

   ![データ製品インジケーター](https://help.qlik.com/ja-JP/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/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/IncludeModel.htm)

[データ製品の使用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/Data-products.htm)

[データ製品におけるセマンティック モデルの管理](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/managing-semantic-models.htm)