我有一个维度表,每天都有一条记录。每条记录都有一个主键,因此示例数据为:
Dimension Table --------------- --------------------------------- | ID | DateTime | --------------------------------- | 1083 | 04/10/2008 10:02:00 PM | ---------------------------------
我要做的是获取具有SQL日期时间值(例如04/10/2008 10:02:00 PM
)的源数据列,并让SSIS派生维度表中的主键应该是什么(1083
在上面的例子中)。我试图将其放入我的包中的数据流中,并避免使用临时表。
我想在数据流期间调用数据库函数让我的SSIS包发现timeid
datetime
条记录。我曾尝试使用DeriveColumn
,但似乎不允许使用T-SQL;而只是内置于ANSI SQL中的函数。
在数据流中是否有另一种方法可以做到这一点?或者我是否需要使用登台表并使用数据流外部的SQLTask
来操纵我的数据?
答案 0 :(得分:5)
如果我了解你,你有一个带有时间维度的数据集市,你需要获得与特定时间相对应的timeId。
如果这是正确的,那么您想要使用Lookup组件。对于参考表,使用类似SELECT timeId, timeStamp FROM TimeDimension
的内容,然后查看保存时间戳的输入列。使用timeId作为输出列,现在数据流中的每一行都将具有与其时间戳对应的timeId。