* Working with missing values and DO IFs. * The Syntax Reference Guide states: *"Missing values returned by the logical expression on DO IF or on any ELSE IF cause control * to pass to the END IF command at that point." * rlevesque@videotron.ca. DATA LIST FREE /a. BEGIN DATA 1 . 1 . END DATA. COMPUTE b=a. * Thus the following code. DO IF a=1. COMPUTE a1=1. ELSE IF MISSING(a). COMPUTE a1=2. END IF. * does NOT work because when the result of a=1 is missing, the execution immediately jumps to the END IF line. * The second condition MISSING(a) is never tested. On the other hand the following works. DO IF MISSING(b). COMPUTE b1=2. ELSE IF b=1. COMPUTE b1=1. END IF.