Hi Kuro, My suggestion to you is to create a stored process with MDX and prompt filter that the user could choose the range he wants. For example: * Stored process prompt dictionary: * ____________________________________ * PERIOD_S * Type: Text * Label: Choose start range* Attr: Visible * ____________________________________ * ____________________________________ * PERIOD_E * Type: Text * Label: Choose end range* Attr: Visible * ____________________________________ * ____________________________________ /*Create Macro Vars For Each Member in the Hirarchy*/ data _null_; call symputx('y_s',put(year("&period_s"d),4.)); call symputx('q_s',compress('Q'||put(qtr("&period_s"d),2.))); call symputx('m_s',put("&period_s"d,yymmn6.)); run; data _null_; call symputx('y_e',put(year("&period_e"d),4.)); call symputx('q_e',compress('Q'||put(qtr("&period_e"d),2.))); call symputx('m_e',put("&period_e"d,yymmn6.)); run; proc sql; connect to olap (user="corp\sasprod" pass="{sas001}c2VwdGVtYmVy" host="sasprod" port=5451) ; create table prem as select * from connection to olap ( SELECT { [Measures].[STPBRTSUM] , [Measures].[PLMLY] , [Measures].[PLM], [Measures].[PLMYTD],[Measures].[PLMLYYTD] } ON COLUMNS , crossjoin( {[Agent].[Sub-Deal].[SUB_AGENT_NM].Members } , {[Period].[All Period].[&y_s].[&q_s].[&m_s]:[Period].[All Period].[&y_e].[&q_e].[&m_e]}) ON ROWS FROM [Production] WHERE ([CalculationType].[All Calculation Type].[פרודוקציה - תוספת] ) ); disconnect from olap; quit; I hope this helps you.
... View more