2015-01-19 2 views
0

У меня есть задача потока данных с Lookup на двух колоннах (ID, SystemModstamp), который имеет три ветви:Задача потока данных SSIS: есть ли способ переместить несколько процессов обратно в один?

  • Match Не найдено - Вставить. Прекрасно работает, когда это было именно так.

... и если совпадение найдено, я просто добавил условное разделение для проверки переменных overwrite_matches ...

  • Если overwrite_matches = «Y», удалить совпадающие строки (TF Удалить Batch внизу изображение), затем вставьте.
  • Если overwrite_matches = 'N', получите количество строк, называемое «no action», и ничего ничего.

Вопрос: Как я могу снять сине-зеленые стрелки в изображении ниже, установите очередность ограничение (я знаю, что они не существуют в задачах потока данных) между #-TF Удалить Batch transform и Derived Column, чтобы производный столбец не выполнялся до тех пор, пока оба не были завершены?

Все, что приходит на ум - это объединение All/Merge/Merge Join, но я не хочу, чтобы поток в удалении # 2 TF удалял нисходящий INSERT, поскольку это уже в потоке # 1. enter image description here

+0

Вы можете выполнить объединение слияния, что заставит Derived Column подождать, а затем просто не будет использовать ни один из столбцов JOINed в вашем последнем INSERT нисходящем потоке, так что это не повлияет. –

+0

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

+0

Поддерживает ли компонент, который является «TF Delete Batch Transform», выходным потоком? – billinkc

ответ

0

Нет. Я просто понял это с Гомером Симпсоном «До!». момент. Из-за Lookup два потока имеют в них разные строки (совпадающие с несогласованными), поэтому нет никакого влияния на то, выполняются ли они одновременно или нет. Изменено удаление TF в TF-вставку, и это хорошо.

Извините за неудобства ребята.

Смежные вопросы