Вот один из методов.
Я использовал cutoff_date вместо даты, потому что это помогает легче различать даты. Используйте INTNX () для вычисления даты. В этом случае я устанавливаю обрезание как конец cutoff_month и начало двух месяцев назад. Возможно, вам придется определить это более четко, чтобы удовлетворить ваши потребности, но это работает.
%let cutoff_date=201909;
proc sql;
create table want as
select month(sending_date) as Month, count(*) as num
from have
where sending_date between intnx('month', input("&cutoff_date.", yymmn6.), 0, 'e') and intnx('month', input("&cutoff_date.", yymmn6.), -2, 'b')
group by calculated Month;
quit;