1

我向各種收款人支付款項,我想知道是否應該爲每種收款人創建一個維度,並在我的事實表中包含多個外鍵,或者通過類型屬性並且在PaymentFact表中具有單個FK,代價是具有對PayeeDim.Type的任何特定值在PayeeDim表中沒有意義的屬性...多種收款人

這些情況通常如何處理?

TIA - 電子

回答

2

像往常一樣與三維建模,答案是 「看情況」。如果替代方案是15-20維的事實表,通常最好有一堆空屬性。

對於企業來說,如果收款人是收款人,並且有多個收款人類型,那麼收款人維度就有意義。但是,如果一筆支付記錄可以與多種不同的「類型」收款人相關聯,那麼每一個模糊都應該得到它自己的關鍵。

+0

收款人彼此非常不同。考慮一個擁有年齡,性別等等的個人收款人與一個不具有公司管轄權的公司,官員等等,似乎很難用單一維度來代表兩種截然不同的動物。但另一方面,我並不樂意在事實表中擁有2個FK,實質上是對單個實體的參考...... – ekkis

+1

Kimball在他的書「數據倉庫工具包」中討論了「客戶」維度,詳細介紹瞭如何處理這個問題。從本質上講,通常更好的做法是將您的客戶信息全部保存在一個維度中,除非有迫切的商業理由來分開軍團和個人...... –

+0

@N West,+1。感謝您讓我回到基礎知識......是的,我會同意您的原始答覆。 – ekkis

0

一個選項是有兩個維度 - 一個與收款人信息,另一個與Payee_Type信息。

+0

但這似乎是無緣無故的雪花。我不確定我遵循你的邏輯 – ekkis

相關問題