2012-06-18 3 views
3

SSIS를 사용하는 데 문제가있어서 누군가 나를 도울 수 있기를 바랍니다. 필자는이 Microsoft 소프트웨어를 처음 사용하며 13 주 기능의 Excel 일정 파일에서 데이터를 가져 오도록 요청 받았습니다. 따라서 데이터는 Excel 파일에서 다음과 같이 표시됩니다.SSIS 동적 엑셀 열 머리글

Person id | Person age| School activity | Activity leader| 18-06-2012 | 25-06-2012 | ..(more weeks) 

1452  | 14  | Painting  | John Smith  | 2   | 6   | ... 

여기서 2와 6은 주당이 활동에 소요 된 시간을 나타냅니다.

사람 ID, 사람 나이, 학교 활동 및 활동 리더는 파일에서 파일로 변경되는 동안이 Excel 파일의 정적 열 머리글, 주 열 머리글입니다.

따라서 파일에서 다른 것으로 문제를 매핑하고 있기 때문에 이러한 데이터 파일을 내 데이터베이스로 가져 오는 방법을 알지 못합니다.

각 주 열에 대해 별도의 행으로 데이터베이스에 배치 할 데이터를 원한다.이를 달성하기 위해 unpivot 변환을 사용하고있다. 내가 원하는 것은 열 머리글에 관계없이 데이터를 가져올 수 있습니다.

+0

항상 동일한 수의 열 또는 파일 당 다른 수의 열이 있습니까? – dodexahedron

+0

예, 있습니다. 변화하는 것은 단지 주간 열입니다. 이번 주에 나는 18-06-2012부터 10-09-2012까지 13 주간을 가지고 있습니다. 다음 주에는 동일한 열이있는 다른 열을 갖지만 주별 열은 25-06-2012부터 17-09-2012까지입니다. –

+0

데이터를 일반 csv 파일로 덤프 할 수 있습니까? 플랫 파일 가져 오기 프로그램은 실제로 열 머리글이 무엇인지는 신경 쓰지 않으므로 일관된 형식의 파일 (예 : 쉼표로 구분 된 13 개의 열)을 가져올 수있는 경우 머리글 행을 건너 뛰고 데이터 자체에서 원하는 조작을 수행하십시오. – dodexahedron

답변

2

데이터를 CSV로 제공 할 수있는 경우 플랫 파일 원본을 사용하고 헤더 열을 건너 뛸 수 있습니다. 단, 예측 가능한 동일한 형식의 열이 항상 동일해야합니다.

unpivot 변환을 사용하여 데이터를 개별 행으로 변환하므로 나머지 작업 방법을 알았습니다.

0

최근이 문제를 해결해야했습니다. 가장 큰 문제는 Excel의 SSIS가 고정 된 열 집합을 필요로한다는 것입니다.

그래서 일련의 파일을 가져 와서 각각에 대해 비슷한 데이터 흐름을 만들었습니다 (열이 다른 부분 만 다름). 그런 다음 파일 열거자를 사용하여 모든 파일을 선택하고 사용할 데이터 흐름에 대한 파일 이름을 기반으로 결정을 내리는 제어 흐름을 둡니다.

우아한 것은 아니지만 잘 작동합니다.

+0

글쎄, 문제는 이렇게, 나는 새 일정 파일을 가지고 때마다 데이터 흐름을 만들어야 할 것입니다. 이 방법이 자동으로 없습니까? –