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