本頁是否能提供幫助?
您對此內容的意見反應十分重要。 請告訴我們您的想法。
其他意見反應?
剩餘 1500 個字元
匯出 (0) 列印
全部展開

步驟 5:將一般檔案結構描述轉換成 OrderDetails 資料表的插入結構描述

更新日期: 2015年5月

此主題所列的步驟會說明如何建立 轉換,以將一般檔案訊息結構描述對應至 SQL Server 中 OrderDetails 資料表上 [插入] 作業的結構描述。在建立轉換之前,讓我們先看看這兩個結構描述,然後瞭解在轉換過程中需要執行哪些動作。

以下為這兩個結構描述的快照:

一般檔案及插入結構描述

下表列出對應需求以及用來完成轉換的對應作業:

 

對應是什麼? 如何達成?

來源結構描述的 OrderId 節點會直接對應至目的地結構描述中的 OrderId 節點。

您可以直接連接兩個結構描述中的兩個節點。

由於一般檔案結構描述的 OrderDetails 節點是重複性節點,因此 Quantity 節點中的所有值必須相加,而所得累積值應繼續傳遞至目的地結構描述中的 QuantityOrdered 節點。

由您使用 [累計總和] 對應作業將 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. 在 [工具箱] 的 [清單作業] 類別中,將 [建立清單] 對應作業拖放到 轉換 設計區域上。按兩下該對應作業,選取加號,然後輸入 Amount 做為成員名稱。輸入 [成員類型] 做為 [數字],然後選取 [確定]。

    執行此動作會建立稱為 Amount 的記憶體內部變數。

  5. 在 [清單] 對應作業中加入 [ForEach 迴圈] 對應作業,然後將它連接到來源結構描述中的 OrderDetails 元素。您要這麼做的原因是 OrderDetails 元素是訊息結構描述中的重複性元素。

  6. 在 [ForEach 迴圈] 對應作業中加入 [算術運算式] 對應作業。將 UnitPriceQuantity 元素從來源結構描述連接至此對應作業。接兩下對應作業以開啟 [設定算術運算式] 對話方塊,然後在 [輸入算術運算式] 方塊中輸入 UnitPrice * Quantity

  7. 現在我們已針對每個迭代的 OrderDetails 元素計算 UnitPrice * Quantity 的值。我們現在需要將此值指派給在 [清單] 作業過程中建立的 Amount 變數。若要這麼做,需要在 [ForEach 迴圈] 作業中加入 [加入項目至清單] 作業,並將它連接至 [數學運算式] 作業。這麼做會將 [數學運算式] 對應作業 (為 Unit Price * Quantity) 得出的值指派給 [清單] 作業過程中建立的 Amount 變數。

  8. 一項清單作業中可以定義許多變數。雖然我們在教學課程中只定義一個變數 (Amount),但我們仍需要設定轉換來拾取該變數。為執行此動作,我們使用 [選取項目] 對應作業。

    將 [選取項目] 對應作業拖放至設計介面,並將其連接至 [建立清單] 作業。按兩下 [選取項目] 對應作業 以開啟 [設定選取項目] 對話方塊,再從 [選取成員] 方塊中選取 Amount 的對應核取方塊。

  9. 我們現在需要對 Amount 變數中的值執行累計總和。因此我們會加入 [累計總和] 對應作業,然後將它連接至 [選取項目] 對應作業。按兩下 [累計總和] 對應作業,並在文字方塊中輸入下列運算式:

    item.Amount
    

    我們現在必須將 [累計總和] 對應作業連接至目的地結構描述中的 TotalAmount 元素。這是轉換應有的類似外觀 (僅適用於對應目的地結構描述中的 TotalAmount 元素):

    用於計算總數的對應作業

    note附註
    您也可以到 http://go.microsoft.com/fwlink/?LinkId=247973,查看 FTP_EAI_Tutorial 範例中提供的對應。

另請參閱

顯示:
© 2015 Microsoft