☑ This topic is solved.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 04-20-2023 04:14 AM
(1198 views)
Can you help me to Create a macro variable that will keep the largest value of NHITS from SASHELP.BASEBALL dataset.?
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Sure. But why?
Do you have a preferred method?
Here is a pure data step approach
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.;
5 REPLIES 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Try this
proc sql noprint;
select max(NHITS)
into :maxNHITS
from sashelp.baseball
;
quit;
%put &maxNHITS.;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Sir, is there any chance to solve this without using SQL ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Sure. But why?
Do you have a preferred method?
Here is a pure data step approach
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.;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you so much Peter 🙂
The SQL will be my next lesson that's why i asked you that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Instead of
if NHITS > n then n = NHITS;
I would use
n = max(n,nhits);