# データ製品におけるセマンティック モデルの管理

データ製品内で、アナリティクス アプリケーションで利用できるデータ構造、リレーションシップ、メジャー、軸を定義するために、セマンティック モデルを作成および編集できます。

データ製品において、視覚的なモデリング インターフェイスを用いてセマンティック モデルが作成されます。データ製品のセマンティック モデルは、データにアクセス可能なあらゆるアナリティクス開発者が使用できます。データ製品がアクティブ化されると、セマンティック モデルがデータ マーケットプレイスを通じて利用可能になり、本番環境でのユースケースに対応できる状態であることを示します。

## 前提条件

セマンティック モデルを作成する前に、次を確認してください。

* データ製品を作成済みで、それに追加できるデータセットが少なくとも 1 つあること。

  情報メモセマンティック モデルの作業を始める前にデータ製品にデータセットを追加することも、セマンティック モデルを開発しながらデータセットを追加することもできます。

  「[データ製品を作成する](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/Creating-data-products.htm)」を参照してください。

* データ製品を編集する権限があること。

  [データ製品のロールと権限](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/data-products-roles-and-permissions.htm)

* データ製品内のデータセットに、セマンティック モデルに含めようとするテーブルとフィールドが含まれていること。

## セマンティック モデルに情報を追加する

データ製品でセマンティック モデルを開発するには:

1. Launcher メニュー the カタログ icon から、 [] を選択し、セマンティック モデルで作業するデータ製品をクリックします。

2. データ製品の [セマンティック モデル] タブをクリックして、セマンティック モデル エディターを開きます。

   ![セマンティック モデル エディター](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-editor.png)

セマンティック モデル エディターがビジュアル キャンバスで開きます。そこでは、リレーションシップ、メジャー、軸を定義できます。

テーブル ヘッダーをクリックすると、データとその品質のプレビューが表示されます。

### データセットからテーブルを追加する

テーブルは、セマンティック モデルの基盤となります。各テーブルは、データ製品内のデータセットからのデータを表します。

デフォルトでは、セマンティック モデル エディターはデータ製品にすでに存在するテーブルを表示しますが、必要に応じてテーブルを追加できます。

テーブルを追加する方法:

1. セマンティック モデル エディターで、 [テーブル] タブに移動し、 [データの追加] をクリックします。

   ![テーブルの追加](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-add-tables.png)

2. 開いたカタログ ウィンドウから、追加するテーブルを含む 1 つ以上のデータセットを選択し、 [確認] をクリックします。

テーブルまたは複数のテーブルがキャンバス上に表示されます。このプロセスを繰り返して、セマンティック モデルに追加のテーブルを追加します。

### リレーションシップの定義

リレーションシップは、一致するフィールドに基づいてテーブル同士を関連付け、データ全体にわたる連関的なクエリを可能にします。キャンバス上で、それらはテーブル間を接続する線として表示されます。

リレーションシップを作成するには、次を実行します。

* [リレーションシップを作成] ボタンを使用します。

  1. リレーションシップを作成するテーブルのヘッダーをクリックします。または、リレーションシップを作成する特定のフィールドをクリックします。

  2. 開いた右パネルで、[リレーションシップ +] ボタンをクリックします。

     ![\[リレーションシップを作成\] ボタン](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-create-relationship-table.png)

  3. ドロップダウン メニューを使用して、リンクする 2 つのテーブルの名前と、それらの一致するフィールドの名前を選択します。

  4. 名前を追加し、 [リレーションシップのカーディナリティ] (リレーションシップ タイプ) を選択します。リレーションシップ タイプの変更はオプションです。

     フィールド間のリレーションシップ タイプには次が含まれます。

     * **一対一**: 最初のテーブル内の 1 つのレコードが、2 番目のテーブルの 1 つのレコードに対応します。
     * **一対多**: 最初のテーブル内の 1 つのレコードが、2 番目のテーブルの複数のレコードに対応します。
     * **多対多**: 最初のテーブル内の複数のレコードが、2 番目のテーブル内の複数のレコードと一致する可能性があります。
     * **多対一**: 最初のテーブル内の複数のレコードが、2 番目のテーブル内の 1 つのレコードと一致します。

     ![リレーションシップの適用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-create-relationship-table_2.png)

  5. 必要に応じて、説明を追加します。

  6. [適用] をクリックします。

