MDX计算成员过滤使用度量

时间:2014-08-19 10:54:27

标签: mdx ssas-2012

我需要计算成员的帮助 我有这个代码

CREATE MEMBER CURRENTCUBE.[Measures].[Summary distribution by CSKU]
 AS count(
    NONEMPTY(
        crossjoin(
                descendants ([05_Goods].[CSKU].currentmember,,LEAVES),
                descendants ([04_Agents].[Agents hierarhy],,LEAVES)
            )        
        )
), 
FORMAT_STRING = "###,##0;-###,##0", 
NON_EMPTY_BEHAVIOR = { [Quantity] }, 
VISIBLE = 1 ,  DISPLAY_FOLDER = 'Distribution' ,  ASSOCIATED_MEASURE_GROUP = '01_Sales'  ;   

但我希望看到一个没有元素的结果,其中sum([Measures]。[Sales amount])<> 0

我该怎么办? 谢谢!

梅德

1 个答案:

答案 0 :(得分:1)

我没有看到除使用MDX Filter function之外的其他选择:

 ...
 AS count(
   FILTER(  
    crossjoin(
            descendants ([05_Goods].[CSKU].currentmember,,LEAVES),
            descendants ([04_Agents].[Agents hierarhy],,LEAVES)
        )
    ,  [Measures].[Sales amount] <> 0)
    )

您可以尝试将NonEmpty添加到后代方法中以​​提高性能(如果某些后代没有[Sales Amount]。