2013-04-07 158 views
0

首先,這是我做的非常非常簡單的數據倉庫,只是提出了下面的具體問題。SSAS多維層次結構

場景:

我有一個事實表FactSales,和2個維度:DimShop和DimProduct,並且它們都彼此分開和直接地連接到事實表。一些商店可以銷售選定的產品,反之亦然,有些產品可以在特定的商店進行銷售。這給了我們很多關係。問題是當我嘗試切割我的立方體時,我得到了商店和產品之間的所有組合。

問:

我怎樣才能創建SSAS兩個獨立的維度之間的層次與多對多的關係?我試圖使用brigde表,但我無法在SSAS中配置層次結構。它甚至有可能嗎?

+1

我不明白你的問題。你想在你的報告中展示什麼?作爲一個完整的猜測,你試圖報告哪些產品可以出售(或放入)每個商店,但我真的不知道。 – Pondlife 2013-04-08 21:24:22

+0

哦,我忘了提到整個想法,愚蠢的我。是的,你猜對了,我想展示商店,並列出每個店鋪可供選擇的產品。我知道它可以通過層次結構來實現。當商店和產品的數據包含在一個維度中時,創建這樣的層次結構很容易,但我想爲產品和商店使用單獨的維度。我假設我需要橋表中的M:N關係,但是我不知道如何構建這樣的層次結構,如果可能的話,在產品維度上最好。 – shq 2013-04-09 10:03:50

回答

1

如果您試圖報告「會發生什麼」而不是「發生了什麼」,則需要單獨的事實表&立方體來表示產品與可銷售產品的商店之間的關係。這不是一個真正的等級,因爲它是多對多的。

一個簡單的交叉引用的事實應該是罰款:這樣做,希望看到產品被允許在什麼什麼店出售報告時

FACT_PRODUCT_SHOP 
ProductID 
ShopID 

然後,你可以使用這個事實表。銷售事實只顯示「實際發生的事情」。

你甚至可以修改這個事實是你的庫存事實表,只是增加一個日期和「庫存量」和「訂單量」等。

0

有可能實現這樣的設計,但它可能表現不佳。 基本上,而不是事實表中的產品和商店密鑰,您需要一個替代密鑰。 這個關鍵將是產品和商店的獨特組合。這需要在ETL中進行準備。 在名爲「商店和產品」的新維度中,在此關鍵之上,您可以在同一維度創建2個層次結構產品和商店。

另外,您還可以根據您的要求創建不自然的層次結構。但由於它是一個不自然的層次,它可能表現不佳。 因此,除了產品和商店層次結構之外,您還可以提供以下非自然層次結構:商店 - >產品,產品 - >商店。