次の方法で共有


リレーションシップのトラブルシューティング

このトピックでは、PowerPivot for Excel の自動リレーションシップ検出のトラブルシューティングに関する情報について説明します。 手動で作成されるリレーションシップの要件については、「リレーションシップの概要」の「リレーションシップの要件」を参照してください。 自動検出の動作については、「リレーションシップの概要」の「リレーションシップの自動検出と自動推定」を参照してください。

リレーションシップの自動検出のトラブルシューティング

次のセクションでは、PowerPivot for Excel がリレーションシップの検出に失敗する一般的なシナリオをいくつか示します。

メッセージ: リレーションシップが検出されない

既存のピボットテーブルの [値] 領域に、そのピボットテーブルの既存のフィールドとは関連しないフィールドをドラッグした場合、通知バーにはリレーションシップが必要であることを示すメッセージが必ず表示されます。ただし、通知後はリレーションシップを検出できない場合があります。これにはさまざまな理由が考えられます。

  • リレーションシップ検出アルゴリズムは、主キー列と類似した名前を持つ外部キー列に依存します。列名が十分に類似していない場合は、PowerPivot ウィンドウを開いてテーブル間に必要なリレーションシップを手動で作成することをお勧めします。

  • データ型がサポートされていない可能性があります。ピボットテーブルで使用されているテーブルのいずれかに、サポートされていないデータ型の列のみがある場合、リレーションシップは検出されません。この場合、[リレーションシップの作成] ダイアログ ボックスを使用して、ピボットテーブル内のアクティブなテーブル間に必要なリレーションシップを手動で作成する必要があります。詳細については、「2 つのテーブル間のリレーションシップの作成」を参照してください。

メッセージ: リレーションシップをこれ以上作成できない

このメッセージは、リレーションシップを作成しようとしたときに表示される場合があります。この場合、結合しようとしている 2 つのテーブル間にリレーションシップが既に存在している可能性があります。

リレーショナル データ ソースから複数のテーブルを同時にインポートすると、通常、PowerPivot for Excel によってリレーションシップが自動的に検出されて作成されます。2 つのテーブル間にはリレーションシップを 1 つしか作成できないので、選択したテーブルの間にリレーションシップが既に定義されている可能性があります。既存のリレーションシップの一覧を確認するには、[リレーションシップの管理] ダイアログ ボックスを使用します (「リレーションシップの表示および編集」を参照)。

ピボットテーブルに関連のないフィールドを追加したが、メッセージが表示されない

リレーションシップの自動検出は、メジャーでのみトリガーされ、ピボットテーブルの行または列のラベルで使用する計算フィールドではトリガーされません。したがって、ピボットテーブルの作成時、関連しないテーブルを追加しても、フィールドを [値] 領域にドロップしないとリレーションシップは表示されません。

テーブル間に有効なリレーションシップがない

場合によっては、ピボットテーブルに追加したテーブルを他のテーブルに結合できない場合があります。たとえば、2 つのテーブルに部分的に一致するデータはあるが、既に使用されている他のテーブルに対する論理的リレーションシップが実際にはない場合などです。

他のテーブルに結合できないテーブルをピボットテーブルに追加すると、通常、自動検出では結果が返されません。その他の場合は、ピボットテーブルでの結果から、フィールドによって有意義な計算結果が生成されないことがわかります。

自動検出によって正しくないリレーションシップが作成される

自動検出によるリレーションシップの作成時には、アルゴリズムによって、すべての潜在的リレーションシップの一覧がテーブルの値に基づいて作成され、潜在的リレーションシップがその確率に従って順位付けされます。次に、PowerPivot for Excel によって最も可能性の高いリレーションシップのみが作成されます。そのため、キーとして使用できる列がテーブルに複数含まれている場合、一部のリレーションシップは順位が低くなる可能性があり、有効な場合でも自動的に作成されません。

自動検出アルゴリズムによってビジネス上の問題を解決しないリレーションシップが提示された場合は、そのリレーションシップを削除し、適切なキー列を使用してリレーションシップを手動で作成する必要があります。