SSIS 2012:逐个聚合获取每一行

时间:2013-07-14 15:46:13

标签: ssis

在数据流中,我使用查询Web服务的脚本组件获取数据。输出是一张表,其中包含来自客户的付款。

| PaymentId | CustomerId | Amount | PaymentDate |
| 2         | 1          | 10     | 01/01/2009  |
| 5         | 1          | 15     | 08/07/2013  |
| 1         | 2          | 20     | 05/08/2007  |
| 3         | 2          | 18     | 07/03/2011  |
| 6         | 2          | 32     | 02/09/2013  |
| 4         | 3          | 70     | 04/06/2012  |
| 7         | 3          | 61     | 02/03/2013  |

除此之外,我必须按客户筛选出以下行:

  • 金额最高的付款
  • 金额最小的付款
  • 第一笔付款
  • 最近的付款

每个我需要PaymentId,CustomerId,Amount和PaymentDate供以后处理。

我知道如何使用Aggregate Transforamtion,按CustomerId分组,并使用适当的Min / Max函数来获取请求的值。

但获得完整ROWS的最佳方法是什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您的数据源是SQL数据库,请在进入SSIS之前使用SQL执行操作。这通常会给你最好的表现。

否则,建议将Web服务中的数据转储到RAW文件中。原始文件对于暂存数据以进行各种转换非常有用。 more on RAW files