Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql SSI在我的事实表中查找多个日期,如何使用一个日期维度实现这一点?_Sql_Ssis_Data Warehouse_Dimensions_Lookup Tables - Fatal编程技术网

Sql SSI在我的事实表中查找多个日期,如何使用一个日期维度实现这一点?

Sql SSI在我的事实表中查找多个日期,如何使用一个日期维度实现这一点?,sql,ssis,data-warehouse,dimensions,lookup-tables,Sql,Ssis,Data Warehouse,Dimensions,Lookup Tables,在我的SSIS/DW项目中,我有一个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导入过程中,我有一

在我的SSIS/DW项目中,我有一个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\u id”列。。我不知道如何使这一切一起工作


有人能帮我澄清一下吗?

您必须使用多个查找转换。。。事实表中的每个DateKey字段为1

好的,还是不太清楚。。如果我的查找列是date\u id,但事实表中有一个名为shipped\u date\u I的列,那么输出别名是否应更改为shipped\u date\u id?因为我之前做过这样的操作:使用复选添加约束更改表FACT.SALES FK_shipped_date外键(shipped_date_id)引用DIM.date(date_id)确定我的问题已解决,我需要将输出列更改为“date_id”以外的内容因为这已经用于另一个日期查找。您还应该有一个正在进行的数据流任务,用于填充日期的查找缓存。这将减少代码并优化处理。