1

私は、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 です。最初の 2 つは使用できなかったため、コンサルタントにエクスポートを改良してもらう必要がありました。

現在、データをインポートし、集計を実行してからステージング テーブルにエクスポートする 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タスクが実行されていると思います。

その sql タスクの基準を編集しWHEREて、レコードを除外する必要があります。

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 に答える