新しいキューブに取り組んでいます。 2つのファクトテーブル間の関係を直接作成することはできません(そして良い結果を期待できます)。
私はこれをどのように実行するかを考えて、例を読んで見ましたが、これがどのように機能するかについて頭を抱えるのに苦労しています。
私の例は、これらの2つのファクトテーブルです。
ファクトテーブルA:
FactDeliveryDriver(測定例:勤続年数)
ファクトテーブルB:
FactDeliveries(メジャーの例:マイル)
これらの各ファクトテーブルには、それらに固有のメジャーが含まれています。これら2つを同じ立方体に入れる必要があります。つまり、driverSidと呼ばれるfactdeliverydriverにプライマリサロゲートキーがあり、deliverySidと呼ばれる実際の配信にプライマリサロゲートキーがあります。私は直接それらをリンクできないことを知っていても、実際に配信されたdriverSidも持っています。
なんらかのブリッジテーブルが必要だと思います。繰り返しますが、私はこれらについて読みましたが、これが2つのファクトテーブルでどのように機能するかを示すものを見つけるのにあまり運がありませんでした。多分私はこれをあまりにも長い間見てきました。
どんな方向/アドバイスでも大歓迎です。
ありがとう。
あなたは事実に焦点を当てており、次元を忘れています。
サービスの年数はDriverの測定可能な属性なので、あなたはFactDeliveryDriverファクトに関連付けられたDriverディメンションが必要です。
driverSid
は、Driverディメンションの代理keyであり、ファクトテーブルの代理ではありません。ファクトテーブルの場合、これはルックアップ列です。
また、配送は(おそらく)ドライバーによって行われるため、FactDeliveriesファクトに関連付けられたドライバーディメンションも必要です。
FactDeliveriesに関連付けられているDeliveryディメンションも存在する必要があります。
単純なスキーマは次のようになります。
Driver(sk_driver, name)
Delivery(sk_delivery, address, date_delivered)
FactDeliveryDriver(fk_driver, val_years_of_service)
FactDeliveries(fk_driver, fk_delivery, val_miles)
ドライバーディメンションは両方のファクトテーブルに共通なので、ドライバーディメンションを使用して、両方のファクトテーブルからメジャーを関連付けることができます。