在计算成员中使用过滤器

时间:2012-04-30 17:59:20

标签: filter mdx

我遇到了一些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 子句中使用它,因为并非所有产品都具有相同的版本。 有没有什么办法可以通过计算出来的memeber中的Filter表达式来实现这个目的?我试图使用,但我一直收到错误。

FYI产品版本属于另一个维度 [DimVersion]

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您可以尝试通过DimVersion'A'成员过滤ProductAVersionA计算成员,如下所示:

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