MDX过滤查询

时间:2011-02-04 09:25:09

标签: filter equals 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])

......根本不想工作。我知道它们都应该工作正常,因为立方体中存在两个值,并且它不仅仅是这个值不起作用,它是相当多的,并且据我所知,没有模式。

1 个答案:

答案 0 :(得分:2)

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

如果您将数据类型更改为固定精度,例如货币然后查询可能工作。请查看此链接for the many benfits of money