SAS Miss function

SAS Day 20: Miss function

There are two miss functions in SAS I really like, NMISS and CMISS.


if we want to calculate the duration as aendt(Adverse Event End Date) – aestdt (Adverse Event Start Date). Ideally, we can use adurn=aendt-aestdt +1. However, in reality, we know there are high probabilities with missing AE dates.

Background Knowledge:

NMISS function is reserved for numeric variables.

MISSING and CMISS function can be used with either character or numeric arguments.

NMISS and CMISS count the number of arguments with missing values.

Engin_Akyurt / Pixabay


  1. Basic Approach
    if aendt^=. and aestdt^=. then adurn=aendt-aestdt+12.

      2. NMISS function

if nmiss(aendt, astdt)=0 then


What if we want the Adverse Event Duration Time of the Patients’ with AE ends up in hospitalization?

       3. CMISS function

data adurn;
set ae;
if cmiss(aeshosp, aestdy, aeendt)=0
then adurn=aestdy-aeendt+1;



Methods of selecting non-missing records:

  1. x neq. , x neq ” “, Miss(x)=0 
    note: with Miss function, we don’t need to worry about the type of variables 

  2. NMISS: good for selecting multiple numbers of non-missing numerical variables.
    e.g. nmiss(x1, x2,….xn)=0

  3. CMISS: good for selecting multiple numbers of non-missing character or mixed variables.
    e.g. cmiss(subjid, aestdy, aeendt)=0 


Happy Studying!!!



Post navigation

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Social media & sharing icons powered by UltimatelySocial
%d bloggers like this: