次の方法で共有


ピボットテーブルでのリレーションシップの操作

ピボットテーブルを構築する際、従来は、テーブル間の接続が既に確立された OLAP キューブなどの複雑なデータ ソースを使用していましたが、PowerPivot ブックでは、既存のデータ ソースへのデータの追加やテーブル間の独自の接続の構築を自由に行えるようになっています。これによって柔軟性が高まるだけでなく、予期しない結果の原因になる関連付けられていないデータの連結も容易になります。

ここでは、必要なレポートを取得できるように、ピボットテーブルのコンテキストでリレーションシップを操作してデータを接続する方法について説明します。

ピボットテーブルの関連付けられていないデータ: 問題と解決策

ピボットテーブルを作成するときの次のような問題について考えてみましょう。購入記録の地域別の内訳を作成しようとして、購入金額のフィールドを [値] 領域にドロップし、販売地域のフィールドを [列ラベル] 領域にドロップにしましたが、意図した結果を得られませんでした。

無効なピボットテーブル

この問題の解決方法

このような問題は、ピボットテーブルに追加したフィールドは同じブックのものであっても、各列を含むテーブルが関連付けられていない場合に発生します。たとえば、各販売地域の一覧から成るテーブルと、すべての地域の購入記録の一覧から成るテーブルがあるとします。ピボットテーブルを作成して正しい結果を得るには、2 つのテーブルの間のリレーションシップを作成する必要があります。

リレーションシップを作成した後、ピボットテーブルで購入記録テーブルのデータを地域の一覧に正しく組み合わせると、次のような結果が得られます。

有効なピボットテーブル

PowerPivot for Excel には、このようなリレーションシップの問題を自動的に検出して修正するための Microsoft Research (MSR) によって開発されたテクノロジが含まれています。

自動検出機能の使用

自動検出では、ピボットテーブルを含むブックに新しいフィールドを追加するとそのフィールドが確認されます。新しいフィールドがピボットテーブルの列見出しおよび行見出しに関連付けられていない場合、ピボットテーブルの一番上の通知領域にメッセージが表示され、リレーションシップが必要かどうかが示されます。PowerPivot は、新しいデータを分析して潜在的なリレーションシップも検出します。

メッセージを無視してピボットテーブルでの作業を続けることもできますが、[作成] をクリックすると、アルゴリズムによってデータが分析されます。新しいデータの値、ピボットテーブルのサイズと複雑さ、および既に作成済みのリレーションシップによっては、このプロセスに数分かかることがあります。

このプロセスには次の 2 つの段階があります。

  • リレーションシップの検出。分析が完了したら、リレーションシップ候補の一覧を確認できます。取り消さない場合、PowerPivot は自動的に次のステップに進み、リレーションシップを作成します。

  • リレーションシップの作成。リレーションシップが適用されると、確認のダイアログ ボックスが表示され、[詳細] リンクをクリックすると、作成されたリレーションシップの一覧を表示できます。

検出プロセスは取り消すことができますが、作成プロセスは取り消せません。

MSR アルゴリズムは、モデル内のテーブルどうしを関連付けるために "最善の" リレーションシップのセットを探します。アルゴリズムは、列名、列のデータ型、列内の値、およびピボットテーブル内の列を考慮したうえで、新しいデータ用として可能なリレーションシップをすべて検出します。

続いて PowerPivot は、内部ヒューリスティックに基づく "品質" スコアが最も高いリレーションシップを選択します。詳細については、「リレーションシップの概要」および「リレーションシップのトラブルシューティング」を参照してください。

リレーションシップの手動編集

自動検出で正しい結果が得られない場合は、手動でリレーションシップを編集または削除することも、新規に作成することもできます。詳細については、「2 つのテーブル間のリレーションシップの作成」を参照してください。

注意

ピボットテーブルの構築中にリレーションシップまたは新しいデータの追加が必要になった場合は、まず PowerPivot ウィンドウに戻る必要があります。リレーションシップを追加するか必要なデータを変更したら、Excel ブックに戻ることができます。ただし、変更がピボットテーブルに影響する場合は、ブックを再計算する必要があります。

ピボットテーブルの空白行 (不明なメンバー)

ピボットテーブルでは関連するデータ テーブルが連結されるため、キーまたは一致する値で関連付けることができないデータがテーブルに含まれている場合は、そのデータを何らかの方法で処理する必要があります。多次元データベースでは、一致する値がないすべての行を不明なメンバーに割り当てることで一致しないデータを処理します。ピボットテーブルでは、不明なメンバーは空白の見出しとして示されます。

たとえば、売上を店舗別にまとめるピボットテーブルを作成するときに、店舗名が一覧に含まれていないレコードが売上テーブルに含まれている場合は、有効な店舗名がないすべてのレコードが 1 つにまとめられます。

一致しない値をカウントまたは除外する式の例などの詳細については、「DAX の数式のコンテキスト」を参照してください。