新建日期: 2006 年 4 月 14 日
在此任务中,将派生列转换添加到包。派生列转换是一个数据流组件,它通过使用数据集、常量和变量中的值或通过应用函数来创建新的数据值。将使用此转换添加新列,再用表达式的计算结果填充该列。
派生列转换的用户界面包括表达式生成器。此图形工具使用户轻松地使用拖放操作快速编写复杂表达式,并提供用于函数、类型转换和运算符的模板以及输入列和变量。
在派生列转换中,将创建一个表达式,用于串联数据集的 FirstName、MiddleInitial 和 LastName 列中的值,再将结果写入新列。由于中间名首字母可能为空,因此表达式将包括此列的特殊处理。新列 FullName 将被添加到转换输出。
添加派生列转换
如果数据流设计器尚未打开,请打开它,方法是双击**“数据流任务”或单击“数据流”**选项卡。
在**“工具箱”中,展开“数据流转换”,再将“派生列”转换拖动到“数据流”选项卡的设计图面上,使其位于“Sort by State and City”**的下方。
在**“数据流”设计图面上,右键单击新添加的“派生列”,单击“重命名”**,再将该名称更改为 Add FullName Column。
单击**“Sort by State and City”,再将其绿色箭头拖动到“Add FullName Column”**。
双击**“Add FullName Column”以打开“派生列转换编辑器”**对话框。
在左窗格中,展开“列”文件夹,单击 FirstName 列,再将它拖动到**“表达式”**框。
在**“表达式”**框中,在 [FirstName] 后键入 + " " +。
在“列”文件夹中,单击 MiddileInitial 列,再将它拖动到**“表达式”**框。
将 [MiddleInitial] 更新为 (ISNULL(MiddleInitial) ? "" : MiddleInitial + " ") +。
在“列”文件夹中,单击 LastName 列,再将它拖动到**“表达式”**框。
验证**“表达式”**框中的值是否为以下值:
FirstName + " " + (ISNULL([MiddleInitial]) ? "" : [MiddleInitial] + " ") + [LastName]
您还可以删除表达式中括起列名的方括号。列名是常规标识符,不需要用方括号括起来。包含无效字符(如空格)的名称必须用方括号括起来。如果表达式键入得不正确,则其文本将以红色显示。
在刚创建的行的**“派生列”框中,选择“<作为新列添加>”**。
在同一行的**“派生列名称”**框中,键入 FullName。
如果**“数据类型”框尚未设置为“Unicode string [DT_WSTR]”,请在“数据类型”列表中选择“Unicode string [DT_WSTR]”**。
将**“长度”**框的值设置为 103(FirstName、MiddleInitial 和 LastName 列以及两个空格的长度的总和)。
单击**“确定”**。
在“属性”窗口中,验证是否已将 LocaleID 属性设置为**“英语(美国)”**。
课程中的下一个任务
请参阅
其他资源
派生列转换
Integration Services 表达式参考