有没有办法在SSIS中的Dataflow中执行T-SQL代码?

rry*_*man 3 sql t-sql ssis business-intelligence

背景

我有一个维度表,每天都有一个记录.每条记录都有一个主键,因此示例数据将是:

Dimension Table
---------------

---------------------------------
| ID   | DateTime               |
---------------------------------
| 1083 | 04/10/2008 10:02:00 PM |
---------------------------------

我要做的是获取具有SQL日期时间值(例如04/10/2008 10:02:00 PM)的源数据列,并让SSIS从维度表中获取主键(1083在上面的示例中).我试图将其放入我的包中的数据流中,并避免使用登台表.

我想我的数据流中调用数据库函数有我的SSIS包发现timeiddatetime记录.我试图使用,DeriveColumn但似乎不允许使用T-SQL; 而只是内置于ANSI SQL中的函数.

在数据流中是否有另一种方法可以做到这一点?或者我是否需要使用登台表并使用SQLTask数据流外部来操纵我的数据?

Joh*_*ers 5

如果我了解你,你有一个带有时间维度的数据集市,你需要获得与特定时间相对应的timeId.

如果这是正确的,那么您想要使用Lookup组件.对于参考表使用类似的东西SELECT timeId, timeStamp FROM TimeDimension,然后查看保存时间戳的输入列.使用timeId作为输出列,现在数据流中的每一行都将具有与其时间戳对应的timeId.