BookmarkSubscribeRSS Feed
devarayalu
Fluorite | Level 6

data one;

infile datalines missover;

input age;

if age is missing then age=9999;

else age=age;

cards;

8

01

20

0

1

2

;

proc print;

run;

3 REPLIES 3
Quentin
Super User

Hi,

You probably want the missing FUNCTION.  Try:

if missing(age) then age=9999;

Also I would suggest you use SAS special missing values instead of numeric codes.  So:

if missing(age) then age=.S;

--Q.


The Boston Area SAS Users Group (BASUG) is hosting our in person SAS Blowout on Oct 18!
This full-day event in Cambridge, Mass features four presenters from SAS, presenting on a range of SAS 9 programming topics. Pre-registration by Oct 15 is required.
Full details and registration info at https://www.basug.org/events.
cwilson
Calcite | Level 5

Also, the "is missing" syntax is used with the "where" clause, as in Proc SQL or as a filter on Proc freq, for example.

Proc freq data = . . . ;

where age is missing ;

tables . .  . ;

In a DATA step, use:

if age = . then age = 9999 ;

(and you really don't need the else clause)

ballardw
Super User

Or

if missing(age) then age=9999;

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

How to choose a machine learning algorithm

Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 1818 views
  • 0 likes
  • 4 in conversation