MDX Filter Query - PullRequest
       8

MDX Filter Query

3 голосов
/ 04 февраля 2011

У меня есть запрос, который пытается отфильтровать результаты, где он равен определенному значению. Запрос ниже работает нормально ...

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 Ответ

2 голосов
/ 15 февраля 2011

Я бы рекомендовал проверить тип данных для [Net Sales], если это тип с плавающей запятой, например Double, тогда поиск точного значения может не сработать.то есть значение 41581.65 может быть 41581.6500001 в базе данных.

Если вы измените типы данных с фиксированной точностью, например, Валюта, то запросы могут работать.Взгляните на эту ссылку за многие деньги

...