If statement SSIS如何做一个长的;“如果声明”;在数据流中?

If statement SSIS如何做一个长的;“如果声明”;在数据流中?,if-statement,ssis,If Statement,Ssis,这是当前表的外观: 在该表中,“Y”表示测试日期 现在我想添加一个名为“TestDate”的列,它将根据“Monday”中的值显示测试日期。。。以及"星期日。基本逻辑如下: IF MONDAY ='Y' TestDays = 'M' ; else IF TUESDAY ='Y' TestDays ='T' ; .... 然而,我不知道如何在SSIS中实现这一点。如果我在派生列中使用“?:”,那么它将太长、太复杂。有谁有更好的解决方案吗?使用脚本组件。这样,您就可以在可维

这是当前表的外观:

在该表中,“Y”表示测试日期

现在我想添加一个名为“TestDate”的列,它将根据“Monday”中的值显示测试日期。。。以及"星期日。基本逻辑如下:

IF  MONDAY ='Y'
    TestDays = 'M' ;
else IF TUESDAY  ='Y'
    TestDays ='T' ;
 ....

然而,我不知道如何在SSIS中实现这一点。如果我在派生列中使用“?:”,那么它将太长、太复杂。有谁有更好的解决方案吗?

使用脚本组件。这样,您就可以在可维护的.NET脚本中编程逻辑



如果您不想继续编写脚本,但想保留您的“?:”太短,则可能会将它们分开


有两个派生列任务,第一个任务为每一天生成一个名称列,第二个任务将这些名称列连接在一起。

Sorry。但这是唯一的办法。你必须写IIF表达式,就这样。数据从哪里来?文件还是数据库?如果是数据库,是什么供应商、版本等?是否会有行完全没有Y?