3

背景

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

尺寸表
---------------

---------------------------------
| 身份证 | 日期时间 |
---------------------------------
| 1083 | 2008 年 4 月 10 日晚上 10:02:00 |
---------------------------------

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

我想在我的数据流期间调用一个数据库函数,让我的 SSIS 包发现timeid记录datetime。我尝试过使用DeriveColumn,但这似乎不允许使用 T-SQL;而只是内置在 ANSI SQL 中的函数。

问题

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

4

1 回答 1

5

如果我理解您,您有一个具有时间维度的数据集市,并且您需要获取与特定时间对应的 timeId。

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

于 2009-05-08T01:38:47.820 回答