热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[转]SSIS数据转换组件_派生列、审核、字符映射转换和条件性拆分转换

本文转自:http:www.cnblogs.comgudujianxiaoarchive201204142446925.html一派生列派生列转换通过对输入列进行类型转换或应用

本文转自:http://www.cnblogs.com/gudujianxiao/archive/2012/04/14/2446925.html

 

派生列

派生列转换通过对输入列进行类型转换或应用表达式得出新的结果。这个结果可以作为新列添加,也可以替换输入列。可以使用此转换执行下列任务:

  1.将不同列的数据连接到一个派生列中。例如,可以使用表达式 FirstName + " " + LastName 将
FirstNameLastName 列中的值组合到名为
FullName
的单个派                    生列中。

  2.通过使用 SUBSTRING 之类的函数从字符串数据中提取字符,然后将结果存储到派生列中。例如,可以使用表达式
SUBSTRING(FirstName,1,1) 从 FirstName 列提取人名的首字母。

  3.对数值数据应用数学函数,然后将结果存储到派生列中。例如,可以使用表达式 ROUND(SalesTax, 2) 将数值列
SalesTax 的值更改为精确到小数点后两位。

  4.创建比较输入列和变量的表达式。例如,可以使用表达式 ProductVersion == @Version? ProductVersion :
@Version 来比较变量 Version
ProductVersion列中的数据,然后根据比较结果决定选用 Version 还是
ProductVersion 的值。

  5.提取日期时间值的某部分。例如,可以通过表达式 DATEPART("year",GETDATE()) 使用 GETDATE 和 DATEPART
函数提取当前年份。

 在上篇>聚合转换文章中我们已经使用到了派生列。其配置如下:

bubuko.com,布布扣 src="https://img8.php1.cn/3cdc5/1e70e/8fd/ff8b762299b1a433.jpeg"
>在这图中,可以根据需求来进行一些设计。本图的设置为计算单个商品购买的总金额。


审核转换

审核转换控件配置很简单,它使得包中的数据流包含有关包运行所处环境的数据。例如可以将包的名称、计算机名称和操作员姓名添加到数据流中。该转换功能只以下系统变量。




































说明


执行实例 GUID


插入唯一标识包的执行实例的 GUID。


包 ID


插入唯一标识包的 GUID。


包名称


插入包名称。


版本 ID


插入唯一标识包版本的 GUID。


执行开始时间


插入包执行的开始时间。


计算机名称


插入启动包的计算机的名称。


用户名


插入启动包的用户的登录名。


任务名称


插入与审核转换相关联的数据流任务的名称。


任务 ID


插入唯一标识与审核转换相关联的数据流任务的 GUID。

配置该转换功能如下步骤。



  1. 将审核转换控件按拖放到数据流任务中,并将上游的控件用绿色箭头连接起来。如图:

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/0ce46c570a421f64.jpeg">

 



  1. 右键单击审核转换弹出窗口

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/e587734a92a6604c.jpeg"
>

 



  1. 单击审核类型下拉框。选中需要的系统变量。然后在输出列中设置输出的名称。得到如下结果:

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/6938651e59491a0b.jpeg"
>

 

配置好审核的系统变量,单击确定即可完成审核转换功能的配置信息。整个流程如下:

 

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/97d6ca0873ae78f4.jpeg"
>

将转换的数据存放到C:\Users\zhuyujing\Desktop\test.txt。执行包.得到的结果如下:

 

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/637e6a9b895dfc1c.jpeg">


>字符映射表转换

字符映射表转换其实就是将字符串函数应用于输入列中的字符数据。该功能只对字符串数据类型的输入列执行。例如我们可以将字符转换为下写、大写、或则繁体等等。如下图所示

bubuko.com,布布扣 

现在我们就演示一下将输入列中的NewName、PackageName分别转换为繁体和大写的,并将输入列NewName用转换后的繁体替换,创建一个新的列NewPackageName用于存储输入列PackageName映射的繁体字符。整个流程如下: 

bubuko.com,布布扣 src="https://img8.php1.cn/3cdc5/1e70e/8fd/aa0917b50578eb2c.jpeg"
>

配置成功后执行包。可以看到没有转换之前,NewName和PageageName分别是简体和小写字符 

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/03c57cea8465d3a5.jpeg"
>

转换后,NewName列中的数据变成繁体、packageName列对应的NewPackageName列都是大写字符。

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/ad18352d4e4f559a.jpeg"


四 条件性拆分转换

  条件性拆分转换功能类似 C#编程语言中的swith…case
语句。此转换将计算表达式,并且根据计算的结果将数据行定向到不同输出中。此转换还提供一个默认输出,如何某个行与任何表达式都不匹配。则它将被定向到默认输出。例如,可以将销售订单总额在1000~3000之间的数据输出到一个路径,将销售订单总额在3000~7000之间的数据输入到一个路径,将销售订单总额>=7000的数据输出到一个路径。不满足以上条件的设置为默认条件。作为另外一条路径输出。在设置这些条件的同时还可以编辑输出列的名称。最终结果如下图:

bubuko.com,布布扣 src="https://img8.php1.cn/3cdc5/1e70e/8fd/12dc9ce1e1756d00.jpeg"
>

 

配置好以后单击确定即可。为了检测结果。我们先在变量选项卡中设置如下几个变量

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/8f9bc95afbcd9de5.jpeg">

 

然后在数据流选项开中托动四个行计数转并修改名称。如图:

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/dd880fc818274d18.jpeg">

 

右键单击其中一个行计数,弹出窗口后,按如下图设置VariableName属性。本图已名为BadRowCount为例。其他行计数转换分别按同样的操作设置VariableName即可。

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/cc3e08656409bed9.jpeg">

然后将刚才的条件性拆分转换与其中一个行计数用绿色箭头连接。弹出如下窗口bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/2bb1a0adbb23c417.jpeg"> 

在输出下拉框中选中条件。然后单击确定按钮即可。如下图

 

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/1d34d08d9093c915.jpeg">

其他三个行计数转换按此步骤操作即可。最总得到如下图:

 bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/0b60c9b95b00e714.jpeg">

执行该包,等到如下图所示的结果

bubuko.com,布布扣src="https://img8.php1.cn/3cdc5/1e70e/8fd/7735a9e244dd890f.jpeg">

[转]SSIS数据转换组件_派生列、审核、字符映射转换和条件性拆分转换,布布扣,bubuko.com


推荐阅读
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
author-avatar
此恨缠绵_793
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有