データ モデルを使用すると、複数のテーブルのデータを統合して、Excel ワークブック内にリレーショナル データ ソースを効率的に構築できます。 Excel 内では、データ モデルが透過的に使用され、ピボットテーブルとピボットグラフで使用される表形式のデータが提供されます。 データ モデルは、フィールド リスト内のテーブルのコレクションとして視覚化されます。ほとんどの場合、ピボットテーブルのフィールド リストを使用して作業しますが、データ モデルがあることに気付かない場合があります。
データ モデルの使用を開始する前に、データを取得する必要があります。 そのためには、Power Query Get & Transform エクスペリエンスを使用するので、一歩下がってビデオを見るか、Get & Transform と Power Pivot に関する学習ガイドに従うことをお勧めします。データは、正しく読み込まれて関連付けられるように、(セル範囲だけでなく) テーブル内に配置する必要があります。
前提条件
- Excel for Microsoft 365 - Power Pivot はリボンに含まれています。
Get & Transform (Power Query) はどこにありますか?
- Excel for Microsoft 365 - 取得 & 変換 (Power Query) が [データ] タブの Excel と統合されるようになりました。
はじめに
まず、データを取得する必要があります。
新しいブックを作成するか、データが含まれていないブックを開きます。
Excel for Microsoft 365 のリボンで、[データ] タブを選択します。[データの取得 & 変換] セクションの [データの取得] を選択して、テキスト ファイル、Excel ブック、Web サイト、Microsoft Access、SQL Server、複数の関連テーブルを含む別のリレーショナル データベースなど、任意の数の外部データ ソースからデータをインポートします。
1 つ以上のテーブルを選択するように求められます。 同じデータ ソースから複数のテーブルを取得する場合は、[複数のアイテムを選択する] ボックスをチェックします。
[ 変換] を選択します。 複数のテーブルを選択すると、Excel によってデータ モデルが自動的に作成されます。 詳細については、「Excel (Power Query) でクエリを作成、読み込み、または編集する」を参照してください。
注
これらの例では、クラスと成績に関する架空の学生の詳細を含む Excel ブックを使用しています。 学生 データ モデルのサンプル ブック をダウンロードして、手順に従ってください。 完成 したデータ モデルを含むバージョンをダウンロードすることもできます。
インポートしたすべてのテーブルを含むデータ モデルが作成されました。それらのテーブルは、ピボットテーブルの フィールド リストに表示されます。
注
- 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 の ダイアグラム ビューに接続することです。
Power Pivot>Manage に移動します。
[ ホーム] タブで [ ダイアグラム ビュー] を選択します。
インポートしたテーブルはすべて表示されるので、それぞれのフィールドの数に応じてテーブルのサイズを変更する必要があります。
次に、主キー フィールドを 1 つのテーブルから次のテーブルにドラッグします。 次の例は、学生テーブルのダイアグラム ビューです。
次のリンクを作成しました:- tbl_Students |学生証 > tbl_Grades |学生証
つまり、[学生] テーブルの [学生 ID] フィールドを、[成績] テーブルの [学生 ID] フィールドにドラッグします。 - tbl_Semesters |学期 ID > tbl_Grades |Semester
- tbl_Classes |クラス番号 > tbl_Grades |クラス番号
注
- リレーションシップを作成するためにフィールド名が同じである必要はありませんが、同じデータ型である必要があります。
- ダイアグラム ビューのコネクタは、片側に "1"、もう片側に "*" があります。 つまり、テーブル間には一対多のリレーションシップがあり、それがピボットテーブルでのデータの使用方法を決定します。 詳細については、「 データ モデルのテーブル間のリレーションシップ 」を参照してください。
- コネクタは、テーブル間にリレーションシップがあることを示すだけです。 実際には、どのフィールドが相互にリンクされているかは表示されません。 リンクを表示するには、[Power Pivot]>[Manage]>[Design]>[Relationships]>リレーションシップの管理 の順に移動します。 Excel では、[ データ>リレーションシップ] に移動できます。
- tbl_Students |学生証 > tbl_Grades |学生証
データ モデルを使ってピボットテーブルまたはピボットグラフを作成する
Excel ブックに含めることができるデータ モデルは 1 つだけですが、このモデルには、ブック全体で繰り返し使用できる複数のテーブルを含めることができます。 既存のデータ モデルにはいつでもテーブルを追加できます。
- Power Pivot で、[管理] に移動します。
- [ ホーム] タブで、[ ピボットテーブル] を選択します。
- ピボットテーブルを配置する場所 (新しいワークシートまたは現在の場所) を選択します。
- [ OK] をクリックすると、Excel によって空のピボットテーブルが追加され、右側にフィールド リスト ウィンドウが表示されます。
次に、 ピボットテーブルを作成するか、 ピボット グラフを作成します。 テーブル間のリレーションシップを既に作成している場合は、ピボットテーブルでテーブルの任意のフィールドを使用できます。 学生データ モデルのサンプル ブックでは、リレーションシップを既に作成しています。
既存の関連しないデータをデータ モデルに追加する
モデルで使用する大量のデータをインポートまたはコピーしたが、データ モデルに追加していないとします。 この場合、新しいデータをモデルに追加するのは意外と簡単です。
- まず、モデルに追加するデータ内の任意のセルを選択します。 任意の範囲のデータにすることができますが、 Excel のテーブル として書式設定されたデータが最適です。
- 以下のいずれかの方法を使用してデータを追加します。
- [Power Pivot]>[データ モデルに追加] をクリックします。
- [ピボットテーブルの挿入] > をクリックし、[ピボットテーブルの作成] ダイアログ ボックスで [このデータをデータ モデルに追加] チェックします。
これで、範囲またはテーブルがリンク テーブルとしてモデルに追加されます。 モデル内でのリンク テーブルの利用方法については、「Power Pivot の Excel リンク テーブルを使用してデータを追加する」を参照してください。
Power Pivot テーブルにデータを追加する
Power Pivot では、Excel ワークシートで行うように新しい行に直接入力してテーブルに行を追加することはできません。 ただし、 コピーして貼り付けたり、ソース データを更新したり、 Power Pivot モデルを更新したりすることで、行を追加できます。
補足説明
Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。
関連項目
& Transform と PowerPivot 学習ガイドを入手する
Excel (Power Query) でクエリを作成、読み込み、または編集する
Excel と Power Pivot を使用してメモリ効率の高いデータ モデルを作成する