モデリングの課題を解決する
データのモデリングとは、ビジネスで必要とされる形式でデータを効果的に視覚化できるように、リレーションシップを確立して維持することです。 このようなリレーションシップを作成するときに、一般的に陥りやすい落とし穴として、循環リレーションシップがあります。
たとえば、あなたは営業チームに関するレポートを作成しており、テーブル間のリレーションシップを調べているとします。 適切にデザインされていないセマンティック モデルでは、テーブル 1 にはテーブル 2 の 1 つの列との多対一のリレーションシップがありますが、テーブル 2 には (テーブル 1 との独自のリレーションシップがある) テーブル 3 との一対多のリレーションシップがあります。 どのようなリレーションシップが存在するかが明確ではなくなるため、このような複雑なリレーションシップを管理することは難しく、ビジュアルのビルドは骨の折れるタスクとなります。 そのため、データが使用可能となるように、循環リレーションシップを識別できることが重要です。
リレーションシップの依存関係
循環リレーションシップを理解するには、まず依存関係について理解しておく必要があります。
たとえば、Sales テーブルに次のような計算列 Total があると考えてみましょう。
Sales['TotalCost'] = Sales['Quantity'] * Sales['Price']
TotalCost は Quantity と Price に依存します。そのため、数量または価格のいずれかに変更が発生した場合は、TotalCost にも変更が発生します。 この例では、1 つの列の他の列に対する依存関係を説明していますが、メジャー、テーブル、リレーションシップの間にも依存関係はあります。
dSalesPerson、fSales、dCustomer の間の次のリレーションシップについて考えてみましょう。 dCustomer を変更すると fSales が変更され、dSalesPerson が変更されます。これらの種類の依存関係は、リレーションシップ内に存在することができます。