mdx - Issue with SSAS: Definition of a set causes a circular reference -


this ok , returns sum of default measure past 30 days:

select    [ourcube]     (         closingperiod(             [date].[date - calendar month].[calendar day],             [date].[date - calendar month].defaultmember             ):         closingperiod(             [date].[date - calendar month].[calendar day],             [date].[date - calendar month].defaultmember             ).item(0).lag(30)             ) 

how transfer set of dates in where clause with clause ?
attempted following creates error message detailed:

with      set [30days]     {     closingperiod(             [date].[date - calendar month].[calendar day],             [date].[date - calendar month].defaultmember             ):     closingperiod(         [date].[date - calendar month].[calendar day],         [date].[date - calendar month].defaultmember         ).item(0).lag(30)     } select  [ourcube]   (       [30days]       ) 

executing query ...
definition of 30days set contains circular reference.
execution complete

i believe limitation of ssas , has execution processing of different parts of query; using sub-query (i.e., ( select ... )) instead of not solve issue.

you can define set @ schema level :

create static set [ourcube].[30days] ... 

or depending on client application @ session level:

create session static set set [ourcube].[30days] ... 

Comments