Mdx Query Show Year Level Data for all years except This Year -


select    non empty      {[measures].[amountcur]} on 0  ,non empty      {       null : [prx_ue_date].[calender].[year].&[2015]      ,[prx_ue_date].[calender].[year].&[2017]      ,descendants       (         [prx_ue_date].[calender].[year].&[2016]        ,[prx_ue_date].[calender].[month]       )     } on 1 [prx_salesdatamodel]; 

i have query above. it's working returns 2016 on month based others years year based.

now have add more dimensions on mdx when try

select    non empty      {[measures].[amountcur]} on 0  ,non empty      {       null : [prx_ue_date].[calender].[year].&[2015]      ,[prx_ue_date].[calender].[year].&[2017]      ,         descendants         (           [prx_ue_date].[calender].[year].&[2016]          ,[prx_ue_date].[calender].[month]         )       *          [prx ue client].[segmentid].allmembers     } on 1 [prx_salesdatamodel]; 

i error members, tuples or sets must use same hierarchies in function.

you need keep date dimension stuff in set braces {...}:

select    non empty      {[measures].[amountcur]} on 0  ,non empty      {       null : [prx_ue_date].[calender].[year].&[2015]      ,[prx_ue_date].[calender].[year].&[2017]      ,         descendants         (           [prx_ue_date].[calender].[year].&[2016]          ,[prx_ue_date].[calender].[month]         )       }      * [prx ue client].[segmentid].allmembers      on 1 [prx_salesdatamodel]; 

you make maybe more readable moving date stuff named set via clause:

with set [datesset]     {       null : [prx_ue_date].[calender].[year].&[2015]      ,[prx_ue_date].[calender].[year].&[2017]      ,         descendants         (           [prx_ue_date].[calender].[year].&[2016]          ,[prx_ue_date].[calender].[month]         )       } select    non empty      {[measures].[amountcur]} on 0  ,non empty      [datesset]      * [prx ue client].[segmentid].allmembers      on 1 [prx_salesdatamodel];