DATA Step, Macro, Functions and more

FInd Min and max value

Reply
Contributor
Posts: 62

FInd Min and max value

I want to find the min value.
data t;
input x;
cards;
10
20
40
30
26
;run;

 

i found this code


data t1;
set t end=last;
retain y;

y=min(y,x);
run;

And it's giving the right solution.I want to ask that initially the value of y is missing and if we using min(y,x) then it should come as missing value as missing value has the lowest priority, then how come it is coming 10 . Please explain.

 

 

 

 

 

Super Contributor
Posts: 340

Re: FInd Min and max value

http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000245915.htm

 

.. the min function only returns a missing value, if all arguments are missing. This is simply how the function works.

Super User
Posts: 7,868

Re: FInd Min and max value

All those summary functions (max, min, sum, ...) have the advantage that they return a non-missing value as long as one of the arguments is non-missing. If you want a missing value treated as the minimum, you will have to code that manually.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Posts: 19,878

Re: FInd Min and max value

Although it works I would highly recommend using proc means instead. 

 

Proc means data=have stackods min max;
Var x;
ODS output summary=want;
Run;

Proc print data=want;
Run;
Ask a Question
Discussion stats
  • 3 replies
  • 230 views
  • 2 likes
  • 4 in conversation