2016-09-14 5 views
1

私のERPデータベースの受注に関する履歴情報はありません。 受注を含むテーブルがあります。受注が承認されると、請求書に変換され、レコード受注が削除されます。Datawarehouseレコード数タイムライン

ERPに必要な情報だけを含む履歴テーブルをコーディングすることができます。私はそれがデータウェアハウスによって解決されるべきものだと思った(個人的関心のためでもある)。

私は日付までにどのくらいの受注を見たいのですか。たとえば、XXXの合計値のXオーダの平均が月ごとに表示されていることがわかります。

「有効な」列と「それまで」列を追加するだけのことを考えました。 そこから私はブロックされていますが、私の頭文字はSCDを使用する場所ですが、私が理解するようにプライマリキーでそれを行うことはできません。

ERPデータベースのように、新しいファクトテーブルを作成する必要がありますか? 私は販売注文表の挿入トリガーまたは削除トリガーにも何かをプログラムしたくありません。私たちは一日の終わりに受注テーブルをきれいにします。夜間にデータウェアハウスを更新するときに更新する必要があります。 この場合、注文が承認されず、関連性のないレコードを保存することを考慮する必要はありません。

答えて

0

私が収集できるものについては、悪いデータモデルに苦しんでいます。

ケース

受注テーブルがあります。この表のレコードは保持されません(たとえば、ステータスが変更されたか、単純なコピーが「順序付けられた」表にコピーされます)が、削除されます。

これは最初の間違いです。

第2に、あなたはと言わないと、は削除トリガーでリッスンします。残念ながら、わかっている限り、の削除は、毎日の都合で発生します。したがって、少なくとも承認が非常に高速に行われる場合、販売注文表からデータを収集するジョブは毎分実行する必要があります。これは疑わしい設計上の決定でもあります。

アプローチ個人的に

、私はDWHで起動しないでしょう。私は挿入トリガーが現れたときに新しい販売データを埋める簡単な仕事から始めます。これは、デルタチェックが時間の経過とともに高価になるためです。

この表は、すべての情報を保持している場合、データ分析に使用できます。あなたは注文がキャンセルされているプロセスを特定する必要が

質問

しかし、また。それらの注文は承認されたためではなくキャンセルされたため、削除されたことをどのように知っていますか?

プロセスのステップでより明確なコンセプトがある場合は、たとえば次のようなデータを使用する方が簡単になります。 DWH。しかし、DWHでも、あらかじめプロセスが少なくとも状態の変化に対して明確に定義されていないと助けにならないでしょう。

関連する問題