1

我正在从事一个 HR 项目,该项目每周都会从我们的 SAP 系统接收导出。它提供为特定帐户输入总帐的每周总计。

Company Code    G/L Fiscal Year Local Currency  Amount in LC
0020            4544000 2012            USD         575.00
0020            4544000 2012            USD         252.70
0020            4544000 2012            USD         89.75
0020            4544000 2012            USD         44.00
NULL            NULL    2012 Total      NULL        86,422.58
0020            4544000 2013            USD         2,000.00
0020            4544000 2013            USD        -2,000.00
0020            4544000 2013            USD         35.00
0020            4544000 2013            USD         35.00
NULL            NULL    2013 Total      NULL        110,979.23
NULL            0004544000 Total        NULL        197,401.81
Grand Total     NULL    NULL            NULL        197,401.81

(我删除了几行以节省空间)

我需要的是,这只是年度总和。

Fiscal Year       Amount in LC  
2012              86,422.58
2013              110,979.23

它需要持续到 2016 年或以后。

我要导入的文件是从 SAP 系统导出的 .xlsx。由于第一对无法使用,我不得不请一位顾问来完善出口。

我目前有一个导入数据的 SSIS 包,在将其导出到临时表之前通过聚合运行它。但是,Already Sumed 总数会导致临时表中出现重复。如果有一种方法可以运行派生列来删除数据,那么这也会有所帮助。

聚合数据如下所示。

Fiscal Year     Amount in LC
NULL            394803.62         <- Needs to be removed
2012            86422.58          <- Correct
2013            110979.23         <- Correct
2012 Total      86422.58          <- Duplication, Needs to be removed
2013 Total      110979.23         <- Duplication, Needs to be removed

感谢您提供任何帮助。

4

2 回答 2

1

我假设由于您在 SSIS 中运行聚合,因此正在执行一个 sql 任务。

您应该编辑该WHEREsql 任务的条件以排除记录:

WHERE [Fiscal Year] IS NOT NULL 
  AND [Fiscal Year] NOT LIKE '%Total%'

如果不使用 sql 任务,您可以在聚合和 ole db 目标之间添加条件拆分。

于 2013-09-03T17:34:45.633 回答
1

删除 SSIS 中的聚合并导出到表中。我假设该表看起来像您描述的“每周从我们的 SAP 系统导出”表。

然后,编写一个存储过程以从表中获取结果:

Select LEFT([Fiscal Year],4) AS [Fiscal year] , [Amount in LC]
/* NOT NULL will exclude NULLs in [Fiscal Year] */
From <your table>
Where ([Fiscal Year] IS NOT NULL) AND [Fiscal Year] LIKE '%Total'
/* Group by eliminates duplicates */
Group By [Fiscal Year], [Amount in LC]

聚合已经在表中,您只是将其挑选出来。

于 2013-09-03T17:47:08.410 回答