Detectar nulos en tablas SAS

Es frecuente la necesidad de validar y gestionar la existencia de nulos en los datos que manejamos en los procesos de análisis de reporting.

A continuación añadimos un pequeño script SAS en el que aparecen ejemplos de asignación de nulos a columnas de tablas o de la validación de los nulos. En el ejemplo se ven los casos en los que el tratamiento de nulos difiere si la columna es numérica o alfanumérica y se muestran ejemplos de funciones útiles tales como: missing(), nmiss() y cmiss(). Igualmente se muestra alguna diferencia que existe entre validar nulos en una sentencia condicional if o en una clausula where. Esperamos sea de utilidad y nos sirva como breve compendio que nos evite los problemas comunes en la detección de nulos.

/* Validar nulos: diferentes opciones */

/* Tabla con campos nulos. Asignación de nulos */

data tabinput;
length campo1 $10 campo2 8.;
campo1 = “”; /* asignar nulos en alfanuméricos */
campo2 = 3;
output;
campo1 = “b”;
campo2 = .; /* asignar nulo en numéricos */
output;
campo1 = “a”;
campo2 = 5;
output;
run;

data validar_nulos;
set tabinput;
where campo1 is missing; /* funciona en un where pero no en un if */
run;

data validar_nulos;
set tabinput;
where campo1 is null; /* funciona en un where pero no en un if */
run;

data validar_nulos;
set tabinput;
if campo1 eq “”; /* validar nulos en alfanuméricos */
run;

data validar_nulos;
set tabinput;
if campo2 eq .; /* validar nulos en numéricos */
run;

data validar_nulos;
set tabinput;
if missing(campo1); /* función missing valida para alfanuméricos y numéricos */
run;

data validar_nulos;
set tabinput;
if nmiss(campo2) = 1 ; /* contador de missings valida para numéricos */
run;

data validar_nulos;
set tabinput;
if cmiss(campo1) = 1 ; /* contador de missings valida para numéricos y alfanuméricos */
run;

Si estás interesado en formarte en SAS, te recomendamos nuestro curso on-line: http://online.datademy.es/course/sas/

Share

Deja un comentario