sábado, 26 de noviembre de 2016

Video tutorial: trasponer datos en SAS

Adjuntamos un nuevo videotutorial donde mediante un ejemplo vemos como trasponer datos en SAS (procedimiento proc transpose) reorganizando la estructura de la tabla pasando campos de filas a columnas.



Esperamos que os sea de utilidad.

Más info:  Formación SAS

domingo, 6 de noviembre de 2016

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;

Más info en:

Formación SAS