共用方式為


衍生欄位轉換

「衍生的數據行」轉換會藉由將表達式套用至轉換輸入數據行,來建立新的數據行值。 表達式可以包含轉換輸入中變數、函數、運算符和數據行的任何組合。 結果可以新增為新的數據行,或插入現有的數據行作為取代值。 衍生的數據行轉換可以定義多個衍生數據行,而且任何變數或輸入數據行都可以出現在多個表達式中。

您可以使用此轉換來執行下列工作:

  • 將來自不同數據行的數據串連至衍生數據行。 例如,您可以使用表示式 FirstName + " " + LastName,將 FirstNameLastName 資料行中的值結合成名為 FullName 的單一衍生數據行。

  • 使用 SUBSTRING 之類的函式從字串數據擷取字元,然後將結果儲存在衍生數據行中。 例如,您可以使用表達式 SUBSTRING(FirstName,1,1),從 FirstName 資料行擷取個人的姓名縮寫。

  • 將數學函數套用至數值數據,並將結果儲存在衍生數據行中。 例如,您可以使用 表示式 ROUND(SalesTax, 2),將數值數據行 SalesTax 的長度和精確度變更為具有兩個小數位數的數位。

  • 建立比較輸入數據行和變數的表達式。 例如,您可以使用 表達式ProductVersion == @Version? ProductVersion : @Version,比較變數 VersionProductVersion 數據行中的數據,並根據比較結果,使用 VersionProductVersion 的值。

  • 擷取日期時間值的某些部分。 例如,您可以使用 GETDATE 和 DATEPART 函數,透過表達式 DATEPART("year",GETDATE()) 來擷取目前的年份。

  • 使用表示式將日期字串轉換成特定格式。

衍生欄位轉換的配置設置

您可以透過下列方式設定衍生的資料列轉換:

  • 為每個將變更的輸入數據行或新數據行提供表達式。 如需詳細資訊,請參閱 Integration Services (SSIS) 運算式

    備註

    如果表達式參考衍生數據行轉換所覆寫的輸入數據行,則表達式會使用數據行的原始值,而不是衍生值。

  • 如果將結果新增至新的資料行,且數據類型為 string,請指定代碼頁。 如需詳細資訊,請參閱 Comparing String Data

衍生的數據行轉換包含FriendlyExpression 自定義屬性。 載入封裝時,可以透過屬性表達式來更新這個屬性。 如需詳細資訊,請參閱 在封裝中使用屬性表達式轉換自定義屬性

此轉換有一個輸入、一個一般輸出和一個錯誤輸出。

您可以透過 SSIS 設計師或以程式設計方式設定屬性。

如需您可以在 (衍生欄位轉換編輯器) 對話框中設定之屬性的詳細資訊,請參閱 衍生欄位轉換編輯器。

[進階編輯器] 對話方塊會反映能以程式設計的方式設定之屬性。 如需有關可以在 [進階編輯器] 對話方塊中或以程式設計方式設定之屬性的詳細資訊,請按下列其中一個主題:

如需有關如何設定屬性的詳細資訊,請按下列其中一個主題:

social.technet.microsoft.com 上的技術文章 SSIS 運算式範例

部落格: 如何使用 SSIS 分割數據行數據