* ドラッグ アンド ドロップを使用します。

  1. フィールドにマウスを合わせ、フィールドの側面に表示されるノードのいずれか 1 つをクリックしたままにします。

  2. ノードをもう一方のテーブルの該当するフィールドまでドラッグ アンド ドロップして、リレーションシップを作成します。

     ![フィールドをドラッグしてリレーションシップを作成する](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-create-relationship-drag-and-drop.png)

* 提案を検討し、検証します。

  Qlik は自動的にリレーションシップを提案します。

  * テーブル間で同じまたは類似の名前を共有するフィールド。

    ![リレーションシップの提案](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-relationship-suggestions.png)

  * Qlik Talend Data Integration データパイプラインのダウンストリームにあるデータ製品の場合、 [セマンティック モデル] を編集する際に、ソース パイプラインからの元のリレーションシップが提案として提供されます。

    これらの提案は、あくまで出発点です。パイプラインでモデル化されたすべてを常に反映しているわけではありません。そのため、内容を確認し、不足しているリレーションシップがあれば手動で追加してください。 制限事項の詳細については、「[データ統合パイプラインによるリレーションシップの提案の制限事項](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/semantic-models-known-issues.htm#PipelineSuggestions)」を参照してください。

    ![データ統合パイプラインのダウンストリームにあるデータ製品におけるリレーションシップの提案](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-relationship-suggestions-data-pipeline.png)

  次の手順を実行します。

  1. 左パネルの [提案] タブを開きます。

  2. 提案されたリレーションシップを確認します。次の操作が可能です。

     * 提案を受け入れる。

     * 提案の [根拠] を展開し、詳細を確認する。例: フィールド名の一致によるものか、アップストリームの Qlik Talend Data Integration データパイプラインで定義されたリレーションシップによるものなのか、など。

     * 提案を閉じる。

情報メモ接続するフィールドが互換性のあるデータ タイプを持ち、利用するアプリケーションでリレーションシップが正しく機能するために一致する値を含んでいることを確認してください。

### 軸の作成

軸は、アナリティクス アプリケーションでデータを分類およびグループ化するために使用されるフィールドです。

軸の作成方法:

1. 左パネルの [軸] タブをクリックし、 [軸を作成] をクリックします。

   ![軸の作成](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-create-dimension.png)

2. 軸に名前を入力します。例: 製品名。

3. [フィールド] ドロップダウン リストを使用して、軸の参照フィールド(`Product` など) を選択します。または、 [Fx] ボタンをクリックして、本格的な数式エディターを開きます。式の記述方法の詳細については、「[式の記述](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/managing-semantic-models.htm#Expressions)」を参照してください。

4. 必要に応じて、軸の目的を文書化するための記述を入力し、タグを追加します。

5. 必要に応じて、 [用語集] で、 [用語集の用語をリンク] をクリックして、その軸を 1 つ以上の用語集の用語にリンクします。

   1. リストから既存の用語を選択するか、 [新しい用語を作成] から、軸にリンクされる新しい用語を追加します。

   2. 用語と軸のリレーションシップを選択します。

      * 定義: 用語には軸の定義が含まれます。定義として設定できる用語は 1 つだけです。

      * 関連: 用語は軸に関連しています。複数の用語を関連用語としてマスター アイテムにリンクできます。

   3. 完了したら、 [選択] をクリックします。

   4. [さらに追加] をクリックして、必要に応じて用語を追加します。

6. [適用] をクリックします。

   ![\[軸の新規作成\] ダイアログ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-create-dimension_2.png)

軸はセマンティック モデルに追加され、利用するアプリケーションでマスター軸として表示されます。

### メジャーの作成

メジャーは、セマンティック モデルを使用するアプリケーションでマスター アイテムとして表示される、計算されたメトリクスです。

メジャーの作成方法:

1. 左パネルの [メジャー] タブをクリックし、 [メジャーを作成] をクリックします。

   ![メジャーの作成](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-create-measure.png)

2. メジャーの名前を入力します。例: 合計売上。

3. [集計] と [フィールド] のドロップダウン リストを使用して、メジャーの背後にある式のパラメーターを選択します。例: `Sum` および `Amount` など。または、 [Fx] ボタンをクリックして、本格的な数式エディターを開きます。式の記述方法の詳細については、「[式の記述](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DataProducts/managing-semantic-models.htm#Expressions)」を参照してください。

4. 必要に応じて、メジャーの目的を文書化するための記述を入力し、タグを追加します。

5. メジャーの [数値書式] のオプションを選択します。

   * 設定される
   * Number
   * Money
   * Date
   * 期間
   * 数式の評価:

   情報メモ[カスタム] オプションは利用できません。

6. 必要に応じて、 [用語集] で、 [用語集の用語をリンク] をクリックして、そのメジャーを 1 つ以上の用語集の用語にリンクします。

   1. リストから既存の用語を選択するか、 [新しい用語を作成] から、メジャーにリンクされる新しい用語を追加します。

   2. 用語とメジャーのリレーションシップを選択します。

      * 定義: 用語にはメジャーの定義が含まれます。定義として設定できる用語は 1 つだけです。

      * 関連: 用語はメジャーに関連しています。複数の用語を関連用語としてマスター アイテムにリンクできます。

   3. 完了したら、 [選択] をクリックします。

   4. [さらに追加] をクリックして、必要に応じて用語を追加します。

7. [適用] をクリックします。

   ![\[メジャーの新規作成\] ダイアログ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-create-measure_2.png)

メジャーがセマンティック モデルに追加されます。アプリケーションがセマンティック モデルを消費すると、メジャーは視覚化で直接使用できるマスター メジャーとして表示されます。

ヒント メモメジャーには、明確で記述的な名前を使用し、アナリティクス開発者がその目的を簡単に理解できるようにしてください。適切な場合は、名前に集計関数を含めます。例: 「平均注文額」や「総売上数」など。

### 式の記述

式エディターでは、Qlik アナリティクス構文を使用して、カスタムのメジャー式と軸式を作成できます。エディターの左側にあるパネルから、[フィールド] と [関数] を利用できます。

![セマンティック モデル編集インターフェイスの式エディター](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-exp-editor.png)

式でのフィールド名の使用に関する留意事項

リレーションシップで使用されるフィールドを参照する場合、式はリレーションシップによって定義された新しいフィールド名を使用する必要があります。たとえば、リレーションシップが異なる名前の 2 つのフィールドを接続する場合、新しいフィールド名は元のフィールド名の組み合わせを使用します。たとえば、Date と Order Date のフィールド間のリレーションシップは、新しいフィールド名 OpenDate-Date となる可能性があります。

これらの新しいフィールド名は、式エディターの [フィールド] セクションに表示されます。セマンティック モデルのキャンバス上でフィールドをクリックして、新しいフィールド名を見つけることもできます。新しいフィールド名は、Qlik アプリケーションでのフィールド名として表示されます。

![セマンティック モデル内のリレーションシップ ベースのフィールドの、期待されるフィールド名を確認する](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/semantic-model-qlik-application-field-name.png)

## セマンティック モデルを編集する

セマンティックモデルを編集するための以下のアクションは、データ製品の有効化の前でも後でも実行できます。

* 左パネルの [テーブル] タブを使用してテーブルを追加します。
* テーブルを選択した後、右パネルでリレーションシップを作成、編集、または削除します。
* 左パネルの [軸] と [メジャー] タブを使用して、軸とメジャーを追加、編集、または削除します。
* 式または記述を更新します。

セマンティック モデルへの変更は、利用するアプリケーションが次回リロードした際に利用可能になります。アプリケーションがワイルドカード セレクターで自動インクルード モードを使用している場合、新しいフィールド、軸、メジャーが自動的に含まれます。

## 式を検証する

完全な式エディターを使用してメジャーと軸を作成または編集する際、式が検証され、正しい構文を使用し、有効なフィールドを参照していることが確認されます。

式にエラーが含まれている場合:

* メジャーまたは軸は警告インジケーターでマークされています。
* エラー メッセージには、「フィールドが見つかりません」または「無効な構文」などの問題の内容が示されます。
* エラーが発生している箇所で、その式が強調表示されます。

検証エラーを修正するには:

1. エラー メッセージを確認し、問題を把握します。
2. 問題を修正するには、式を編集します。
3. 関数名と構文が、Qlik 式構文ルールに従っていることを確認してください。
4. メジャーまたは軸を保存して、式を再検証します。

情報メモ検証エラーのあるメジャーと軸は保存できますが、利用するアプリケーションで正しく機能しない可能性があります。データ製品を本番環境でのユースケースで利用可能にする前に、すべての検証エラーを解決してください。

## データ製品のアクティブ化

データ製品内のセマンティック モデルが本番環境でのユースケースに対応できる状態になったら、アクティブ化できます。「[データ製品をデータ マーケットプレイスでアクティブ化する](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Marketplace/Consuming-in-data-marketplace.htm)」を参照してください。