Excel でデータ モデルを作成する

適用先
Excel for Microsoft 365 Excel 2024 Excel 2021

データ モデルを使用すると、複数のテーブルのデータを統合して、Excel ワークブック内にリレーショナル データ ソースを効率的に構築できます。 Excel 内では、データ モデルが透過的に使用され、ピボットテーブルとピボットグラフで使用される表形式のデータが提供されます。 データ モデルは、フィールド リスト内のテーブルのコレクションとして視覚化されます。ほとんどの場合、ピボットテーブルのフィールド リストを使用して作業しますが、データ モデルがあることに気付かない場合があります。 

データ モデルの使用を開始する前に、データを取得する必要があります。 そのためには、Power Query Get & Transform エクスペリエンスを使用するので、一歩下がってビデオを見るか、Get & Transform と Power Pivot に関する学習ガイドに従うことをお勧めします。データは、正しく読み込まれて関連付けられるように、(セル範囲だけでなく) テーブル内に配置する必要があります。

前提条件

Power Pivot とは

  • Excel for Microsoft 365 - Power Pivot はリボンに含まれています。

Get & Transform (Power Query) はどこにありますか?

  • Excel for Microsoft 365 - 取得 & 変換 (Power Query) が [データ] タブの Excel と統合されるようになりました。

はじめに

まず、データを取得する必要があります。

  1. 新しいブックを作成するか、データが含まれていないブックを開きます。

  2. Excel for Microsoft 365 のリボンで、[データ] タブを選択します。[データの取得 & 変換] セクションの [データの取得] を選択して、テキスト ファイル、Excel ブック、Web サイト、Microsoft Access、SQL Server、複数の関連テーブルを含む別のリレーショナル データベースなど、任意の数の外部データ ソースからデータをインポートします。

  3. 1 つ以上のテーブルを選択するように求められます。 同じデータ ソースから複数のテーブルを取得する場合は、[複数のアイテムを選択する] ボックスをチェックします。

    1. [ 変換] を選択します。 複数のテーブルを選択すると、Excel によってデータ モデルが自動的に作成されます。 詳細については、「Excel (Power Query) でクエリを作成、読み込み、または編集する」を参照してください。

      これらの例では、クラスと成績に関する架空の学生の詳細を含む Excel ブックを使用しています。 学生 データ モデルのサンプル ブック をダウンロードして、手順に従ってください。 完成 したデータ モデルを含むバージョンをダウンロードすることもできます。

      & 変換 (Power Query) ナビゲーターを取得する

  4. インポートしたすべてのテーブルを含むデータ モデルが作成されました。それらのテーブルは、ピボットテーブルの フィールド リストに表示されます。

  • 2 つ以上のテーブルを同時に Excel にインポートすると、暗黙的にモデルが作成されます。
  • PowerPivot アドインを使用してデータをインポートすると、モデルが明示的に作成されます。 アドインでは、モデルは Excel に似たタブ付きレイアウトで表され、各タブには表形式のデータが含まれています。 SQL Server データベースを使用したデータ インポートの基本については、「Power Pivot アドインを使用したデータの取得」を参照してください。
  • テーブルを 1 つだけ含むモデルを作成することもできます。 1 つのテーブルのみに基づいてモデルを作成するには、テーブルを選択し、[Power Pivot のデータ モデルに追加] をクリックします。 フィルター処理されたデータセット、集計列、集計フィールド、KPI、階層などの Power Pivot の機能を使用する場合に、これを行うことができます。
  • プライマリ キーおよび外部キーのリレーションシップを持つ関連テーブルをインポートする場合、テーブルのリレーションシップは自動的に作成されます。 Excel では、データ モデル内のテーブルのリレーションシップの基準として、通常はインポートしたリレーションシップ情報を利用できます。
  • データ モデルのサイズを縮小する方法に関するヒントについては、「 Excel と PowerPivot を使用してメモリ効率の高いデータ モデルを作成する」を参照してください。
  • 詳細については、「 チュートリアル: Excel にデータをインポートする」および「データ モデルの作成」を参照してください。

ヒント

ブックにデータ モデルがあるかどうかを確認するにはどうすればよいですか? Power Pivot>Manage に移動します。 ワークシートのようなデータが表示されている場合は、モデルが存在しています。 詳細については、「ブックのデータ モデルで使用されているデータ ソースを調べる 」を参照してください。

テーブル間のリレーションシップの作成

