欢迎投稿

今日深度:

SSIS中的容器和数据流—数据转换(1)

SSIS中的容器和数据流—数据转换(1)


对数据流来说按照需求将数据转换成需要的格式是数据操作中的一个关键的步骤。例如想要得到聚合排序后的运算结果,转换可以实现这种操作。和SQL Server 2000 DTS完全不同,这些操作不需要编写script,所有的运算都在内存中进行。添加一个数据转换之后,数据直接转换成想要的格式然后传递给下一个步骤,由于是在内存中完成运算操作的,不需要在数据库中建立对象来存储这些操作函数。但是当需要处理大批量的数据时,还是需要建立存储表或其他对象来处理的。

在data flow面板中拖放一个转换,鼠标点住然后拖放绿色连线到一个目的Destination,然后就可以双击并编辑这个转换。这部分将从最基本的功能开始讲解转换,下一部分将会做一些实验操作,并在实际盛传环境中来使用它。还有一些更高级的转换着这里不会讲解,把他们放在下一个随笔中讲解,这些高级的转换包括:

其中一些转换不是很复杂,只是在SSIS没有UI支持,要想使用它们需要使用Visual Studio中的高级编辑器。

聚合Aggregate

聚合转换可以像T-SQL中的函数GROUP BY, Average, Minimum, Maximum, 和 Count一样对数据进行聚合运算。在图4-13中可以看到数据以OrderDate,ProductLine分组,对LineTotal做求和操作。这样产生了三列新的数据,供其他操作。

 

图4-16

在聚合操作编辑器Aggregate Transformation Editor,首先选择需要进行聚合操作的列,然后选中的列将会出现在下面的一个表里面在Output Alias列里面输入输出列的别名。例如如果想输出每个订单的总量,这里修改为SubTotal,这样可以更容易的识别出这一列的目的。最重要的以个设置是在Operation这一列选择聚合操作。它有一面一些选项。

点击Advanced标签界面,在这个界面可以编辑转换输出。在Advanced界面可以输入聚合计算的名字,产生一个新的列。在Advanced标签界面,最关键的选择项是设置转换时的缓存,使它在一个合适的水平。例如较低水平设置为500000条,中等水平设置为5000000条,较高水平设置为25000000条。也可以使用Number of Keys属性设置具体数值。Auto Extend Factor属性设置转换可以使用的内存量,默认的值是25%,也可以设置其他选项保证RAM占用量。Warn On Division by Zero单选框用来处理求平均值时被除数是0,如果没有选择,转换失败将不会给出任何提示。

审核转换

审核转换允许对数据流添加审核审核数据,以往使用HIPPA和Sarbanes-Oxley (SOX)时,必须跟踪谁在什么时插入数据,审核转换可以实现这种功能。例如要跟踪那一个task向表里插入数据,可以在审核转换中添加相应的列。在Output Column Name列中输入想要审核的列,在Audit Type内选择审核类型如图4-17,可以选择的类型有:

 

图4-17


www.htsjk.Com true http://www.htsjk.com/shujukujc/18865.html NewsArticle SSIS中的容器和数据流—数据转换(1) 对数据流来说按照需求将数据转换成需要的格式是数据操作中的一个关键的步骤。例如想要得到聚合排序后的运算结果,转换可以实现这种操作。和...
评论暂时关闭