2017-02-01 12 views
0

Я пытаюсь объединить данные из нескольких столбцов excel в один столбец и хочу избежать копирования и вставки его вручную каждый раз, когда я получаю файл.Объединение столбцов SSIS

Данные будут поступать в таком формате:

C1 C2  C3  Date1 Date2 Date3 ... DateN 
text text2 text3 ### ### ###  ### 
text text2 text3 ### ### ###  ### 

Конечной целью является, чтобы иметь все даты в колонке сами по себе и иметь все значения в столбце рядом с их соответствующих дат для загрузки в таблица MSS, подобная такой:

C1 C2  C3  Results Date 
text text2 text3 ###  Date1 
text text2 text3 ###  Date1 
text text2 text3 ###  Date2 
text text2 text3 ###  Date2 
text text2 text3 ###  Date3 
text text2 text3 ###  Date3 

До сих пор я рисую пробел о том, что можно сделать для автоматизации этого.

ответ

3

SSIS Unpivot Transformation; он делает именно то, что вам нужно. Единственное предостережение - номер Дата колонки должны быть исправлены до разработки и запуска пакета SSIS; вы не можете обрабатывать динамическое число столбцов в SSIS с встроенными преобразованиями.

+0

Это выглядит довольно многообещающе. Вы знаете, есть ли способ написать компонент скрипта, который мог бы учитывать количество столбцов или узнать количество заранее, единственный способ? – Bigby

+0

@Bigby, это краеугольный камень. SSIS должен знать и устанавливать в макете данных пакета (метаданные), включая имя столбца, формат и т. Д. ** перед тем, как он будет выполняться. Кроме того, SSIS проверяет соответствие между метаданными и реальной ситуацией при запуске пакета и запускает ошибку, если не соответствует. Если вы действительно хотите обрабатывать переменное количество столбцов - получите данные из таблицы с помощью команды 'select * from ...' и поместите в переменную Object и обработайте ее в задаче Script. – Ferdipux