Don't keep data in structure.
proc transpose data=class out=class_long;
by store;
var mon_:;
run;
data want;
do until (last.store);
set class_long;
by store;
count = sum(count,(lag(col1) ne 0 and col1 = 0 and not first.store));
end;
keep store count;
run;
With the wide structure, use array processing:
data want;
set class;
array mon {*} mon_:;
do i = 2 to dim(mon);
count = sum(count,(mon{i-1} ne 0 and mon{i} = 0));
end;
drop i;
run;
... View more