please try the below i applied the filter
new=%sysfunc(inputn(&end.,best.)); if input(char_ddate,best.)<new;
%let start=1612; /*Must start from end of quarter :Dec March June Sep*/
%let end=1807;
%let date_start=%sysfunc(inputn(&start.,yymmn4.));
%let date_end=%sysfunc(inputn(&end.,yymmn4.));
%put &date_start.;
%put &date_end.;
Data want_month;
do j=0 to intck('QUARTER',&date_start.,&date_end.) ;
ddate=intnx('QUARTER', &date_start., j, 's');
char_ddate = put(ddate, YYMMn4.);
/*Var_Macro_name=compress('m'||put(J,2.));*/
Var_Macro_name='m'||strip(put(J,2.));
call symputx('m'||strip(put(J,2.)), char_ddate);
new=%sysfunc(inputn(&end.,best.));
if input(char_ddate,best.)<new;
output;
end;
format ddate date9.;
Run;
PROC SQL Noprint;
select count(*) INTO:n
from want_month
;
QUIT;
... View more