0
在數據流中,我通過查詢Web服務的腳本組件獲取數據。輸出是一個包含客戶付款的表格。SSIS 2012:通過聚合獲取每個組的行
| 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,金額和PaymentDate爲以後處理。
我知道如何使用Aggregate Transforamtion,按CustomerId分組,並使用適當的最小/最大函數來獲取請求的值。
但是獲得完整ROWS的最佳方法是什麼?
在此先感謝!
儘管我目前可以訪問基礎的SQL Server數據庫,但在將來遷移到ISV託管版本時,這可能會發生變化。然後我只能通過webservice-api訪問。因此,我想設計獨立於直接訪問數據庫的ETL,接受性能損失。 –
對不起,我專注於問題的最後部分,忘記了提到Web服務的第一句話。另一條路徑是從Web服務器提取數據並將其放入「RAW」文件中。我發現RAW文件非常方便在進行各種轉換時對數據進行分級。 [鏈接到原始文件的信息](http://www.jasonstrate.com/2011/01/31-days-of-ssis-raw-files-are-awesome-131/) –
只是爲了確保如果我採取您的觀點:我將從Web服務檢索到的數據放入RAW文件,然後將此文件用作數據流源。然後,我可以針對此文件編寫適當的SQL語句以獲取所需的行。 如果根據您的經驗,這是我的案例最有效的解決方案,我會試試看! –