SAS Enterprise Guide

Introducción a SAS Enterprise Guide

Qué es Enterprise Guide, cómo se organizan proyectos, flujos y el editor de código, y cómo encaja con el motor SAS Base que ejecuta DATA steps y PROCs.

Descripción

SAS Enterprise Guide (EG) es un cliente de escritorio que te permite construir analítica sin obligarte a escribir todo a mano: puedes arrastrar tareas, generar código SAS detrás y revisarlo o ampliarlo en el editor. Aun así, el corazón sigue siendo el lenguaje SAS: los programas se envían al servidor (local o remoto) y el resultado vuelve como tablas, listados y gráficos. Familiarízate con tres ideas: (1) el **proyecto** agrupa flujos, consultas y referencias a datos; (2) un **flujo** encadena procesos con dependencias visuales; (3) el **programa SAS** es texto que puedes versionar, comentar y reutilizar. EG no sustituye a Base SAS: lo orquesta. Para depurar, usa el registro (log): allí verás errores de sintaxis, conversiones implícitas y advertencias de longitud de variables. Si vienes de SQL puro, en EG suele convivir **PROC SQL** (consultas declarativas) con **DATA step** (filas y columnas paso a paso): ambos comparten muchas funciones y formatos, pero el modelo mental difiere (conjunto vs fila a fila).

Estructura general

Esqueleto de programa SAS tal como suele escribirse en Enterprise Guide: opciones, DATA step y PROCs. Ajusta nombres de biblioteca y tablas a tu entorno.

SAS
/* Programa SAS mínimo en Enterprise Guide */
OPTIONS NOCENTER;

DATA trabajo.ejemplo;
  set trabajo.origen;
  /* derivadas y filtros */
  where fecha >= '01JAN2026'd;
RUN;

PROC PRINT DATA=trabajo.ejemplo(obs=10);
RUN;

Componentes

Piezas habituales de un programa: sesión, lectura de datos y procedimientos.

OPTIONS
Ajusta comportamiento de la sesión (salida, centrado, observaciones erróneas, etc.). Suele ir al inicio del programa o en un bloque AUTOEXEC.
DATA / SET
DATA crea o reescribe una tabla SAS; SET lee filas desde una o más tablas. Es el patrón clásico de transformación fila a fila.
WHERE
Filtra filas al leer (similar a SQL WHERE). Reduce I/O cuando SAS puede aplicar el filtro pronto.
PROC ... RUN;
Procedimientos (PRINT, SQL, SORT, MEANS…) ejecutan análisis o consultas sobre tablas ya materializadas. Cada PROC tiene su sintaxis propia.

Ejemplo

SAS
OPTIONS NOCENTER;

DATA trabajo.clientes_activos;
  set crm.clientes;
  where estado = "ACTIVO";
  dias_alta = today() - datepart(fecha_alta);
RUN;

PROC PRINT DATA=trabajo.clientes_activos(obs=5);
  var nombre dias_alta;
RUN;

Comprueba la sintaxis y el comportamiento en la versión de SAS de tu entorno; el log del programa y la ayuda integrada suelen ser la referencia más fiable ante dudas.