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