Something like this, I suppose:
Data want;
do until(last.familynm);
set have;
by familynm;
array ages(*) age1-age144;
array maxage(*) 8 maxage1-maxage144;
do _N_=1 to dim(ages);
maxage(_N_)=max(maxage(_N_),ages(_N_));
end;
end;
do until(last.familynm);
set have;
by familynm;
output;
end;
run;
Something like this, I suppose:
Data want;
do until(last.familynm);
set have;
by familynm;
array ages(*) age1-age144;
array maxage(*) 8 maxage1-maxage144;
do _N_=1 to dim(ages);
maxage(_N_)=max(maxage(_N_),ages(_N_));
end;
end;
do until(last.familynm);
set have;
by familynm;
output;
end;
run;
This seems like you may be attempting to force a spreadsheet style of solution onto a SAS data set.
How do you expect to use that result?
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.