Following your logic as I understand it, try this:
data have;
infile datalines delimiter=',';
informat Agreement $char4. Effective_Date1 ddmmyy10. Debit Credit;
format Agreement $char4. Effective_Date1 ddmmyy10. Debit Credit;
input Agreement Effective_Date1 Debit Credit;
datalines;
A1,01/02/2020,100,0
A1,01/02/2020,632,0
A1,01/02/2020,0, 100
A1,01/02/2020,0,632
A1,01/02/2020,100,0
A1,01/02/2020,632,0
A1,01/02/2020,0,3
A1,01/02/2020,3,0
A1,22/02/2020,3,0
A2,02/03/2020,50,0
;;
data expanded;
set have;
n = _n_;
cr = (credit not in (0,.));
amount = sum(debit,credit);
run;
proc sort data=expanded;
by agreement effective_date1 cr amount n;
run;
data counted;
set expanded;
by agreement effective_date1 cr amount;
array ct (0:1) count_debit count_credit;
if first.cr
then do;
ct{0} = 0;
ct{1} = 0;
end;
if first.amount
then ct{cr} = 1;
else ct{cr} + 1;
run;
proc sort
data=counted
out=want (drop=cr n)
;
by n;
run;
... View more