If the data are sorted by report_date, then you can make a dataset with one obs per report date, with all the non-missing values for other variables, in four statements:
data want;
update have (obs=0) have;
by report_date;
run;
This assumes that no column has more than one non-missing value for each report date.
... View more