私の SSIS/DW プロジェクトには、次のように代理キーによって FACT テーブルにリンクされている DIM.DATE ディメンションがあります。
ALTER TABLE FACT.SALES ADD date_id INT NOT NULL
ALTER TABLE FACT.SALES WITH CHECK ADD CONSTRAINT FK_dim_date FOREIGN KEY (date_id) REFERENCES DIM.DATE(date_id)
これにより、ファクト テーブルに "date_id" が作成されます。SSIS インポート プロセス中に日付列が渡されます (shipped_date)。これを使用して DIM.DATE テーブルを検索し、ディメンションの代理キーを渡します。
これはうまく機能しますが、請求書の日付、受領日などにいくつかの異なる日付ディメンションが必要です.
これを行うために既存の DIM.DATE を使用する方法について混乱していますか?
その後、ファクト テーブルにさらに列を追加できます。
-- add column into fact table
ALTER TABLE FACT.SALES ADD shipped_date_id INT NOT NULL
ALTER TABLE FACT.SALES ADD invoice_date_id INT NOT NULL
-- add foreign key
ALTER TABLE FACT.SALES WITH CHECK ADD CONSTRAINT FK_shipped_date FOREIGN KEY (shipped_date_id) REFERENCES DIM.DATE(date_id)
ALTER TABLE FACT.SALES WITH CHECK ADD CONSTRAINT FK_invoice_date FOREIGN KEY (invoice_date_id) REFERENCES DIM.DATE(date_id)
しかし、ルックアップを行うときは、「date_id」列のみを渡すことができます..これをすべて一緒に機能させる方法がわかりません。
私のためにこれを片付けることができる人はいますか?