2011-02-04 125 views
3

我有一个查询试图过滤结果,它等于某个值。查询初级讲座正常工作......MDX过滤器查询

SELECT NON EMPTY {[Date].[Year Number].Members} ON COLUMNS, 
NON EMPTY CROSSJOIN({[ItemCode].[Item Category].Members}, {[Measures].[Net Sales], [Measures].[Total Cost], [Measures].[Profit]}) ON ROWS 
FROM (SELECT Filter([ItemCode].[Item Category].[Item Category].Members, ([Measures].[Net Sales] = 3440.8)) ON COLUMNS FROM [Sales]) 

...但相同的查询,但用不同的值...

SELECT NON EMPTY {[Date].[Year Number].Members} ON COLUMNS, 
NON EMPTY CROSSJOIN({[ItemCode].[Item Category].Members}, {[Measures].[Net Sales], [Measures].[Total Cost], [Measures].[Profit]}) ON ROWS 
FROM (SELECT Filter([ItemCode].[Item Category].[Item Category].Members, ([Measures].[Net Sales] = 41581.65)) ON COLUMNS FROM [Sales]) 

...不想要在所有的工作。我知道他们都应该正常工作,因为这两个值都存在于多维数据集中,并且不仅仅是这个值不起作用,而且还有很多,并且据我所知,没有任何模式。

+0

很混乱?您是否尝试过在没有NON EMPTY的情况下运行查询 - 这是我能想到的唯一的事情。 – 2011-02-07 13:01:32

回答

2

我建议检查[Net Sales]的数据类型,如果它是浮点类型例如双击然后搜索确切的值可能无法正常工作。即数据库中的41581.65值可以是41581.6500001。

如果您将数据类型更改为固定精度,例如货币,那么查询可能会起作用。看看这个链接for the many benfits of money