We currently run a front-end Manager Information tool that connects to a SQL analysis server to provide flexible reporting. Essentially the front-end builds up some MDX which it then executes on Analysis Services, and prettifies the result as a table.
We are currently upgrading from SQL 2000 to SQL 2008 and have come across a difference in the use of NON EMPTY in MDX.
This is the MDX query in question
SELECT NON EMPTY {[Measures].allMembers} ON ROWS, NON EMPTY {} ON COLUMNS FROM Sales
When run on Analysis Server 2000 it returns the list of Measure member names for the rows, but when run in Analysis Server 2008 nothing is returned.
Looking at the MDX I think 2008 is working as expected, and 2000 is wrong, but it has sort of broken our front-end as it is showing nothing in the case where this MDX is run (the user is then expected to drag on some columns after this you see, but with nothing showing, they can't do this).
So, is there a reason for a difference. Was this a 'bug' in 2000 that was fixed in 2008? Or is there some configuration option somewhere that can affect what is returned? (Essentially I want to avoid to having make a change to our front-end to cope with this!)
Thanks.