BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
kindbe17
Fluorite | Level 6

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;

1 ACCEPTED SOLUTION

Accepted Solutions
PeterClemmensen
Tourmaline | Level 20

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.;

View solution in original post

4 REPLIES 4
PeterClemmensen
Tourmaline | Level 20

Do you want the overall max in a macro variable or the max by some group?

kindbe17
Fluorite | Level 6

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

PeterClemmensen
Tourmaline | Level 20

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.;
kindbe17
Fluorite | Level 6

i thought i will be able to use if last. too, now i got it, thank you so much.

SAS Innovate 2025: Register Now

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!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 843 views
  • 0 likes
  • 2 in conversation