天天看點

資料倉庫專題(11)-可以作為次元表使用的事實表

事實表從粒度的角度分為三種,分别是交易粒度事實表、周期快照事實表和累計快照事實表。

交易粒度事實表能提供某個确切時刻的描述資訊。以銀行帳戶中儲存的客戶資訊為例來說,代理機構會周期的更新客戶的名稱、位址、電話号碼、客戶分類、信用等級、風險等級及其他描述性資訊。建立的交易粒度事實表如下所示:

變更日期(fk)帳戶号(sk)

代理(fk)

客戶資訊變更類型(fk)

帳戶号(nk)

名稱(文本事實)

位址(文本事實)

電話号碼(文本事實)

客戶分類(文本事實)

信用等級(非可加性數字事實)

風險等級(非可加性數字事實)

...

這是一個典型的記錄的度量事實都是文本型描述資訊的事實表。這樣的事實表和次元表之間的差別并不明顯。

這個事實表中有三個是關聯到普通次元表的外鍵,分别是變更日期、代理和交易類型。帳戶号(nk)是帳戶的自然鍵,是帳戶的唯一辨別。帳戶号(sk)是帳戶的代理鍵,也是這個事實表的主鍵,它辨別了這個事實表中的每一次變化。

我們可以将該事實表中的帳戶号代理鍵做type 2型緩慢變化維處理,并将它關聯到其他事實表作為外鍵。舉例來說,我們除了收集帳号本身變動資訊外,還會收集存取款情況和帳号餘額資訊,并建立事實表如下:

交易日期(fk)

帳戶号(sk)

地點(fk)

交易類型(fk)

數額(可加性事實)

帳戶餘額(半可加性事實)

對後一個事實表進行分析,其中的一條記錄可以準确的對應到前一張事實表中相應時點的帳号資訊上,即我們可以得到每一次交易時點時帳戶對應的客戶資訊。我們會發現,前一張事實表和次元表并沒有什麼差别。