我有两个来自不同服务器的不同OLE DB源合并到一个合并联接中。我认为我需要使用派生列,根据另一个OLE DB源中某个字段的值,将另一个OLE DB源中的一个字段的值设置为空。例如- OLE DB源1是包括地址字段(街道地址、城市、州、邮政编码)的人口统计源。OLE DB源2具有指示是否发送邮件的字段,如果该字段有'N‘,则不发送邮件。因此,如果OLE DB源2中的do_not_send_mail中有'N‘,我需要我的输出文件不显示地址。我认为在合并联接之后,派生列是执行此操作的最佳方法,但不确定如何执行表达式。
我还没有尝试过派生列,因为我不确定这是否是实现此目的的最佳方法。
我预期的结果是,如果OLE DB源2的do_not_mail列中有'N‘,则地址信息不会显示在文件中。
发布于 2019-03-28 05:55:24
您需要添加一个派生列来替换原始地址列,并使用条件表达式,如下所示(每列一个派生列):
假设您的所有列数据类型都是DT_WSTR且长度= 50
街道地址
[do_not_send_mail] == "N" ? NULL(DT_WSTR,50) : [street address]
城市
[do_not_send_mail] == "N" ? NULL(DT_WSTR,50) : [city]
状态
[do_not_send_mail] == "N" ? NULL(DT_WSTR,50) : [state]
zip
[do_not_send_mail] == "N" ? NULL(DT_WSTR,50) : [zip]
附加信息
https://stackoverflow.com/questions/55386804
复制相似问题