In order to demonstrate the issue, I have the same Adventure Works cube solution deployed on SSAS 2008 (SP3/10.0.5844.0) and SSAS 2008 R2 (10.50.1600.1). When I run the same query on both servers, I get a different result set and the one from SSAS (SP3) is wrong. If I remove the NON EMPTY keyword from the query then the result set is same on both the servers. Is there a fix available for SSAS 2008 SP3 as we currently don't own a R2 licence in our production enviornment? Also the suggestions to restructure the MDX query will not work because the queries are issued by a third party control and we don't have any control over it.
SSAS 2008 SP3 Output
Female Male (Total)
60,398 60,398 60,398
SSAS 2008 R2 Output
Male (Total)
60,398 60,398
with set [Employee Gender (Total)] as Hierarchize( Distinct({[Employee].[Gender].&[M], [Employee].[Gender].[All Employees].[(Total)]})) member [Employee].[Gender].[All Employees].[(Total)] as Aggregate({[Employee].[Gender].&[M]}) Select NON EMPTY Distinct( INTERSECT( Union( {[Employee].[Gender].[All Employees], [Employee].[Gender].[All Employees].CHILDREN}, [Employee].[Gender].[All Employees].[(Total)] ),[Employee Gender (Total)] )) ON COLUMNS FROM [Adventure Works]