Sql-Server
讓事實表多次與同一個維度表相關是好還是壞的做法?
我是 DW/BI 的新手,這似乎是一個非常基本的問題,但我似乎找不到一個好的答案。
我有一個事實表,它有多個與之關聯的日期,所以我想我會有多個日期鍵返回到同一個維度表,例如
SubmittedDateKey
,ClosedDateKey
。顯然 SQL Server 可以做到這一點——我對此的保留是,當我以這種方式設計概念驗證架構時,客戶端工具(即 Tableau、Excel)似乎對如何映射關係感到困惑。(我還發現 這個論壇文章說 Oracle 的 Analytic Workspace Manager 明確禁止這樣做,這當然對我的微軟世界沒有任何暗示,但暗示這是一個普遍的禁忌。)DW/BI 中是否有關於此的最佳實踐?
SubmittedDateDimension
我應該有多個相同的維度表,例如,而不是讓一個維度表連接到這些鍵中的每一個ClosedDateDimension
?謝謝!
我會使用相同的維度表。特別是對於日期維度
我不會讓客戶端工具(或 Oracle 論壇文章!)決定我的 SQL Server DW 設計。
通常,下游工具將以某種中間形式引用您的數據,例如 SSAS 多維數據集、QlikView QVD 文件或簡單的 CSV。但是,如果您的下游工具直接訪問數據庫,您可以簡單地創建一系列視圖,每個角色扮演維度一個。每個都可以定義為
SELECT * FROM Dates
。讓 Tableau 和 Excel 引用這些而不是單個Dates
表。這假設您沒有使用外鍵來指導分析工具。如果是這樣,我建議你放棄它們,因為倉庫的成本通常不值得。如果不能,您別無選擇,只能創建多個
Dates
表。