2015-11-06 56 views
1

我有一個購買事實表以及一些度量和維度關鍵字。 然後,還有另一個表:折扣表。 購買FactTable與折扣表的關係處於1-N關係(對於每次購買,我可能會購買多個打折商品)。 折扣表有一些我想彙總的屬性(描述,註釋)和一些數字值(例如:折扣爲$)。如何連接處於1-N關係的事實和維度表

  • 如果我創建了這個折扣表的尺寸,我會得到一筆算錯數 購買計數(膨脹,一排爲每 打折項目)。
  • 如果我從這個折扣 表中創建一個單獨的事實,我怎樣才能查詢這兩個事實表(當時他們 不共享任何維度,所以我不能使用符合/共享維度鑽取)。
  • 如果我創建一個退化維度,我們回到第一個場景。

將橋接表與:BridgedKey,DiscountKey,折扣在$,其他「措施」..解決我的問題?

p.s. 這link幫助選擇一個橋接表,但我不確定它會在我的情況下工作(因爲我需要從折扣表中彙總一些數字屬性)。

感謝,

回答

0

我的經驗將有利於有兩個事實表purchasepruchase_detail設計。

購買與屬性

purchase_id -- unique ID 
purchase_date 
customer_id 
... 

PURCHASE_DETAIL每購買一列具有1:N元購機行和存儲的定價細節。

purchase_id -- corresponding purchase 
account_type -- dimension describing sales price and all discount types 
amount 
.... 

數量有一個合適的標誌;銷售價格爲正數,折扣爲負數。

purchase_id account_type amount 
1    sales price  100 
1    discount1  -5 
1    discount2  -1 

採用這種設計,您可以安全COUNT購買(對購買表),總和價格(上PURCHASE_DETAIL) ,使所有類型或具體優惠報告。

相關問題