2014-01-06 87 views
0

我有一個我發現基本的立方體的需求,但我很難找到解決方案。MDX計算的成員 - 來自任何訂單行的總訂單金額

我有一個訂單情況,一個訂購專線事實產品尺寸

  • 訂購事實包含
  • 訂購專線事實包含了訂單的特定線路上的不同量的順序不同量,這是我們找到的關鍵產品尺寸

當選擇產品類別,我需要能夠從訂購專線事實返回(因爲只有此表有鏈接到產品尺寸訂單事實的總金額對每個訂單行有產品類別匹配。

例如:

Order 1 -> 100$ 
Order 1, Line 1 : Category FOO -> 30$ 
Order 1, Line 2 : Category BAR -> 20$ 
Order 1, Line 3 : Category FOO -> 50$ 

Order 2 -> 45$ 
Order 2, Line 1 : Category FOO -> 45$ 

如果我不喜歡下面的簡單查詢應該返回我$ 100:

SELECT 
    [Measures].[X] ON 0, 
    [Product].[Category].&[BAR] ON 1 
FROM Cube 

和查詢FOO類應返回145 $:

SELECT 
    [Measures].[X] ON 0, 
    [Product].[Category].&[FOO] ON 1 
FROM Cube 

因此,我需要以某種方式將我的訂單鏈接到產品,並將我的訂單行鏈接到我的訂單。我已經添加了訂單金額訂單號每個訂購專線事實,但我迷路了,我怎麼可以使用他們計算的成員來滿足我的需要。

+1

根據我所看到的與我工作的立方體相比,Order/OrderLine被展平爲一個事實表,而Cube處理關於該事實的訂單/客戶/代表等級的聚合。 –

+0

您可以擁有訂單事實和訂單行的事實,但只有在訂單行中不存在的某個粒度級別存在的情況下才應該具有訂單事實。如果您有計算出的度量值,則只需確保在該計算中使用的度量在維度使用情況中正確關聯。 – mmarie

+0

@TimothyWalters是正確的行和標題的立方體彙總 – Justin

回答

0

有幾種方法可以解決這個問題。無論哪種方式,我都沒有看到你需要一個計算成員來滿足你的需求。他們碰巧在AdventureWorks 2012多維立方中有這個確切的場景。

它們有一個包含訂單號和訂單行的銷售訂單維度。他們將這些作爲單獨的層次結構,並將它們放在用戶層次結構中。 然後,他們爲金額(在訂單行級別)創建了一個銷售訂單度量值組。他們將此與銷售訂單維度和產品維度相關聯。這可以讓您獲得訂單總額或特定產品類別的總額。

您可以下載AdventureWorks 2012 MD多維數據集here,並自己看看。

+0

你是對的,他們有互聯網銷售,分銷商銷售,他們做了一個銷售總結和生成從事實(這是訂單行級)的退化維度能夠聚合他們的訂單級別的數據。但是,如果您希望Adventure作品從包含產品X的所有銷售中返回總銷售額,則無法使用計算成員(如果甚至可能......但我希望如此)乾淨利落地完成此操作。因爲只需詢問「選擇TotalSale ON 0 FROM立方體WHERE Product.X」將只給出包含產品的行數量而不是銷售數量。 – Nick

+0

將您的分析分離爲Internet銷售。存在包含訂單和訂單行的Internet銷售訂單詳細信息維度。這與互聯網銷售措施組有關。這與您正在查找的內容類似。您可以使用互聯網銷售額事實來獲得所有訂單和產品類別的總銷售額。 – mmarie

+0

我很難解釋...如果您參考我的示例數據。如果我執行「SELECT [Measures]。[Sales Amount] ON 0,[Product]。[Category]。&[FOO] ON 1 FROM Cube」,它將返回125 $,因爲鏈接到FOO類別的銷售金額是125 $。但是我想要的是145美元。我從我的數據中再現Adventure Works的結構沒有任何問題,但它不包含我需要獲得包含指定產品的一行或多行的所有訂單的總訂單銷售額的度量。但我知道所有的工具都在那裏,但我無法弄清楚如何得到它。 – Nick