Не уверен, что вы на самом деле делаете, но вы можете просто сгенерировать набор данных с одним наблюдением за дату и объединить их вместе.
data have ;
input date customers;
informat date date. ;
format date date9.;
cards;
01Mar2019 4
02Mar2019 5
03Mar2019 2
05Mar2019 9
;
proc sql ;
create table all_dates as
select min(date) as mindate, max(date) as maxdate
from have
;
quit;
data all_dates;
set all_dates;
do date=mindate to maxdate;
customers=0;
output;
end;
format date date9.;
keep date customers;
run;
data want;
merge all_dates have;
by date;
run;
Результаты:
Obs date customers
1 01MAR2019 4
2 02MAR2019 5
3 03MAR2019 2
4 04MAR2019 0
5 05MAR2019 9