我有一个MDX过滤器问题,我认为我正确使用但是我仍然得到一些我不想得到的行。 示例查询是:
SELECT {[Measures].[AFR],[Measures].[IB],[Measures].[IC All]} ON COLUMNS,
NON EMPTY ( ([dim_ProductModel].[Product Model].&[DSDB])
* FILTER( ([dim_Country].[Country Name].members -[dim_Name].[Country Key].[All]),[Dim_Date].[Date Full].&[2014-01-01]*[Measures].[IB] > 0 AND NOT ISEMPTY ([Dim_Date].[Date Full].&[2014-01-01]*[Measures].[IB] ))
* {[Dim_Date].[Date Full].&[2013-02-01]:[Dim_Date].[Date Full].&[2014-01-01]})
ON ROWS FROM [cub_dashboard_spares]
现在我需要的是排除那些国家! (过滤器)在这种情况下针对特定产品型号[DSDB],其中在2014年1月(尺寸),测量IB是> 0或不为null。现在它似乎正确地过滤了一些国家,但是我仍然得到一些结果,其中IB在上个月为0或IB在上个月(在我们的情况下为2014年1月)(无效)。
可以请任何人帮我解决问题吗?
非常感谢
答案 0 :(得分:1)
我会将国家/地区添加到过滤条件中,即。即使用
SELECT {[Measures].[AFR],[Measures].[IB],[Measures].[IC All]}
ON COLUMNS,
NON EMPTY
[dim_ProductModel].[Product Model].&[DSDB]
* FILTER(([dim_Country].[Country Name].members -[dim_Name].[Country Key].[All]),
([dim_Country].[Country Name].CurrentMember, [Dim_Date].[Date Full].&[2014-01-01], [Measures].[IB]) > 0
AND NOT
ISEMPTY(([dim_Country].[Country Name].CurrentMember, [Dim_Date].[Date Full].&[2014-01-01], [Measures].[IB]))
)
* {[Dim_Date].[Date Full].&[2013-02-01]:[Dim_Date].[Date Full].&[2014-01-01]}
ON ROWS
FROM [cub_dashboard_spares]
答案 1 :(得分:0)
这是我的问题..:不明白为什么出现AFR 0的结果:(