2017-02-03 14 views
1

Я хотел бы реализовать следующую логику в мой Уточняющий запрос как выражение:SSIS: Динамический Поиск Запрос

SELECT ID, 
     CASE @[User::ConnectionStringID] 
     WHEN 1 THEN "NE" 
     WHEN 2 THEN "BALT" 
     WHEN 3 THEN "NY" 
     WHEN 4 THEN "PA" 
     END AS Region 
FROM dbo.Table; 

Мой пакет выполняется в цикле, где строка соединения динамически обновляется с помощью конфигурационного файла и он петли 4 раза, как показано в приведенной выше логике.

Сегодня я понял, что преобразование Lookup не имеет доступных выражений, и я не смог найти другое подходящее решение. Кто-нибудь нашел способ обойти этот или собственный скрипт преобразования?

+0

Если доступ '@@ servername' свойство или что-то похожее на 'SELECT SERVERPROPERTY ('ServerName') As ServerName' вы не можете изменить свое условие? – billinkc

+0

Если у SSIS уже есть необходимая информация для создания столбца без Lookup, используйте Derived Column или другое преобразование. – SQLFox

ответ

3

управления Lookup имеет выражения, но не может получить доступ непосредственно из него просто перейдите к Dataflowtask свойств и получить доступ выражения, как показано на рисунке ниже

enter image description here

+0

Благодарим вас за ответ. Я вижу эти два поля в представлении свойств, но как вы открыли этот редактор выражений для задачи потока данных? –

+0

Нажмите на область ввода данных и нажмите F4, чтобы получить вкладку свойств, как показано на правой стороне изображения. На вкладке свойств щелкните по выражениям – Hadi

+1

При нажатии на свойство выражений на нем появится небольшая кнопка. Нажмите, чтобы открыть это окно. – Hadi