複数のテーブルをインポートすると、Excel によってこれらのテーブル間のリレーションシップが検出され、定義されます。したがって、包括的にデータを使用する場合に手動でリレーションシップを作成したり、複雑な回避策を実装したりする必要はありません。
ただし、Excel でテーブル間のリレーションシップを検出できないこともあります。 その場合は、この記事の情報に従って、リレーションシップの自動検出のトラブルシューティングを行うことができます。 リレーションシップの検出の要件としくみについては、「データ モデルのテーブル間のリレーションシップ」を参照してください。
メッセージ: リレーションシップが見つかりませんでした
既存のピボットテーブルの [値] 領域に、そのピボットテーブルの既存のフィールドとは関連しないフィールドをドラッグした場合、通知バーにはリレーションシップが必要であることを示すメッセージが必ず表示されます。 ただし、通知後はリレーションシップを検出できない場合があります。 これにはさまざまな理由が考えられます。
-
リレーションシップ検出アルゴリズムは、主キー列と類似した名前を持つ外部キー列に依存します。 列名が十分に類似していない場合は、PowerPivot ウィンドウを開いてテーブル間に必要なリレーションシップを手動で作成することをお勧めします。
-
データ型がサポートされていない可能性があります。 ピボットテーブルで使用されているテーブルのいずれかに、サポートされていないデータ型の列のみがある場合、リレーションシップは検出されません。 この場合、[リレーションシップの作成] ダイアログ ボックスを使用して、ピボットテーブル内のアクティブなテーブル間に必要なリレーションシップを手動で作成する必要があります。 詳細については、「2 つのテーブル間のリレーションシップの作成」を参照してください。
ピボットテーブルに関連のないフィールドを追加したが、メッセージが表示されない
リレーションシップの自動検出は、メジャーでのみトリガーされ、ピボットテーブルの行または列のラベルで使用する計算フィールドではトリガーされません。 したがって、ピボットテーブルの作成時、関連しないテーブルを追加しても、フィールドを [値] 領域にドロップしないとリレーションシップは表示されません。
テーブル間に有効なリレーションシップがない
場合によっては、ピボットテーブルに追加したテーブルを他のテーブルに結合できない場合があります。 たとえば、2 つのテーブルに部分的に一致するデータはあるが、既に使用されている他のテーブルに対する論理的リレーションシップが実際にはない場合などです。
他のテーブルに結合できないテーブルをピボットテーブルに追加すると、通常、自動検出では結果が返されません。 その他の場合は、ピボットテーブルでの結果から、フィールドによって有意義な計算結果が生成されないことがわかります。
自動検出によって正しくないリレーションシップが作成される
自動検出によるリレーションシップの作成時には、アルゴリズムによって、すべての可能なリレーションシップの一覧がテーブルの値に基づいて作成され、それらの可能なリレーションシップはその確率に従って順位付けされます。 これに基づき、Excel は最も可能性の高いリレーションシップのみを作成します。 そのため、キーとして使用できる列がテーブルに複数含まれている場合、一部のリレーションシップは順位が低くなる可能性があり、有効な場合でも自動的に作成されません。
自動検出アルゴリズムによってビジネス上の問題を解決しないリレーションシップが提示された場合は、そのリレーションシップを削除し、適切なキー列を使用してリレーションシップを手動で作成する必要があります。 参照: