我正在使用两个维度:Products
和Colors
例如,要返回与RED颜色相关的所有产品,我可以写:
SELECT {Measures.[Product Count]} ON COLUMNS,
{[Products].[ID].Members} ON ROWS
FROM MyCube
WHERE [Colors].[Type].&[RED]
这将返回与RED颜色相关的产品,无论它们是否与其他颜色相关联。
现在,我想将那些仅与RED颜色相关联的产品计算在内。例如,如果产品与BLUE和RED相关联,则不应计算。上面的代码段确实无法正常工作。
逻辑条件如下:
统计与红色完全相关的产品
任何人都可以为此展示合适的MDX吗?
答案 0 :(得分: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