次はテーブル間にリレーションシップを作成して、どのテーブルからでもデータを取得できるようにすることです。 各テーブルには、主キー、または学生 ID、クラス番号などの一意のフィールド識別子が必要です。 最も簡単な方法は、これらのフィールドをドラッグ アンド ドロップして Power Pivot の ダイアグラム ビューに接続することです。

  1. Power Pivot>Manage に移動します。

  2. [ ホーム] タブで [ ダイアグラム ビュー] を選択します。

  3. インポートしたテーブルはすべて表示されるので、それぞれのフィールドの数に応じてテーブルのサイズを変更する必要があります。

  4. 次に、主キー フィールドを 1 つのテーブルから次のテーブルにドラッグします。 次の例は、学生テーブルのダイアグラム ビューです。
    Power Query データ モデルのリレーションシップ図ビュー
    次のリンクを作成しました:

    • tbl_Students |学生証 > tbl_Grades |学生証
      つまり、[学生] テーブルの [学生 ID] フィールドを、[成績] テーブルの [学生 ID] フィールドにドラッグします。
    • tbl_Semesters |学期 ID > tbl_Grades |Semester
    • tbl_Classes |クラス番号 > tbl_Grades |クラス番号

    • リレーションシップを作成するためにフィールド名が同じである必要はありませんが、同じデータ型である必要があります。
    • ダイアグラム ビューのコネクタは、片側に "1"、もう片側に "*" があります。 つまり、テーブル間には一対多のリレーションシップがあり、それがピボットテーブルでのデータの使用方法を決定します。 詳細については、「 データ モデルのテーブル間のリレーションシップ 」を参照してください。
    • コネクタは、テーブル間にリレーションシップがあることを示すだけです。 実際には、どのフィールドが相互にリンクされているかは表示されません。 リンクを表示するには、[Power Pivot]>[Manage]>[Design]>[Relationships]>リレーションシップの管理 の順に移動します。 Excel では、[ データ>リレーションシップ] に移動できます。

データ モデルを使ってピボットテーブルまたはピボットグラフを作成する

Excel ブックに含めることができるデータ モデルは 1 つだけですが、このモデルには、ブック全体で繰り返し使用できる複数のテーブルを含めることができます。 既存のデータ モデルにはいつでもテーブルを追加できます。

  1. Power Pivot で、[管理] に移動します。
  2. [ ホーム] タブで、[ ピボットテーブル] を選択します。
  3. ピボットテーブルを配置する場所 (新しいワークシートまたは現在の場所) を選択します。
  4. [ OK] をクリックすると、Excel によって空のピボットテーブルが追加され、右側にフィールド リスト ウィンドウが表示されます。
    Power Pivot ピボットテーブルのフィールド リスト

次に、 ピボットテーブルを作成するか、 ピボット グラフを作成します。 テーブル間のリレーションシップを既に作成している場合は、ピボットテーブルでテーブルの任意のフィールドを使用できます。 学生データ モデルのサンプル ブックでは、リレーションシップを既に作成しています。

既存の関連しないデータをデータ モデルに追加する

モデルで使用する大量のデータをインポートまたはコピーしたが、データ モデルに追加していないとします。 この場合、新しいデータをモデルに追加するのは意外と簡単です。

  1. まず、モデルに追加するデータ内の任意のセルを選択します。 任意の範囲のデータにすることができますが、 Excel のテーブル として書式設定されたデータが最適です。
  2. 以下のいずれかの方法を使用してデータを追加します。
  3. [Power Pivot]>[データ モデルに追加] をクリックします。
  4. [ピボットテーブルの挿入] > をクリックし、[ピボットテーブルの作成] ダイアログ ボックスで [このデータをデータ モデルに追加] チェックします。

これで、範囲またはテーブルがリンク テーブルとしてモデルに追加されます。 モデル内でのリンク テーブルの利用方法については、「Power Pivot の Excel リンク テーブルを使用してデータを追加する」を参照してください。

Power Pivot テーブルにデータを追加する

Power Pivot では、Excel ワークシートで行うように新しい行に直接入力してテーブルに行を追加することはできません。 ただし、 コピーして貼り付けたり、ソース データを更新したり、 Power Pivot モデルを更新したりすることで、行を追加できます。

補足説明

Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。

関連項目

& Transform と PowerPivot 学習ガイドを入手する

Excel (Power Query) でクエリを作成、読み込み、または編集する

Excel と Power Pivot を使用してメモリ効率の高いデータ モデルを作成する

チュートリアル: Excel にデータをインポートし、データ モデルを作成する

ブックのデータ モデルで使用されているデータ ソースを探す

データ モデルのテーブル間のリレーションシップ