Monday, September 29, 2008

MDX Query Returns Duplicate Values

When someone is querying a new Analysis Services cube, there is one mistake that I often see made: trying to use a dimension that does not relate to the desired measure group. For example, when looking at the Adventure Works cube, if you try to use any of the Reseller measures with the Customer dimension, you will receive the same value across the Customer members. Because there is no relationship defined in the cube, the MDX query will use the default member for that particular attribute, which, in this case, is the ‘All’ member. It would look something like this:

This type of situation typically goes away once a user has learned the new data model, but Management Studio 2008 provides a neat dropdown list to help initially avoid the rogue query. On the Metadata tab, under the label Measure Group, you can select the measure group you are targeting. The GUI refreshes to only show the dimensions and measures that are associated with that measure group. If we select the ‘Reseller Sales’ measure group, we can see the way the new display looks, including no Customer dimension!
A user can still use the inappropriate dimension, but hopefully this will prevent the issue right from the start. Happy querying!

Version: SQL Server 2008 RTM


Anonymous said...

This feature also exists in SS 2005.

Jessica M. Moss said...

Hi Anonymous,

Thank you for your comment. It appears that I do not have the Measure Group drop down on my version of SSMS 2005. Do you know what version you're using or if you had to turn on a specific option to enable this? I think it would be very helpful for me and others to know!

Thank you,

Anonymous said...
This comment has been removed by a blog administrator.