ピボットテーブルでのリレーションシップの操作
ピボットテーブルを構築する際、従来は、テーブル間の接続が既に確立された OLAP キューブなどの複雑なデータ ソースを使用していましたが、 PowerPivot ブックでは、既存のデータ ソースへのデータの追加やテーブル間の独自の接続の構築を自由に行えるようになっています。 これによって柔軟性が高まるだけでなく、予期しない結果の原因になる関連付けられていないデータの連結も容易になります。
ここでは、必要なレポートを取得できるように、ピボットテーブルのコンテキストでリレーションシップを操作してデータを接続する方法について説明します。
ピボットテーブルの関連付けられていないデータ: 問題と解決策
ピボットテーブルを作成するときの次のような問題について考えてみましょう。 購入記録の地域別の内訳を作成しようとして、購入金額のフィールドを [値] 領域にドロップし、販売地域のフィールドを [列ラベル] 領域にドロップにしましたが、 意図した結果を得られませんでした。
この問題の解決方法
このような問題は、ピボットテーブルに追加したフィールドは同じブックのものであっても、各列を含むテーブルが関連付けられていない場合に発生します。 たとえば、各販売地域の一覧から成るテーブルと、すべての地域の購入記録の一覧から成るテーブルがあるとします。 ピボットテーブルを作成して正しい結果を得るには、2 つのテーブルの間のリレーションシップを作成する必要があります。
リレーションシップを作成した後、ピボットテーブルで購入記録テーブルのデータを地域の一覧に正しく組み合わせると、次のような結果が得られます。
PowerPivot for Excel には、このようなリレーションシップの問題を自動的に検出して修正するための Microsoft Research (MSR) によって開発されたテクノロジが含まれています。
自動検出機能の使用
自動検出では、ピボットテーブルを含むブックに新しいフィールドを追加するとそのフィールドが確認されます。 新しいフィールドがピボットテーブルの列見出しおよび行見出しに関連付けられていない場合、ピボットテーブルの一番上の通知領域にメッセージが表示され、リレーションシップが必要かどうかが示されます。 PowerPivot は、新しいデータを分析して潜在的なリレーションシップも検出します。
メッセージを無視してピボットテーブルでの作業を続けることもできますが、[作成] をクリックすると、アルゴリズムによってデータが分析されます。 新しいデータの値、ピボットテーブルのサイズと複雑さ、および既に作成済みのリレーションシップによっては、このプロセスに数分かかることがあります。
このプロセスには次の 2 つの段階があります。
リレーションシップの検出。 分析が完了したら、リレーションシップ候補の一覧を確認できます。 取り消さない場合、PowerPivot は自動的に次のステップに進み、リレーションシップを作成します。
リレーションシップの作成。 リレーションシップが適用されると、確認のダイアログ ボックスが表示され、[詳細] リンクをクリックすると、作成されたリレーションシップの一覧を表示できます。
検出プロセスは取り消すことができますが、作成プロセスは取り消せません。
MSR アルゴリズムは、モデル内のテーブルどうしを関連付けるために "最善の" リレーションシップのセットを探します。 アルゴリズムは、列名、列のデータ型、列内の値、およびピボットテーブル内の列を考慮したうえで、新しいデータ用として可能なリレーションシップをすべて検出します。
続いて PowerPivot は、内部ヒューリスティックに基づく "品質" スコアが最も高いリレーションシップを選択します。 詳細については、「リレーションシップの概要」および「リレーションシップのトラブルシューティング」を参照してください。
リレーションシップの手動編集
自動検出で正しい結果が得られない場合は、手動でリレーションシップを編集または削除することも、新規に作成することもできます。 詳細については、「2 つのテーブル間のリレーションシップの作成」を参照してください。
注 |
---|
ピボットテーブルの構築中にリレーションシップまたは新しいデータの追加が必要になった場合は、まず PowerPivot ウィンドウに戻る必要があります。 リレーションシップを追加するか必要なデータを変更したら、Excel ブックに戻ることができます。 ただし、変更がピボットテーブルに影響する場合は、ブックを再計算する必要があります。 |
ピボットテーブルの空白行 (不明なメンバー)
ピボットテーブルでは関連するデータ テーブルが連結されるため、キーまたは一致する値で関連付けることができないデータがテーブルに含まれている場合は、そのデータを何らかの方法で処理する必要があります。 多次元データベースでは、一致する値がないすべての行を不明なメンバーに割り当てることで一致しないデータを処理します。 ピボットテーブルでは、不明なメンバーは空白の見出しとして示されます。
たとえば、売上を店舗別にまとめるピボットテーブルを作成するときに、店舗名が一覧に含まれていないレコードが売上テーブルに含まれている場合は、有効な店舗名がないすべてのレコードが 1 つにまとめられます。