Filter MDX筛选器查询

Filter MDX筛选器查询,filter,equals,mdx,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 Filte

我有一个查询,它试图过滤等于某个值的结果。下面的查询工作正常

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])

…根本不想工作。我知道它们都应该可以正常工作,因为这两个值都存在于多维数据集中,而且不仅仅是这个值不起作用,它是相当多的,而且据我所知,没有模式。

我建议检查[Net Sales]的数据类型,如果它是浮点类型,例如Double,则搜索精确的值可能不起作用。i、 e.数据库中的41581.65值可以是41581.6500001


如果将数据类型更改为固定精度(例如货币),则查询可能会起作用。看看这个链接

很混乱吗?您是否尝试过在没有非空的情况下运行查询?这是我唯一能想到的。