Выражение производного столбца SSIS для отображения пустого значения на основе значения другого поля в отдельном источнике OLE DB.

У меня есть два разных источника OLE DB с разных серверов, объединяющихся в объединение слиянием. Я думаю, что мне нужно использовать производный столбец, чтобы поместить значение одного поля в один из источников OLE DB как пустое на основе значения поля в другом источнике OLE DB. Например, OLE DB SOURCE 1 — это источник демографических данных, который включает в себя поля адреса (улица, город, штат, почтовый индекс). OLE DB SOURCE 2 имеет поле с индикатором того, отправлять почту или нет, если это поле имеет ' N' тогда не посылайте почту. Поэтому мне нужно, чтобы мой выходной файл не отображал адрес, если в do_not_send_mail в OLE DB SOURCE 2 есть «N». Я думал, что производный столбец — лучший способ сделать это после объединения слиянием, но не уверен в этом как сделать выражение.

Я еще не пробовал производный столбец, потому что не уверен, что это лучший способ сделать это.

Мои ожидаемые результаты заключаются в том, что информация об адресе не будет отображаться в файле, если в столбце do_not_mail OLE DB SOURCE 2 есть «N».


person danielsvic    schedule 27.03.2019    source источник


Ответы (1)


Вам нужно добавить производный столбец, который заменяет исходный столбец адреса, и использовать условное выражение, как показано ниже (один производный столбец для каждого столбца):

Предполагая, что все ваши типы данных столбца имеют тип 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]

архив

[do_not_send_mail] == "N" ? NULL(DT_WSTR,50) : [zip]

Дополнительная информация

person Hadi    schedule 27.03.2019
comment
Большое спасибо, вы сэкономили мне много времени на этом. Еще раз спасибо. - person danielsvic; 28.03.2019
comment
@danielsvic, если этот ответ решил проблему, вы должны принять его. нажмите на отметку слева от ответа (под стрелками для голосования) - person Hadi; 29.03.2019