These are not the missing values you are looking for

Special numeric values missing in SAS

Although most pharmaceutical statisticians and SAS programmers will be aware the SAS stores missing values, and usually represents them with a “.” character, there is a range of options in SAS for storing missing data. A SAS special numeric missing value is a type of numeric missing value that allows different categories of missing data to be represented by using the letters A–Z or an underscore, e.g. representing different reasons for missing values in pharmacokinetic concentration data.

A missing value is smaller than all numbers, with missing numeric values appearing first for a variable used in sorting a dataset. Missing values are ordered as follows: “._” is ordered first, followed by “.”, followed by “.A” to “.Z” with .A being the smallest and .Z being the largest missing value. The special missing value is not case sensitive.

By creating a test dataset containing some special missing values and some positive integers, we can explore how SAS handles these values:

PROC SUMMARY output shows that the special missing values are considered as missing values by SAS functions and procedures and are not counted individually:

The special missing values can be used in logical statements to select specific records:

DATA test2;

 SET test;

WHERE i = .l;

RUN;

 

Special missing values can be assigned a format which is used when displaying the data; note that this is still considered a missing value by SAS functions and procedures:

PROC FORMAT;

 VALUE specmiss;

.A = 'Not Applicable'

.C = 'Not Collected'

.L = 'Below LLoQ';

RUN;

 

The special numeric missing values provided by SAS can be useful tools when working with raw data or analysis data to help separate different reasons for a variable to be missing, such as the value being below the Lower Limit of Quantification.  These values can be formatted to display a more meaningful label and can be selected in logical statements as distinct to a null value, whilst being counted as a null value by SAS functions and procedures.

It’s very important to note that the SDTM Implementation Guide version 3.1.2 states “Missing values for individual data items should be represented by nulls. This is a change from previous versions of the SDTMIG, which allowed sponsors to define their conventions for missing values.” Special numeric missing values can be useful when working with raw and analysis data. However, they should not be stored in SDTM or ADaM datasets as CDISC has its own methodology for storing information about missing data using record qualifiers such as xxREASND and xxSTAT.