Создание дополнительных переменных SSIS ничего не стоит и значительно упрощает отладку.
Я бы добавил новую переменную SSIS, которая называется BaseFileName
, и цель этого - предоставить возможность видеть результаты ваших строковых операций с FileName. Вы не сможете проверить его, если построите его на ограничении объекта / приоритета.
В вашей ситуации вам понадобится взять как можно больше символов слева, и вам нужно выяснить, где дефис существует в строке. Выражение [LEFT][1]
или [SUBSTRING][1]
удовлетворительно примут первые N символов. Выражение [FINDSTRING][1]
- это способ определения позиции искомого символа, дефиса.
LEFT(@[User::FileName, FINDSTRING(@[User::FileName], "-", 1))
Это выражение может быть отключено на единицу, поэтому проверьте полученную строку и добавьте / удалите 1 к результаты FINDSTRING по мере необходимости.
Для пользователей SSIS 2005 LEFT не существует, поэтому перезапись в SUBSTRING выполняется следующим образом (с тем же предостережением о проверке выключения одним)
SUBSTRING(@[User::FileName, 1, FINDSTRING(@[User::FileName], "-", 1))
На данный момент ваше упрощенное ограничение приоритета равно
@[User::BaseFileName] == "ABS_Comment"