Вы имеете в виду, что ваш набор данных выглядит как
Дата, Персона, Возврат
01 апреля 2009 г., д, 1,1
и т.д.
и т.д.
/* Then you can do */
data ur_input_data_view / view = ur_input_data_view;
/* assuming your dataset is stored in ur_input_data */
set ur_input_data;
/* obtain the year and month from the date variable */
year = year(date);
mth = year(date);
run;
/* you can skip the sort if your data is already sorted by person then date */
proc sort data = ur_input_data;
by person date;
run;
data output_data;
set ur_input_data_view ;
by person date;
/* reset annual return to null if looking at a new person or month is april */
if first.person or mth = 4 then do;
annual_return = return;
end;
retain annual_return;
annual_return = annual_return * return;
/* this will output nothing for the persons that don't have a record at march */
if mth = 3 then output;
run;