0

我正在使用两个维度:ProductsColors

例如,要返回与 RED 颜色关联的所有产品,我可以编写:

SELECT {Measures.[Product Count]} ON COLUMNS,
     {[Products].[ID].Members} ON ROWS

FROM MyCube
WHERE [Colors].[Type].&[RED]

这将返回与 RED 颜色关联的产品,无论它们是否也与其他颜色关联。

现在,我想计算那些仅与红色相关的产品。例如,如果产品与 BLUE 和 RED 相关联,则不应计算在内。上面的代码段确实不起作用。

逻辑条件如下:

计算仅与红色相关的产品

谁能为此展示正确的MDX?

4

1 回答 1

0

主要思想是计算与红色以外的颜色相关的产品数量:

WITH MEMBER [Measures].[only red] AS
    Count([Products].[ID].Members) -
    Count(NonEmpty([Products].[ID].Members, 
                   CrossJoin(Except([Colors].[Type].Members, {[Colors].[Type].&[RED]}), 
                             {[Measures].[Product Count]})))

SELECT [Measures].[only red] ON 0
FROM MyCube
于 2012-11-15T22:20:38.053 回答