Data-Warehouse

維度表中的日期是否應該使用dimDate?

  • March 13, 2022

假設我的 dimDate 有一個代理鍵。維度表(不是事實表)中的所有日期列都應該儲存日期維度的代理鍵嗎?還是只是簡單的約會?

比如維度表dimCustomer中,可能有生日、入職日期、畢業日期……等。

我將通過將日期值和 SK 都儲存回日期維度來對此進行建模。這就是為什麼儲存該實際狀態值可以讓您獲得毫秒級別的精度,並且當有人想確切地看到某事發生的時間時會很有用。但是對於聚合,如果您擔心兩個值不同步,則 SK 可以是計算列

Customer
ID               1
Name             John Smith
BirthdateValue   2018-07-04 04:20:69.007
BirthdateSK      20180704

根據需要為其他日期重複該模式。

您應該使用代理 INT 密鑰,但將其設為智能密鑰。智能鑰匙是個壞主意,除非在這種情況下

我的意思是:

SUN_DATE

date_key    the_date
20181208    2018-12-08 ...

這使您可以使用快速 int 鍵,使用者也可以將其辨識為日期。並且還允許在日期維度中使用您需要的“不適用”日期行

引用自:https://dba.stackexchange.com/questions/175480