簡體   English   中英

事實/昏暗表時間值

[英]Fact/Dim Table Time Value

我正在設置Fact和Dim表,並試圖找出設置時間值的最佳方法。 AdventureworksDW為DimTime表中的每個時間條目使用時間鍵(UID)。 我想知道有什么理由我不應該只使用時間值,即0106090800(我的粒度是每小時)?

當您想要更改維度中的定義時,“智能密鑰”(在本例中為編碼日期和小時編號)可能會導致問題。 例如,您的用戶可能會堅持從本地時間到UTC的更改。 現在你的密鑰實際上不再是一個有用的數字,它是維度中的舊值。

此外,由於午夜翻轉問題,智能密鑰的日期部分可能與UTC的實際日期與本地時間更改不匹配。

為防止密鑰成為問題,您不能將其用於任何類型的計算。 在這種情況下,它比簡單的GUID或自動增量數字好一點。

自動增量鍵(或GUIDS)快速而簡單。 最重要的是,它們在所有方面都非常一致。

時間碰巧有一個數字映射,但它有助於看到這是一個奇怪的巧合,而不是一個良好的設計的基礎。

這是Ralph Kimball 最新的時間維度。 它是2004年,但它仍然很好。

這個也會有所幫助。

主鍵應該是代理,沒有意義 - 但是,使用YYYYMMDD作為日期維度鍵很難抵抗,並且還允許簡單的表分區。 訣竅是它應該仍然被認為是毫無意義的 - 它看起來像一個約會的事實應該被視為純粹的巧合。 永遠不應該向業務用戶公開此密鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM