SSIS高级转换任务—行计数

简介: 在SSIS中的Row Count转换可以在数据流中计算数据源的行数。这种任务必须将行数保存在一个变量中。这种任务在你不想将数据行数保存在一个物理表中时会很有用。例如在ConditionalSplit任务中使用多个RowCount记录有多少行被分离出来,每个Row Count将使用变量记录分支中的数据行数,可以将这个变量值记录在数据库中,作为邮件信息发送出去,或者在下一个步骤中使用。

在SSIS中的Row Count转换可以在数据流中计算数据源的行数。这种任务必须将行数保存在一个变量中。这种任务在你不想将数据行数保存在一个物理表中时会很有用。例如在ConditionalSplit任务中使用多个RowCount记录有多少行被分离出来,每个Row Count将使用变量记录分支中的数据行数,可以将这个变量值记录在数据库中,作为邮件信息发送出去,或者在下一个步骤中使用。

一样这个任务需要使用高级编辑器,这个更加简单,只需要添加一个变量来存储行数。现在设想一个任务只有在数据流中的数据行数大于0的情况下才会执行,可以将此类推到任何按照不同条件执行task 的情况,在这里我们只简单举例说明情况。

  1. 创建一个包命名为RowCountExample,添加一个Data Flow task
  2. 添加一个Int32类型的变量MyRowCount,保证变量在的范围是整个包
  3. 添加一个OLE DB DataSource将他指向数据库AdventureWorks中的表ErrorLog
  4. 添加一个RowCount任务,双击打开编辑界面设置VariableName属性为MyRowCount,最终界面如下图1
    img_6d2ffd1fa7d1d7bd6007b629961dd7a5.png
    图1
  5. 切换到Control Flow界面添加一个Execute SQL Task,设置连接到表AdventureWorks,设置SQLStatement为SELECT 1。这个任务没有任何意义只是用来演示RowCount的用法
  6. 将Data Flow task和Execute SQL task 连接起来,右击他们之间的连线选择编辑
  7. 修改Precedence Constraint 中设置Evaluation Operation为Expression,设置表达式为@MyRowCount>0。最终界面如图2
    img_20eba98f2e646316f978381e131f7c64.png
    图2
  8. 执行这个包发现Execute SQL任务不会执行,这是因为ErrorLog表中没有一行数据,如果随意向ErrorLog表中添加以行数据这个包就可以正确执行了。

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

目录
相关文章
SSIS高级转换任务—模糊分组
   在模糊查找中我们提到脏数据是怎样进入到表中的事情,主要还是由于一些“Lazy-add”造成的。这种情况我们的肉眼很容易被欺骗,看上去是同一个单词,其实就差那么一个字母,变成了两个不同的单词。一个简单的例子是X-Ray Tech和xRey,我们很有可能认为他们是同一个职务,CT操作员,但是如果让计算机来处理的话,它们是两种截然不同的东西。
920 0
|
算法 数据库 索引
SSIS高级转换任务—模糊查找
BI项目中经常会有一些提取,转换,数据处理(ELT)的工作,其中最主要的是处理过赃数据。假设在项目中我们向数据库中注入了测试数据,但是通过一个外键从另外一个表中载入数据的时候没有对应的数据,那么这一行就是赃数据。
1047 0
|
ice 算法
SSIS高级转换任务—关键词查找
和关键词提取一样,关键词查找使用相同的算法和统计模型将输入流中的字符串按照名词或者名词词组进行统计,不同的是它参照一个已经存在的词汇表,输出的统计结果也仅限于这个词汇表中的关键词。关键词提取和关键词查找可以搭配使用。
1112 0
|
SQL 数据库 容器
SSIS高级转换任务—导入列
在SSIS高级转换任务—导出列这一篇随笔中主要完成的是把数据库中的文件列导出,这里将讨论如何将文件导入到数据库中,它和导出列任务是一对经常搭配使用的任务。当我们搞清楚它们实现什么功能的时候会发现原来的名字更加贴切。
1109 0
|
数据库
SSIS高级转换任务—导出列
好久没有写SSIS了,接着上回的Import Column,这个随笔学习Export Column,这个转换任务用来从数据库中的blob类型的列转换成文件保存到文件系统中或者在Microsoft Word文件或者Microsoft Paint文件中浏览。
1091 0
Autolisp:利用AuoCAD之Lisp编程案例之自动智能获取所选对象的面积并标注在指定位置
Autolisp:利用AuoCAD之Lisp编程案例之自动智能获取所选对象的面积并标注在指定位置
Autolisp:利用AuoCAD之Lisp编程案例之自动智能获取所选对象的面积并标注在指定位置
|
算法 ice 存储
SSIS高级转换任务—关键词抽取
如果你曾经为网站做过单词或短语分析以便获得更好的搜索排名,你会对SSIS的这个任务很感兴趣。关键词提取任务是从文本流中查找并计算关键词的出现频率的工具。它可与接收任何形式的文本,输出两列:一列是关键词,另一列是这个关键词在文本中出现的频率的统计值。
1058 0
|
SQL 存储 数据库
SSIS高级转换任务—在Package中是用临时表是需要设置RetainSameConnection属性
在上一个导入列这个例子中我们创建一个实际的表来存储文件路径,在生产环境中我们可能不会创建一个实际的物理表来存储这些信息,而是创建临时表。这里有一个小小的技巧,在Control Flow中拖放两个Execute SQL task,一个创建临时表,另一个销毁临时表,执行这个package,会遇到一个错误,在Progress中提示信息显示不存在这个临时表。
1017 0
|
SQL 数据库
SQL如何实现Excel的分列功能(按指定符号进行分割)?
我们在处理SQL里的数据时候,时不时会遇到对字符串进行分割的情况。类似Excel中按指定字符进行分列,今天给大家介绍两种处理方法。
SQL如何实现Excel的分列功能(按指定符号进行分割)?

热门文章

最新文章