2012-04-30 62 views
0

我遇到了一些MDX問題,我想計算每個版本每種類型有多少個產品,這將是我的輸出。在計算的記憶中使用過濾器

ProductID | QtyProductAVersionA | QtyProductAVersionB | QtyProductBVersionA | QtyProductBVersionB |

我有這個MDX到目前爲止

WITH MEMBER [Measures].[ProductAVersionA] 
AS SUM([DimProduct].[ProductName].&[ProductA],[Measures].[ProductQty]) 
SELECT NON EMPTY (
     [Measures].[ProductAVersionA]) ON COLUMNS, 
NON EMPTY [DimOrg].[ProductID].[ProductID].MEMBERS ON ROWS 
FROM [Sales] 
WHERE([DimCustomers].[Customer Area].&[United States]) 

但這返回總產品A的,我想只有版本A.過濾產品A我不能在使用WHERE因爲條款不是所有的產品都有相同的版本。 有沒有什麼辦法可以在計算的記憶中使用Filter表達式來實現這一點?我試圖使用,但我一直得到一個錯誤。

FYI產品版本是在另一維度[DimVersion]

任何幫助,將理解

回答

0

您可以嘗試通過DimVersion 'A' 構件過濾ProductAVersionA計算部件如下:

member [Measures].[ProductAVersionA] as 
    sum(([DimProduct].[ProductName].&[ProductA], [DimVersion].[VersionName].&[VersionA]), [Measures].[ProductQty]) 
+0

那麼這很容易:)男子我只使用{}而不是()使用相同的方法。 非常感謝您的幫助! – user1112251

+0

啊,是的,經典的設置vs元組問題。閱讀[this](http://msdn.microsoft.com/zh-cn/library/aa216769%28v=sql.80%29.aspx)以瞭解差異。 –