5단계: 플랫 파일 스키마를 OrderDetails 테이블용 삽입 스키마로 변환

업데이트 날짜: 2015년 8월

이 항목에서는 플랫 파일 메시지 스키마를 SQL Server의 OrderDetails 테이블에 대한 Insert 작업의 스키마에 매핑하는 변환을 만드는 단계에 대해 설명합니다. 변환을 만들기 전에 두 스키마를 살펴본 다음 변환의 일부분으로 수행해야 하는 작업에 대해 알아보겠습니다.

아래에 두 스키마의 스냅숏이 나와 있습니다.

플랫 파일 및 스키마 삽입

다음 테이블에는 이러한 단계를 수행하는 데 사용되는 매핑 작업 및 매핑 요구 사항이 나와 있습니다.

 

매핑할 항목 수행 방법

소스 스키마의 OrderId 노드는 대상 스키마의 OrderId 노드에 직접 매핑됩니다.

두 스키마의 두 노드를 직접 연결합니다.

플랫 파일 스키마의 OrderDetails 노드는 반복 노드이므로 Quantity 노드의 모든 값을 더한 다음 누적 값을 대상 스키마의 QuantityOrdered 노드로 전달해야 합니다.

Cumulative Sum 매핑 작업을 사용하여 QuantityQuantityOrdered 노드를 연결합니다.

대상 스키마의 TotalAmount 노드는 모든 항목의 누적 값을 포함해야 합니다(Unit Price * Quantity).

이 규칙을 설정하는 방법에 대한 지침은 TotalAmount 요소에 매핑하려면에서 제공됩니다.

  1. Visual Studio에서 FTP_EAI_Tutorial 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 선택합니다.

  2. 새 항목 추가에서 을 선택하고 이름으로 Map.trfm을 입력한 후에 확인을 선택합니다.

  3. 솔루션 탐색기에서 Map.trfm 파일을 두 번 클릭하여 변환을 엽니다. 변환 디자인 영역에서 소스 스키마를 PO.xsd로, 대상 스키마를 FTPEAITutorial_TableOperation.dbo.OrderDetails.xsd로 설정합니다.

  4. 도구 상자List 작업 범주에서 Create List 매핑 작업을 끌어서 변환 디자인 영역에 놓습니다. 매핑 작업을 두 번 클릭하고 더하기 기호를 선택한 후에 멤버 이름으로 Amount를 입력합니다. 멤버 유형번호로 입력하고 확인을 선택합니다.

    이 작업을 수행하면 Amount라는 메모리 내 변수가 만들어집니다.

  5. List 매핑 작업 내에서 ForEach Loop 매핑 작업를 추가한 다음 소스 스키마의 OrderDetails 요소에 연결합니다. 이 작업을 수행하는 이유는 OrderDetails 요소가 메시지 스키마의 반복 요소이기 때문입니다.

  6. ForEach Loop 매핑 작업 내에서 Arithmetic Expression 매핑 작업을 추가합니다. 소스 스키마의 UnitPriceQuantity 요소를 이 매핑 작업에 연결합니다. 매핑 작업을 두 번 클릭하여 산술 식 구성 대화 상자를 연 다음 산술 식 입력 상자에 UnitPrice * Quantity를 입력합니다.

  7. 지금까지 OrderDetails 요소의 각 반복에 대해 UnitPrice * Quantity 값을 계산했습니다. 이제 List 작업의 일부분으로 만든 Amount 변수에 이 값을 할당해야 합니다. 이렇게 하려면 ForEach 루프 내에 목록에 항목 추가 작업을 포함한 다음 산술 식 작업에 연결합니다. 이렇게 하면 Arithmetic Expression 매핑 작업의 값(Unit Price * Quantity)이 List 작업의 일부분으로 만든 Amount 변수에 할당됩니다.

  8. List 작업에서는 여러 변수를 정의할 수 있습니다. 이 자습서에서는 변수를 Amount 하나만 정의했지만 해당 변수를 선택하려면 변환도 구성해야 합니다. 이렇게 하려면 Select Entries 매핑 작업을 사용합니다.

    Select Entries 매핑 작업을 끌어서 디자인 화면에 놓은 다음 목록 만들기 작업에 연결합니다. Select Entries 매핑 작업을 두 번 클릭하여 항목 선택 구성 대화 상자를 연 다음 멤버 선택 상자에서 Amount의 확인란을 선택합니다.

  9. 이제 Amount 변수 값의 누적 합을 구해야 합니다. 따라서 Cumulative Sum 매핑 작업을 추가한 다음 Select Entries 매핑 작업에 연결합니다. Cumulative Sum 매핑 작업을 두 번 클릭하고 텍스트 상자에 다음 식을 입력합니다.

    item.Amount
    

    이제 Cumulative Sum 매핑 작업를 대상 스키마의 TotalAmount 요소에 연결해야 합니다. 이 경우의 변환은 다음과 같습니다. 이 변환에서는 대상 스키마의 TotalAmount 요소만 매핑합니다.

    총 양을 계산하기 위한 매핑 작업

    note참고
    http://go.microsoft.com/fwlink/?LinkId=247973에서 제공되는 FTP_EAI_Tutorial 샘플의 일부분으로 사용 가능한 맵을 확인할 수도 있습니다.

참고 항목

표시: