2015-04-24 47 views
0

在爲我的客戶創建新多維數據集的過程中,我遇到了一個問題,我不太確定是否需要處理。 我有一個沒有DateTime字段的表;相反,它有一個varchar字段,其中包含YYYYMM格式的年份和月份。我需要使用該字段創建與我的時間維度的關係;並繼續創建Year-Quarter_Month層次結構。SSAS 2014,使用YYYYMM字段與時間維度的關係。最佳實踐?

我做的第一件事是在時間表中創建一個新的命名計算,以匹配YYYYMM格式。現在,我知道這種關係不能被創建,因爲它會打破參照完整性。

我的想法是創建一個新的時間表/維度,並刪除除月份的第一天以外的所有記錄,創建一個名爲YYYYMM的計算,然後我將能夠在我的表和新的時間表之間創建一個關係。但是,這是正確的方法,我可以期待什麼缺點?

謝謝!

回答

0

您不需要單獨的時間維...將新的事實表連接到現有時間維時(在維度使用情況選項卡中),可以將YYYYMM屬性設置爲「粒度屬性」... SSAS將處理剩下的:-)

enter image description here

而且,如果格式是YYYYMM(即201504爲2015年4月),那麼你可能會考慮將它(而不是一個varchar)的整數節省一些空間你的事實表。

+0

對不起,遲到的答案..它的工作原理,謝謝! – LukeP

0

您可以創建數據庫表中的新計算列添加在每月的第一天:

轉換(日期,YYYYMMfield * 1000 + 01)

,然後用你的關鍵鏈接它你時間維度。

通過這種方式,您的YYYY-QQ-MM層次級別按照預期工作,如果用戶進一步深入並希望每日查看每月的價值,他會發現該月的所有值都添加到第一天。