テーブル間のリレーションシップの作成 (チュートリアル)
このレッスンでは、PowerPivot を使用して、さまざまなデータ ソースからのデータ間のリレーションシップを表示および作成します。リレーションシップとは、2 つのデータ テーブルの間の接続であり、これにより、2 つのテーブルのデータの関連付けの方法が決まります。たとえば、DimProduct テーブルと DimProductSubcategory テーブルには、各製品が特定のサブカテゴリに属しているということに基づくリレーションシップがあります。リレーションシップの詳細については、「リレーションシップの概要」を参照してください。
PowerPivot でリレーションシップを作成するには、PowerPivot ウィンドウでテーブルを手動で結合する方法と、データを PowerPivot ブックにインポートするときに PowerPivot for Excel が既存のリレーションシップを検出した場合に自動的に結合する方法があります。2 つのテーブル間にリレーションシップを作成するには、類似データまたは同一データが格納されている列を結合します。たとえば、DimProduct テーブルと DimProductSubcategory テーブルは、両方のテーブルに存在する ProductSubcategoryKey 列によって関連付けられています。これらの列の名前は同じである必要はありませんが、多くの場合は同じ名前です。
必要条件
このトピックは PowerPivot for Excel チュートリアルの一部であり、チュートリアルでの順番に従って実行する必要があります。前提条件およびチュートリアルでの最初の手順については、「PowerPivot for Excel チュートリアルの概要」を参照してください。
リレーションシップを作成する理由
有意義な分析を行うには、データ ソース間にリレーションシップがある必要があります。具体的には、リレーションシップにより、次のことが可能になります。
あるテーブルのデータを関連テーブルのデータの列でフィルター処理する。
複数のテーブルの列を 1 つのピボットテーブルまたはピボットグラフに統合する。
Data Analysis Expressions (DAX) の数式を使用して、関連テーブル内の値を簡単に参照する。
既存のリレーションシップの確認
3 つの異なるソースのデータが、既に PowerPivot ブックにあります。
売上と製品のデータ。これは、Access データベースからインポートしたデータです。このデータと共に既存のリレーションシップも自動的にインポートされています。
製品カテゴリ データ。これは、Access データベースからインポートしたデータです。
Excel スプレッドシートからコピーし、このスプレッドシートにリンクされているデータ。このスプレッドシートには、ストア情報が含まれています。
既存のリレーションシップを確認するには
PowerPivot ウィンドウの [デザイン] タブで、[リレーションシップ] グループにある [リレーションシップの管理] をクリックします。
[リレーションシップの管理] ダイアログ ボックスに、Access データベースを最初にインポートしたときに作成された次のリレーションシップが表示されます。
テーブル
関連する参照テーブル
DimProduct [ProductSubcategoryKey]
DimProductSubcategory [ProductSubcategoryKey]
FactSales [channelKey]
DimChannel [ChannelKey]
FactSales [DateKey]
DimDate [Datekey]
FactSales [ProductKey]
DimProduct [ProductKey]
[閉じる] をクリックします。
異なるソースのデータ間の新しいリレーションシップの作成
自動的に作成されたリレーションシップを確認したので、次に、追加のリレーションシップを作成します。
最初のリレーションシップを作成するには
[ストア] タブをクリックします。
[GeographyKey] 列見出しを右クリックし、[リレーションシップの作成] をクリックします。
[テーブル] フィールドと [列] フィールドは、自動的に入力されます。
[関連する参照テーブル] フィールドで [Geography] をクリックします。
[関連する参照列] フィールドで [GeographyKey] をクリックします。
[作成] をクリックします。
リレーションシップが作成されると、列の上部にアイコンが表示されます。このアイコンの上にポインターを重ねて、リレーションシップの詳細を表示します。
Access と Excel のデータ間に複数のリレーションシップを作成するには
[ストア] タブをクリックします。
[StoreKey] 列をクリックします。
[デザイン] タブで [リレーションシップの作成] をクリックします。
[テーブル] フィールドと [列] フィールドは、自動的に入力されます。
[関連する参照テーブル] フィールドで [FactSales] をクリックします。
[関連する参照列] フィールドで [StoreKey] をクリックします。
[関連する参照列] フィールドの隣にアイコンが表示されます。このアイコンは、このリレーションシップが間違った順序で作成されていることを示します。リレーションシップを作成する場合、[関連する参照列] について一意な値を持つ列を選択する必要があります。
順序を逆にします。[FactSales] を [テーブル] フィールドに移動し、[列] に [StoreKey] を指定します。[関連する参照テーブル] に [Stores] を指定し、[列] に [StoreKey] を指定します。
[作成] をクリックします。
DimProductSubcategory (テーブル) と ProductCategory (参照テーブル) について、両方のテーブルの ProductCategoryKey 列を使用してこの手順を繰り返します。
[リレーションシップの管理] をクリックして一覧を表示し、すべてのリレーションシップが正常に作成されたことを確認します。