В ожидании уточнения точной ошибки предоставленный синтаксис правильный.[manager_2017] == [manager_2018]
является допустимым выражением SSIS, которое оценивается как логический тип (DT_BOOL).
Я считаю полезным добавить производный столбец перед такими вещами, как условное разделение, и создать явные столбцы для хранения моих логических флагов.Это облегчает добавление средства просмотра данных / потока данных в микс, чтобы убедиться, что я рассмотрел все случаи.
IsSameManager `[manager_2017] == [manager_2018]`
Тогда в моем условном разделении у меня было бы два выходных потока.По умолчанию и новый «Сохраненный менеджер», который я могу затем разделить на один столбец IsSameManager
Я могу подумать о двух вещах, которые могут вызвать ошибку, основываясь на ваших данных примера.Во-первых, в SSIS имена столбцов чувствительны к регистру.Ваша электронная таблица имеет заглавные буквы для первого столбца «Salesperson_id» и строчные буквы для столбцов менеджера.Если они представлены как Manager_2017
, выражение должно измениться на [Manager_2017]
Другая возможность - типизация данных.Если один из этих столбцов был интерпретирован как большой тип данных (DT_NTEXT / DT_TEXT), то сравнение между ним для не большого типа (DT_WSTR, DT_STR) не будет разрешено.