Почему бы просто не создать большой набор данных по ходу дела?
Определение макроса:
%macro runpromo(setid=, title=, start=, end=, no=);
%get_offer_data(label=&title,start=date &start,end=date &end,rc=%quote(&setid),source=1);
data promo_fix;
length item_desc $50;
set edw_final;
run;
proc append base=all_promos data=promo_fix force;
run;
%mend runpromo;
Программа:
proc delete data=all_promos;
run;
data _null_;
set macros;
call execute(cats('%nrstr(%runpromo)'
,'(setid=',code
,',title=',promo_title
,',start =',start_date
,',end=',end_date
,',no=',count
,');'
));
run;