0

在我的 SSIS/DW 项目中,我有一个 DIM.DATE 维度,它通过代理键链接到我的 FACT 表,如下所示:

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”列。我很困惑如何让这一切一起工作。

任何人都可以为我解决这个问题?在此处输入图像描述

4

1 回答 1

1

您必须对事实表中的每个 DateKey 字段使用多个 LookUp 转换... 1。

于 2012-11-02T18:17:39.490 回答