2016-09-14 100 views
1

我的ERP數據庫中沒有關於銷售訂單的歷史信息。 我有一張包含銷售訂單的表格。一旦銷售訂單獲得批准,它將轉換爲發票並刪除記錄銷售訂單。Datawarehouse記錄時間軸數

我可以在ERP中編寫一個只有我需要的信息的歷史表。我認爲這是數據倉庫應該解決的問題(也是出於個人興趣)。

我想看看我到底有多少銷售訂單。例如,我希望看到按月計算的總價值XXX的平均X次訂單。

我的想法是在哪裏添加「有效期」和「截至到期」欄。 從那裏我被封鎖,我的初始雖然在哪裏使用SCD,但據我所知,主鍵上無法做到這一點。

我是否需要創建一個新的事實表(就像我在ERP數據庫中那樣)? 我不想在插入觸發器上編寫一些東西,也不想從銷售訂單表中刪除觸發器。我們在一天結束時清理銷售訂單表,當我們在夜間更新數據倉庫時,需要更新它。 對於這種情況,我不需要考慮訂單不會被批准,並且我會存儲不相關的記錄。

回答

0

對於我可以收集的內容,您將遭受不良數據模型的影響。

案例

有一個銷售訂單表。這個表格中的記錄不會被保留(例如狀態改變了,或者是一個簡單的複製到一個「有序」的表格中),但是被刪除了。

這是第一個錯誤。

其次,你說你不要想聽取刪除觸發器。不幸的是,據我瞭解,刪除可能發生在每天。因此,從銷售訂單表中收集數據的工作至少需要每分鐘運行一次,如果批准可能發生得非常快。這也是一個值得懷疑的設計決定。

方法

就個人而言,我不會用DWH開始。我會從一個簡單的工作開始,在插入觸發器啓動時填充新的銷售數據。這是因爲隨着時間的推移,增量檢查將變得昂貴。

然後這張表,如果它包含所有信息,可以用於數據分析。

問題

而且還需要識別過程中,當訂單將被取消。您如何知道這些訂單因爲被取消而被刪除,而不是因爲它們被批准?

當你在這個過程的步驟中有一個更清晰的概念時,它將變得更容易使用這些數據。一個DWH。但即使是DWH,如果事先沒有對狀態變化進行定義,也不會有幫助。