2013-04-10 122 views
1

我已經編輯過來改寫這個問題:混合不同級別的數據

我們想要存儲貿易和分貿易數據。所以,給數據的想法,我們有這樣的輸入數據:

貿易數據(關係存儲)

| TradeKey1 | TradeLevelMeasure1 | 
| TradeKey2 | TradeLevelMeasure2 | 

子貿易數據

| TradeKey1 | SubTradeId1 | Measure2 | Measure3 | 
| TradeKey1 | SubTradeId2 | Measure2 | Measure3 |  
| TradeKey2 | SubTradeId1 | Measure2 | Measure3 |  

任何我們正在尋找的在AP中建模的最佳解決方案。

如果我們使用關係商店創建與上述佈局相同的商店(以Sub-Trade商店爲主ACTIVE_PIVOT商店)並基於TradeKey加入它們,那麼我們最終會在貿易級別上錯誤地進行彙總措施,因爲交易被複制到每個子貿易條目的立方體中。 (例如TradeLevelMeasure1的正確值是正方體的兩倍,因爲它存在於兩個子交易條目的立方體中)

我們提出的解決方案是使用單個商店,並添加一個新維度以指示交易水平(貿易或子貿易)。因此,我們得到這樣的:

| Trade | TradeKey1 | TradeLevelMeasure1 |    |   |   | 
| SubTrade | TradeKey1 |     | SubTradeId1 | Measure2 | Measure3 | 
| SubTrade | TradeKey1 |     | SubTradeId2 | Measure2 | Measure3 | 
| Trade | TradeKey2 | TradeLevelMeasure2 |    |   |   | 
| SubTrade | TradeKey2 |     | SubTradeId1 | Measure2 | Measure3 | 

這樣,我們應該能夠正確地聚合,然後在需要時對亞貿易措施擴大。

這是否看起來像一個可行的解決方案,還是有更好的方法來實現這一目標?

回答

0

您的數據集包含不具有相同維度的度量,因此不屬於單個多維數據集及其固定拓撲。

在貿易層面定義的度量僅在交易中累計,而子貿易度量僅在子行業中有意義。

ActivePivot分佈式體系結構提供了一種實時聯合異構多維數據集的優雅方式:ActivePivot Polymorphic Distribution

簡而言之,您將定義兩個簡單的立方體,一個在交易層面,一個在交易層面,一個在子交易層面,僅聚合子貿易量度。 ActivePivot Polymorphic Distribution將它們即時合併到虛擬立方體中,加入共享維度,同時還可以在每個立方體中提供獨特的度量。

您將在Quartet FS User Group 2012的http://www.youtube.com/watch?v=VnZoelJulM4中找到ActivePivot Distributed Architecture的演示文稿。對於文檔,您可以從http://support.quartetfs.com/confluence/display/AP4/ActivePivot+Distributed+Architecture開始。