Ejemplos (mandato DO IF)
Ejemplo de condición única simple
DO IF (YearHired LT 87).
RECODE Ethnicity(1=5)(2=4)(4=2)(5=1).
END IF.
- El mandato
RECODErecodifica Etnicidad para las personas contratadas antes de 1987 (YearHired es inferior a 87). La variable Etnicidad no se recodifica para las personas contratadas en 1987 o posterior. - El mandato
RECODEse omite para cualquier caso con un valor perdido para YearHired.
Ejecución condicional basada en una expresión lógica
DATA LIST FREE / X(F1).
NUMERIC #QINIT.
DO IF NOT #QINIT.
+ PRINT EJECT.
+ COMPUTE #QINIT = 1.
END IF.
PRINT / X.
BEGIN DATA
1 2 3 4 5
END DATA.
EXECUTE.
- Este ejemplo muestra cómo ejecutar un mandato sólo una vez.
- El mandato
NUMERICcrea la variable reutilizable #QINIT, que se inicializa en 0. - El operador lógico
NOTenDO IFinvierte el resultado de una expresión lógica. En este ejemplo, la expresión lógica es una variable numérica que toma sólo 0 (falso) o 1 (verdadero) como sus valores. El mandatoPRINT EJECTsólo se ejecuta una vez, cuando el valor de la variable reutilizable #QINIT es igual a 0. Después de que el mandatoCOMPUTEestablezca #QINIT en 1, la estructuraDO IFse omite para todos los casos posteriores. Se utiliza una variable reutilizable porque se inicializa en 0 y no se reinicializa después de cada caso.