Ssas MDX选择以排除筛选集

Ssas MDX选择以排除筛选集,ssas,mdx,cube,Ssas,Mdx,Cube,几天来,我一直在尝试正确地编写mdx select,但每次得到的结果要么超过正确的数字,要么就是错误。 我必须统计我的订单,但不包括2010年客户标志为1的订单。 基本上,我有一个事实表,上面有订单+暗淡客户+暗淡日期。比我有: WITH MEMBER [count] as count(exists([DIM ORDERS].[ORDERS ID].children, {EXCEPT([DIM CUSTOMER].[FLAG].children,FILTER([DIM CUSTOMER].[FL

几天来,我一直在尝试正确地编写mdx select,但每次得到的结果要么超过正确的数字,要么就是错误。 我必须统计我的订单,但不包括2010年客户标志为1的订单。 基本上,我有一个事实表,上面有订单+暗淡客户+暗淡日期。比我有:

WITH MEMBER [count] as count(exists([DIM ORDERS].[ORDERS ID].children,
{EXCEPT([DIM CUSTOMER].[FLAG].children,FILTER([DIM CUSTOMER].[FLAG].&[1] ,[DIM CUSTOMER].[FLAG].currentmember IS [DIM_DATE].[YEAR].&[2010]))},
'FACT_ORDERS'))
SELECT [count] on 0 from [Cube]

我哪里做错了?对于我的任务,这是正确的MDX吗。请帮帮我。

看来我误解了这个问题。在这种情况下,解决方案是:

WITH MEMBER [YourCount] AS
    IIF( [DIM_DATE].[YEAR].CURRENTMEMBER IS [DIM_DATE].[YEAR].&[2010],
        IIF( NOT([DIM CUSTOMER].[FLAG].CURRENTMEMBER IS [DIM CUSTOMER].[FLAG].&[1]),
            [Measures].[YourMeasureOnOrder],
            NULL)
        ),
    [Measures].[YourMeasureOnOrder])
SELECT 
    NON EMPTY {[YourCount]} ON 0
FROM [Cube]

这不会只返回2010年的结果,而不是所有结果,除了那些在2010年有客户标志1的结果吗?