Can i create a macro variable that will keep the largest value of NHITS from SASHELP.BASEBALL dataset using If Last. ?
i guess i am doing something wrong in my code above
data baseball_1;
set sashelp.baseball;
run;
proc sort data=baseball_1;
by name nhits;
run;
data m;
set Baseball_1;
by name;
if last.name then n=1;
call symputx('maxnhits', n);
proc print;
run;
You got several methods yesterday? The last. / fist. variables are not suitable for this purpose. They indicate By-Group Boundaries, not the end of an entire data set.
From yesterday:
data _null_;
set sashelp.baseball end = z;
if NHITS > n then n = NHITS;
if z then call symputx('maxNHITS', n);
retain n;
run;
%put &maxNHITS.;
Do you want the overall max in a macro variable or the max by some group?
i just want to create a macro variable that will keep the largest value of nhits, i think that value is 238 value from nhits variable, i dont know how to do that
You got several methods yesterday? The last. / fist. variables are not suitable for this purpose. They indicate By-Group Boundaries, not the end of an entire data set.
From yesterday:
data _null_;
set sashelp.baseball end = z;
if NHITS > n then n = NHITS;
if z then call symputx('maxNHITS', n);
retain n;
run;
%put &maxNHITS.;
i thought i will be able to use if last. too, now i got it, thank you so much.
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.