How to Set Variable Values to Missing in a DATA Step
You can set values to missing within your DATA step by using program statements such
as this one:
if age<0 then
age=.;
This statement sets the stored value of Age to a numeric missing value if Age has a value
less than 0.
Note: You can display a missing numeric value with a character other than a period by
using the DATA step's MISSING statement or the MISSING= system option.
The following example sets the stored value of Name to a missing character value if
Name has a value of “none”:
if name="none" then name='';
Alternatively, if you want to set to a missing value for one or more variable values, you
can use the CALL MISSING routine. For example:
call missing(sales, name);
This sets both variable values to a missing value.
Note: You can mix character and numeric variables in the CALL MISSING routine
argument list.
How to Check for Missing Values in a DATA Step
You can use the N and NMISS functions to return the number of nonmissing and
missing values, respectively, from a list of numeric arguments.
When you check for ordinary missing numeric values, you can use code that is similar to
the following:
if numvar=. then do;
If your data contains special missing values, you can check for either an ordinary or
special missing value with a statement that is similar to the following:
if numvar<=.z then do;
To check for a missing character value, you can use a statement that is similar to the
following:
if charvar=' ' then do;
The MISSING function enables you to check for either a character or numeric missing
value, as in:
if missing(var) then do;
In each case, SAS checks whether the value of the variable in the current observation
satisfies the condition specified. If it does, SAS executes the DO group.
Note: Missing values have a value of false when you use them with logical operators
such as AND or OR.
90 Chapter 5 • Missing Values