2011-02-04 14 views
3

特定の値と等しい場所で結果をフィルタリングしようとするクエリがあります。クエリはbelowsのdoesntのは、まったく仕事をしたい... ...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]) 

を正常に動作します。私は両方の値が立方体に存在するので両方ともうまく動作するはずであることを知っており、それはdoesntの仕事であり、それはかなりの数であり、私の見るところではパターンはありません。

+0

非常に混乱しますか?あなたはNON EMPTYなしでクエリを実行しようとしましたか?それが私が考えることができる唯一のものです。 –

答えて

2

[Net Sales]のデータ型をチェックすることをお勧めします。ダブルで正確な値を検索すると動作しないことがあります。すなわち、41581.65の値は、データベース内で41581.6500001であってもよい。

データ型を固定精度に変更すると、通貨は、クエリが動作する可能性があります。このリンクをご覧くださいfor the many benfits of money