2009-06-15 77 views
0

我剛開始潛入數據倉庫,我有一個問題,我似乎無法弄清楚。數據倉庫報告問題

我有一家企業,有十家商店,每家都有一定的員工。在我的數據倉庫中,我有一個代表商店的維度。員工維度是一個SCD,包含開始/結束的列和員工正在工作的商店。

我的事實表基於員工給(商店經理)匿名提供的建議。該表包含建議類型(清潔度,工資問題等),提交日期(外鍵輸入時間維度表)以及提交的商店。

我想要做的是創建一個報告,顯示給定年份中建議數量與員工數量的比率。由於員工數量會定期更改,我不能對員工總數進行簡單查詢。

不幸的是,我已經搜索了很多網站,試圖找到一個解決方案,但大多數的例子是基於零售的銷售,這是我試圖做的不同。

任何幫助,將不勝感激。我的機器上安裝了AdventureWorksDW,因此如果有人使用它提供建議,我可以將其作爲參考。

在此先感謝!

+0

您正在使用SQL呢?如果你發佈你的基本表結構,這將有所幫助。 – Nick 2009-06-15 14:48:58

回答

1

緩慢變化的維度應該有一個自然鍵來標識行的來源(否則它將如何知道要比較什麼來檢測變化)。這在維度的所有迭代中應該是不變的。您可以通過計算自然密鑰的不同數量來計算員工數量。

編輯:如果您的交易表(建議)上有一個日期,建議日期的計算功能分組員工的重複計數(例如datepart (yy, s.SuggestionDate))和業務單元應該這樣做。您不必擔心員工維度上的日期,因爲適用的行應直接連接到事務處理表。

+0

我在員工表上有一個自然鍵。最大的問題是在查詢立方體時,在特定時間段內爲特定業務單位計算僱員人數。如果需要架構,請讓我知道,我會發布一些東西 – bdowden 2009-06-15 16:15:39

0

爲每個月的每個商店中的員工數量添加另一個事實表 - 您可以使用該月份的最大數量。然後將這一年的平均月份用作「一年中員工數量」。

在每個月末加載新的事實表。新表將如下所示:

事實表:EMPLOYEECOUNT

KeyEmployeeCount INT - 代理鍵

KEYDATE INT - FK迄今爲止尺寸,點到一個月

密鑰庫的最後一天INT - FK到商店維度

NumberOfEmployes INT - (最大)在指定店的員工當月的數量

如果您需要更高分辨率,請使用「每週」或甚至「每天」。主要想法是在一年中平均給定商店的NumberOfEmployes度量。