Data-Warehouse
如何處理“累積事實表”中的 NULL 日期
維度建模中的一種事實表是
Accumulating Snapshot fact Table
. 如果你覺得需要復習一下這個類型的含義和定義,可以看看這篇文章: https ://www.holistics.io/blog/the-three-types-of-fact-tables/ 。想像一下,我們有一個累積事實表,其中包含三個重要的日期列
'Order_Datekey , Manufacturing_Datekey , Ship_Datekey'
第一次插入表時,列沒有數據
Manufacturing_Datekey and Ship_Datekey'
。我們只知道訂購產品的日期(Order_date)。我需要知道的是我們如何處理 Date 列的空值?我在 Kimbal 書中讀到的重點是在外鍵列中應避免 null。'Referential integrity is violated if you put a null in a fact table column declared as a foreign key to a dimension table'
另一方面,我們起初對這兩個日期列沒有任何價值。你有什麼建議?
提前致謝
您說“應在外鍵列中避免空值”,但這些日期真的是 FK 嗎?
最有可能的是,這些日期只是訂單的屬性,如果日期未知(並且它們未知的原因可能是“因為它還沒有發生”),那麼
NULL
是表示這些屬性的最佳方式。如果製造日期或發貨日期是其他表的外鍵(或外鍵的一部分),則表明您可能需要重新考慮表結構。