Ssas MDX选择以排除筛选集
几天来,我一直在尝试正确地编写mdx select,但每次得到的结果要么超过正确的数字,要么就是错误。 我必须统计我的订单,但不包括2010年客户标志为1的订单。 基本上,我有一个事实表,上面有订单+暗淡客户+暗淡日期。比我有: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
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的结果吗?