2014-01-27 97 views
3

對於訂單日期和交易日期,我有一個銷售事實表,一個訂單事實表(兩個行級別詳細信息)和兩個日期角色扮演維度(來自日期維度)。建模兩個事實表之間的關係

我正在努力達到您可以通過訂單日期和訂單度量按交易日期查看銷售度量的點。

如果銷售是從訂單進​​行銷售,銷售表中包含相關訂單行的關鍵字,如果是非訂單銷售,則銷售表爲空。訂單表沒有任何指向相關交易的鏈接。

我一直在試圖圍繞如何基於兩個事實表之間的鏈接對關係進行建模,並且我可以開始工作的唯一方法是創建基於訂單表的維度,該表包含只有關鍵,然後使用多對多的關係...這似乎完全錯誤,但我不知道什麼是對這種情況的「正確」的方法。

如果在所有可能的情況下,我希望在按訂單日期查看銷售措施時將無訂單銷售顯示爲「未知」訂單日期,因此您可以看到完整圖片,而不僅僅是訂單銷售。使用上述方法,這不會發生。

有什麼建議需要改變什麼才能使它工作?

+0

沒有代碼,通常很難猜測確切的問題是什麼,猜測答案通常是任何人都可以做的唯一的事情。如果您提供以前嘗試的一段代碼,將會更容易理解您所遇到的具體問題。這段代碼甚至可能是完全不起作用的代碼,因爲它仍然可以更好地瞭解你準備做什麼。 – Joeytje50

+2

...什麼代碼?這是關於建立事實表和暗淡表之間關係的一個ssas問題。我在說表和結構而不是'代碼'。 – Lefty

回答

0

你在正確的軌道上。我會在關係數據庫中創建一個視圖,或者在DSV中創建一個包含不同的非空訂單ID作爲單列的命名查詢,也許稱它爲「DimOrderId」。然後根據它建立一個維度,設置「空處理」屬性(你必須點擊「加號」兩次,以便BIDS屬性的「關鍵列」屬性訪問該屬性)爲「未知會員」。

然後使用此維度進行多對多關係。

0

您應該使用訂單ID來查找訂單日期並將訂單日期維度鍵放入銷售交易事實表中。由於每個訂單可能有多個交易,反之可能只是沒有意義。如果它是1:1,則可以做相反的事情,但這意味着一旦事務發生就會更新訂單事實,這可能會導致加載時間複雜度和性能下降。確保您在交易日期確實需要訂購。