이 단원에서는 단일 플랫 파일 원본에서 데이터를 추출하고, 두 개의 조회 변환 구성 요소를 사용하여 데이터를 변환하고, 해당 데이터를 AdventureWorksDW2012의 FactCurrency 팩트 테이블에 쓰는 간단한 ETL 패키지를 만듭니다. 이 단원에서는 새 패키지를 만들고, 데이터 원본 및 대상 연결을 추가 및 구성하고, 새 제어 흐름 및 데이터 흐름 구성 요소를 사용하는 방법을 알아봅니다.
중요합니다
이 자습서에는 AdventureWorksDW2012 샘플 데이터베이스가 필요합니다. AdventureWorksDW2012 설치 및 배포에 대한 자세한 내용은 Microsoft SQL Server 제품 샘플: Reporting Services를 참조하세요.
패키지 요구 사항 이해
이 자습서에는 Microsoft SQL Server Data Tools가 필요합니다.
SQL Server Data Tools 설치에 대한 자세한 내용은 SQL Server Data Tools 다운로드를 참조하세요.
패키지를 만들기 전에 원본 데이터와 대상 모두에 사용되는 서식을 잘 이해해야 합니다. 이러한 데이터 형식을 모두 이해하면 원본 데이터를 대상에 매핑하는 데 필요한 변환을 정의할 준비가 됩니다.
원본 보기
이 자습서의 경우 원본 데이터는 플랫 파일 SampleCurrencyData.txt포함된 기록 통화 데이터 집합입니다. 원본 데이터에는 통화의 평균 속도, 통화 키, 날짜 키 및 종료 날짜 비율의 네 개의 열이 있습니다.
다음은 SampleCurrencyData.txt 파일에 포함된 원본 데이터의 예입니다.
1.00070049USD9/3/05 0:001.001201442
1.00020004USD9/4/05 0:001
1.00020004USD9/5/05 0:001.001201442
1.00020004USD9/6/05 0:001
1.00020004USD9/7/05 0:001.00070049
1.00070049USD9/8/05 0:000.99980004
1.00070049USD9/9/05 0:001.001502253
1.00070049USD9/10/05 0:000.99990001
1.00020004USD9/11/05 0:001.001101211
1.00020004USD9/12/05 0:000.99970009
플랫 파일 원본 데이터를 사용하는 경우 플랫 파일 연결 관리자가 플랫 파일 데이터를 해석하는 방법을 이해하는 것이 중요합니다. 플랫 파일 원본이 유니코드인 경우 플랫 파일 연결 관리자는 모든 열을 기본 열 너비가 50인 [DT_WSTR]로 정의합니다. 플랫 파일 원본이 ANSI로 인코딩된 경우 열 너비가 50인 [DT_STR]로 정의됩니다. 문자열 열 형식이 데이터에 더 적합하도록 이러한 기본값을 변경해야 할 수 있습니다. 이렇게 하려면 데이터가 기록될 대상의 데이터 형식을 살펴본 다음 플랫 파일 연결 관리자 내에서 올바른 형식을 선택해야 합니다.
목적지 바라보기
원본 데이터의 최종 대상은 AdventureWorksDW의 FactCurrency 팩트 테이블입니다. FactCurrency 팩트 테이블에는 4개의 열이 있으며 다음 표와 같이 2차원 테이블에 대한 관계가 있습니다.
| 열 이름 | 데이터 형식 | 조회 테이블 | 조회 열 |
|---|---|---|---|
| 평균 비율 | 떠다니다 | 없음 | 없음 |
| 통화키 | int(FK) | DimCurrency | CurrencyKey (PK) |
| 날짜 키 | Int(FK) | DimDate | DateKey(PK) |
| 하루 마지막 환율 | 떠다니다 | 없음 | 없음 |
대상과 호환되도록 원본 데이터 매핑
원본 및 대상 데이터 형식을 분석하면 CurrencyKey 및 DateKey 값에 대한 조회가 필요하다는 것을 나타냅니다. 이러한 조회를 수행하는 변환은 DimCurrency 및 DimDate 차원 테이블의 대체 키를 사용하여 CurrencyKey 및 DateKey 값을 가져옵니다.
| 평면 파일 열 | 테이블 이름 | 열 이름 | 데이터 형식 |
|---|---|---|---|
| 0 | FactCurrency | 평균 비율 | 떠다니다 |
| 1 | 디임커런시 | 통화 대체 키 | nchar (3) |
| 2 | DimDate | 전체날짜대체키 | 날짜 |
| 3 | FactCurrency | 하루 마지막 환율 | 떠다니다 |
학습 과제
이 단원에는 다음 작업이 포함되어 있습니다.