衍生的資料行轉換

「衍生的資料行」轉換會將運算式套用至轉換輸入資料行,藉此建立新的資料行值。 運算式可包含來自轉換輸入之變數、函數、運算子和資料行的任意組合。 結果可加入做為新的資料行,或插入現有資料行做為取代值。 「衍生的資料行」轉換可定義多個衍生的資料行,且任何變數或輸入資料行都可在多個運算式中出現。

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

  • 將不同資料行的資料串連至衍生的資料行中。 例如,您可以使用運算式 ,將 FirstName LastName 資料行的值結合到名為FullName FirstName + " " + LastName的單一衍生資料行中。

  • 使用如 SUBSTRING 的函數從字串資料擷取字元,然後將結果儲存到衍生的資料行中。 例如,您可以使用運算式 ,從 FirstName SUBSTRING(FirstName,1,1)資料行中擷取人員的名字縮寫。

  • 套用數學函數至數值資料,然後將結果儲存到衍生的資料行中。 例如,您可以使用運算式 ,將數值資料行SalesTax ROUND(SalesTax, 2)的長度和有效位數變更為含有兩位小數的數字。

  • 建立比較輸入資料行和變數的運算式。 例如,您可以使用運算式 ,對照 ProductVersion 資料行中的資料比較變數Version ,並根據比較結果,使用 Version ProductVersion ProductVersion == @Version? ProductVersion : @Version的值。

  • 擷取日期時間值的部分。 例如,您可以使用運算式 DATEPART("year",GETDATE()),利用 GETDATE 和 DATEPART 函數擷取目前的年份。

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

設定衍生資料行轉換

您可以利用下列方式設定「衍生的資料行」轉換:

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

    注意

    如果運算式參考「衍生的資料行」轉換所覆寫的輸入資料行,則運算式會使用資料行的原始值,而非衍生的值。

  • 若要將結果加入新資料行,並且資料類型是 string,請指定字碼頁。 如需詳細資訊,請參閱 Comparing String Data

衍生的資料行轉換包括 FriendlyExpression 自訂屬性。 屬性運算式可以在載入封裝時更新這個屬性。 如需詳細資訊,請參閱 在封裝中使用屬性運算式轉換自訂屬性

這個轉換有一個輸入、一個規則輸出及一個錯誤輸出。

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

如需可在 [衍生的資料行轉換編輯器] 對話方塊中設定之屬性的詳細資訊,請參閱 衍生的資料行轉換編輯器

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

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

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

部落格: 如何使用 SSIS 分割資料行資料