这是当前表的外观:
在该表中,“Y”表示测试日期。
现在我想添加一个名为“TestDate”的列,它将根据“Monday”...和“Sunday”中的值显示测试日期。基本逻辑如下:
IF MONDAY ='Y'
TestDays = 'M' ;
else IF TUESDAY ='Y'
TestDays ='T' ;
....
但是,我不知道如何在 SSIS 中做到这一点。如果我在派生列中使用“?:”,那么它会太长太复杂。有没有人有更好的解决方案?
这是当前表的外观:
在该表中,“Y”表示测试日期。
现在我想添加一个名为“TestDate”的列,它将根据“Monday”...和“Sunday”中的值显示测试日期。基本逻辑如下:
IF MONDAY ='Y'
TestDays = 'M' ;
else IF TUESDAY ='Y'
TestDays ='T' ;
....
但是,我不知道如何在 SSIS 中做到这一点。如果我在派生列中使用“?:”,那么它会太长太复杂。有没有人有更好的解决方案?
使用脚本组件。这样,您就可以在可维护的 .NET 脚本中编写逻辑。
http://msdn.microsoft.com/en-us/library/ms136118.aspx
http://msdn.microsoft.com/en-us/library/ms181225.aspx
如果您不想沿着脚本路线走,但又想保留 '?:'s short ,则可能会将它们分开。
有两个派生列任务,第一个任务为每一天生成一个名称列,第二个任务将这些名称列连接在一起。