Sei sulla pagina 1di 70

Introduccin

SAS Base

Introduccin a SAS/BASE, lenguaje


propio de la plataforma SAS.
http:\\sasybi.blogspot.com
Indice
01 INTRODUCCIN
01.1 Inicio de Sesin
02 PROCEDIMIENTOS Y PASO DATA
02.1 Lectura datos internos
02.2 Lectura datos externos
03 LIBRERIAS
03.1 Definicin
04 PASO DATA
04.1 Instrucciones set del paso data
04.2 Operaciones dataset
04.2 Condiciones
Indice

05 VARIABLES
05.1 Seleccin de variables
05.2 Formatos
05.3 Labels
05.4 Length
06 FUNCIONES SAS
06.1 Funciones numricas
06.2 funciones fecha
06.3 Funciones alfanumricas
Indice

07 PROCEMIENTOS
07.1 Sintaxis
07.2 Procedimientos frecuentes
08 PROC SQL
08.1 Sintaxis
08.2 Joins
09 CONEXIONES A BBDD
09.1 Libreras
09.2 Ejemplo: Oracle, SQL Server, DB2, Teradata
Indice
10 MACROS
10.1 Introduccin
10.2 Variables de macro
10.3 Generacin de cdigo
10.4 Macros con parmetros de entrada
11 COMPRESION DE TABLAS
11.1 CPORT
11.2 CIMPORT
12 PROCEDMIENTOS ESTADISTICOS
12.1 PROC univariate
12.2 PROC Freq
Indice

01 INTRODUCCIN
01.1 Inicio de Sesin
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Introduccin / Inicio de sesin

SAS/BASE es el lenguaje propio de


programacin propio de la plataforma
SAS.

Lenguaje de programacin de la cuarta


generacin flexible y extensible
diseado para acceso de datos,
transformacin y reporting.
Introduccin / Inicio de sesin

Barra Ventana
Men LOG

Explorer

Ventana Editor

Status line
Ventana
Output
Introduccin / Inicio de sesin

Ventana Explorer: Contiene accesos


directos a ficheros, libreras, y una ventana
de resultados.

Ventana EDITOR: Ventana editable para el


desarrollo del lenguaje SAS base.

Ventana LOG: Ventana para la visualizacin


de los logs, escribe mensajes de advertencia
o/y error, e informa sobre la velocidad de
ejecucin.

Ventana OUTPUT: Ventana de resultados.


Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
02.1 Lectura datos internos
02.2 Lectura datos externos
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Procedimientos y Paso Data

PASO DATA PROC

Sintaxis : Data Nombre. Sintaxis : PROC.


Creacin/Modificacin de dataset. Acceso a dataset sin modificar su estructura:
Anlisis, listados, clculos estadsticos...
Dataset : Conjunto de datos creados con SAS.
Para especificar un dataset especifico se
Operaciones dentro de un dataset ( lectura,
utilizaremos la opcin DATA=nombre_dataset.
creacin de variables, cambio de etiquetas.. ) se
Si no se especifica esta opcin utilizar el
realiza dentro de la instruccin DATA.
dataset creado ms reciente.

Cada instruccin es necesario el signo ;.


Los comentarios van precedidos por un signo *.
Todo paso DATA o PROC debe acabar con la sentencia RUN;.
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
02.1 Lectura datos internos
02.2 Lectura datos externos
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Procedimientos y Paso Data / Lectura
datos internos
Paso Data

* Datos correspondientes aun estudio sobre nios superdotados; INPUT : Declaracin de variables, nombre de las
* Se les realizaron dos test; variables y $ si son alfanumricas

CARDS : Lectura de los datos internos


DATA EJEMPLO1;
INPUT NUM_NIN SUP INIC $ SEXO EDAD; PROC PRINT : Procedimiento para listar los datos ,
el resultado de este procedimiento se visualiza en la
CARDS;
ventana de output.
4 1 JPY 1 56
5 2 JTA 1 48
6 4 RMA 0 88
7 2 HFB 0 28
;
RUN;
PROC PRINT;
RUN;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
02.1 Lectura datos internos
02.2 Lectura datos externos
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Procedimientos y Paso Data / Lectura
datos externos
Paso Data

DATA EJEMPLO2; INFILE: Lectura de archivos externos, especificando


INFILE C:\DATOS1.DAT LRECLS=9; la ruta del archivo.
INPUT NUM_NIN 1-2 INIC $ 4-6 SEXO 7 EDAD 8-9;
Opcin: LRECL: mxima longitud de cada lnea
(necesaria si el registro tiene mas de 256
RUN;
caracteres);
PROC PRINT DATA=EJEMPLO2; Formas de lectura:
RUN;
Fichero formato fijo: Especifica las columnas.
DATA EJEMPLO3;
INFILE C:\DATOS2.DAT DLM=09x;
Ficheros con delimitador; (NO espacio en
INPUT NUM_NIN TEST;
blanco) se define con la opicon DLM=
RUN;
separador. Ejemplo DLM=|.

PROC PRINT DATA=EJEMPLO2;


RUN;
Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
03.1 Definicin
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Libreras

Una librera es una carpeta donde se almacenan los


archivos de SAS.

Al crear la librera se accede a los datos, pero al


suprimirla no se borran los datos sino el acceso.

Tipos de Librera :

Locales -> Carpetas dentro del PC

Remotas-> Carpetas del servidor

Temporales -> Librera WORK: se elimina todos los


datos al finalizar la sesin

Permanentes -> Datos permanentes al finalizar la


sesin.
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
03.1 Definicin
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Libreras / Definicin

Libreras

Sintaxis: LIbname : Declaracin de librera


LIBANAME nombre_libreria ruta (local o remota)
Options:
Nombre Librera : Nombre de acceso a la librera. ACCESS=READONLY|TEMP
Ruta: Ruta dnde ser ubicada ( local o remota). COMPRESS=NO | YES | CHAR |
BINARY
Ejemplo: CVPBYTES=bytes
Data prueba1;
Run;
Libname prueba c:\prueba_dir
DATA preuba.prueba2;
Run;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
04.1 Instrucciones set del paso data
04.2 Operaciones dataset
04.3 Condicional
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Paso DATA / Instrucciones set del paso
Data
Paso DATA :SET

LIBNAME TEST 'D:\'; Los datasets EJMEPLO1, EJMEPLO2 y EJMEPLO3 se


DATA TEST.EJEMPLO1; encuentran en las libreras WORK y TEST,; guardados de forma
SET EJEMPLO1; temporal en la librera WORK y de forma permanente en la librera
TEST
RUN;
TITLE : Titulo en la ventana OUTPUT
DATA TEST.EJEMPLO2;
SET EJEMPLO2; FOOTNOTE : Pies de pagina en la ventana OUTPUT
RUN; OPTIONS:
DATA TEST.EJEMPLO4; LS : Numero de caracteres por linea
SET EJEMPLO3; PS: Numero de lineas por pagina
RUN; NODATE : Elimina la cabecera por defecto
OPTIONS LS=75 PS=50 NODATE NONUMBER; NONUMBER: Elimina la numeracin de las pginas.
TITLE 'dataset TEST.EJEMPLO2';
FOOTNOTE 'dataset RESULTADOS';
PROC PRINT DATA=TEST.EJEMPLO2;
RUN;
TITLE;
FOOTNOTE;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
04.1 Instrucciones set del paso data
04.2 Operaciones dataset
04.3 Condicional
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Paso DATA / Operaciones dataset

Paso DATA : Operaciones

DATA B; La instruccin SET asigna al dataset del paso DATA los mismos
SET A; datos, variables y propiedades que el dataset de la instruccin SET.
RUN;
Copia del dataset A llamado B. A y B son iguales

Copia del dataset B llamado C. Y se aade la variable VARA con el


valor 1. Siempre sea necesaria alguna modificacin, operacin,
DATA C; recodificacin, ... en algn dataset se realiza mediante el paso DATA
SET B; y la instruccin SET.
VARA=1;
RUN; Copia en la librera WORK, el datasetAnt, el cual no se modifica en
esta ejecucin.

LIBNAME nombreLib d:\datos_sas;


DATA nombre1;
SET nombreLib.datasetAnt;
RUN;
Paso DATA / Operaciones dataset

Paso DATA : Operaciones

DATA AUXILIAR; Guardar datos en un fichero externo


SET TEST.EJEMPLO1;
FILE :Exportar los datos de un dataset a la ruta y formato
FILE 'A:\DATOS1.DAT' ;
deseados, pero slo ficheros texto.
PUT NUM_NIN 1-2 SUP 3 INIC $ 4-6 SEXO 7 EDAD 8-9;
PUT :Posiciones de cada variable
RUN;

PROC SORT DATA=TEST.EJEMPLO1; Ordenar datos en un dataset:


BY NUM_NIN; El procedimiento SORT se ordena el dataset segn las variables
RUN; especificadas en la instruccin BY.

PROC SORT DATA=TEST.EJEMPLO2;


Merge de datasets: La sentencia MERGE sirve para "cruzar" n
BY NUM_NIN;
tablas dando como resultado m resultados de salida de datos. Es
RUN;
imprescindible que las tablas de entrada estn ordenadas por las
PROC SORT DATA=TEST. EJEMPLO3;
variables de cruces. Debe llevar una sentencia BY con las variables
BY NUM_NIN;
de cruce. En el cuerpo del merge se permite cualquier sentencia SAS
RUN;
valida en dataset.
DATA TEST. EJEMPLO4;
MERGE TEST.EJEMPLO3 TEST.EJEMPLO2;
BY NUM_NIN;
RUN;
PROC PRINT;
RUN;
Paso DATA / Operaciones dataset

Paso DATA : Operaciones

DATA TEST.EJEMPLO5; Aadir casos:


SET EJEMPLO.EJEMPLO4;
RUN;
PROC APPEND :El dataset resultante es el dataset
PROC APPEND BASE=TEST.EJEMPLO5 DATA=TEST.EJEMPLO1 FORCE;
especificado en la opcin BASE, y a ste se le
RUN;
aaden todos los casos del dataset de
PROC PRINT;
RUN; la opcin DATA. Cuando ambos datasets no tienen idntica
estructura se requiere la opcin FORCE al final de la
instruccin.
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
04.1 Instrucciones set del paso data
04.2 Operaciones dataset
04.2 Condicional
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Paso DATA / Condidiciones

Paso DATA : Condicional

DATA RESULTADO7; Sentencia condicional:


SET TEST.RESULTADO8; Se pueden seleccionar casos datos que cumplan cierta
CENTRE=10; condicin, a partir de la instruccin IF o equivalentemente
IF EDAD < 50 THEN EDAD2=1; la instruccin WHERE:
ELSE EDAD2=2; Sintaxis:
IF NUM_NIN=5 THEN DO; a) IF condicion THEN accion;
INIC='ABC';
ELSE accion;
SEXO=1;
b) IF condicion THEN DO;
END;
accion1;
RUN;
acccion2;
PROC PRINT;
END;
RUN;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
05.1 Seleccin de variables
05.2 Formatos
05.3 Labels
05.4 Length
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / Seleccin de variables

Paso DATA : keep y drop

DATA AUXILIAR2 (KEEP= TEST RESULTADO); KEEP: La instruccin KEEP permite guardar en el dataset creado
SET TEST.PRUFINALES; slo las variables all mencionadas. Las dems variables son
RUN; eliminadas del dataset resultante.

DATA AUXILIAR3 (DROP= TEST RESULTADO);


DROP: La instruccin DROP permite ELIMINAR del dataset las
SET TEST.PRUFINALES;
variables all mencionadas. Las dems variables continan en el
RUN;
dataset resultante.
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
05.1 Seleccin de variables
05.2 Formatos
05.3 Labels
05.4 Length
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / Formatos

Paso DATA : Format y Proc Format

DATA AUXILIAR4 FORMAT: Formato de las variables.


SET TEST.PRUEFINALES;
Sintaxis: FORMAT nombre_var ($ si es alfanumerica) logitud
FORMAT EDAD 2. NOMBRE $40.
+. ( Todos los formatos acaban en .)
RUN;

PROC FORMAT ; PROC FORMAT. Permite utilizar formatos internos de SAS o crear
VALUE VSI_NO 1=SI O=NO;
formatos a medida mediante PROC FORMAT.
RUN;

DATA AUXILIAR5
SET TEST.PRUFINALES;
FORMAT APROBADO VSI_NO. EDAD 2.;
RUN;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
05.1 Seleccin de variables
05.2 Formatos
05.3 Labels
05.4 Length
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / LABELS

Paso DATA : LABEL

DATA AUXILIAR5; LABEL: Permite establecer etiquetas a las variables para su mejorar
SET TEST.PRUFINALES; su comprensin.
LABEL RSPFINAL = RESULTADO PRUEBA FINAL
RUN;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
05.1 Seleccin de variables
05.2 Formatos
05.3 Labels
05.4 Length
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / LENGTH

Paso DATA : LENGTH

DATA AUXILIAR6; LENGTH: Permite establecer la longitud de los campos.


SET TEST.PRUEBASFINALES;
Sintaxis: Length nom_var longitud;
LENGTH EDAD 2 NOMBRE $ 50;
Nota ( Si es alfanumerica ira precedida de un $.
RUN;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
06.1 Funciones numricas
06.2 funciones fecha
06.3 Funciones alfanumricas
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
FUNCIONES SAS / FUNCIONES
NUMRICAS
Funciones SAS

ABS(EXPRESIN) Valor Absoluto

SQRT(EXPRESIN) Raz Cuadrada

ROUND(EXPRESIN) Redondear

ROUND(EXPRESIN, PRECISIN) Redondear con determinada precisin (la precisin es una potencia de 10

EXP(EXPRESIN) Exponencial

LOG(EXPRESIN) Logaritmo

LOG2(EXPRESIN) Logaritmo con base 2

LOG10(EXPRESIN) Logaritmo con base 10

COS(EXPRESIN) Coseno

SIN(EXPRESIN) Seno

TAN(EXPRESIN) Tangente
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
06.1 Funciones numricas
06.2 Funciones fecha
06.3 Funciones alfanumricas
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
FUNCIONES SAS / FUNCIONES FECHA

Funciones SAS

MDY (MES,DIA,AO) Formato fecha mes da ao

DAY(VAR_FECHA) Retorna el da de una variable tipo fecha

MONTH (VAR_FECHA) Retorna el mes de una variable tipo fecha

YEAR (VAR_FECHA) Retorna el ao de una variable tipo fecha

DATEPART (EXPRESIN) Retorna la parte de la fecha de una variable de tipo fecha_hora

DHMS (FECHA,HOR, MIN,SEG) Convierte a variable tipo fecha

INTCK(UNIDAD, FEC1,FEC2) Obtiene la distancia entre dos fechas en la unidad especificada


Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
06.1 Funciones numricas
06.2 Funciones fecha
06.3 Funciones alfanumricas
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
FUNCIONES SAS / FUNCIONES
ALAFANUMERICAS

Funciones SAS

INDEX Busca una expresin de caracteres dentro de una cadena



COMPRESS Elimina caracteres especficos de una cadena.

LOWCASE Convierte todas las letras del argumento a minsculas

UPCASE Convierte todas las letras del argumento a maysculas

LENGTH Retorna la longitud del argumento

LEFT Alinea a la izquierda una expresin de caracteres

REVERSE Da la vuelta a una cadena

SCAN Selecciona una palabra en particular de una expresin de caracteres

SOUNDEX Codifica una cadena a sonidos para facilitar comparaciones

SPEDIS Determina la similitud entre dos palabras expresada cmo una distancia

SUBSTR Extraes una subcadena de un argumento

TRANSLATE Reemplaza caracteres especficos de un argumento


Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
07.1 Sintaxis
07.2 Procedimientos frecuentes
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS PROC SQL
12 PROCEDMIENTOS ESTADISTICOS
PROCEDIMIENTOS / SINTAXIS

Procedimientos

Sintaxis: Procedimientos:
PROC NOM_PRC DATA = nom_dataset OPCIONES DATA=nombre_dataset Esta opcin permite especificar
ESPECIFICAS; cul es el dataset de trabajo.
WHERE CONDICIN; Las instrucciones especficas de cada procedimiento son
BY VARIABLES; un requisito indispensable para el funcionamiento del mismo,
WEIGHT VARIABLE_PESO; y suelen estar relacionadas con las variables que se
OUTPUT OUT=dataset_salida; analizan.
RUN; La instruccin WHERE permite estudiar slo los datos del
dataset que cumplen una cierta condicin.
La instruccin BY se utiliza para partir los datos del dataset
en diferentes grupos segn los valores que toma la variable
all mencionada.
La instruccin OUTPUT OUT=dataset_salida es una
opcin muy til que permite guardar los estadsticos
calculados por el procedimiento en un dataset que se llama
dataset_salida.
Para cualquier duda en la sintaxis de un procedimiento,
consultar el HELP.
Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
07.1 Sintaxis
07.2 Procedimientos frecuentes
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
PROCEDIMIENTOS / PROCEDIMIENTES
FRECUENTES

Procedimientos SAS

APPEND Procedure Aadir datos a un dataset


CALENDAR Procedure Calendario con fechas y citas
CATALOG Procedure Manipula los catlogos de SAS
CHART Procedure Grficos de barras sencillos
CIMPORT Procedure Importacin de datos de otras versiones de SAS
COMPARE Procedure Camparacin de Bases de datos
CONTENTS Procedure Contenidos de un dataset
COPY Procedure Realiza copias de un dataset
CORR Procedure Correlacin entre variables
CPORT Procedure Exportacin de datos de otras versiones de SAS
DATASETS Procedure Manipulacin de datasets (eliminar).
DBCSTAB Procedure Produce tablas de conversin a caracteres de doble-byte.
DISPLAY Procedure Visualizar titulos
EXPLODE Procedure Titulos grandes, va explotar caracteres.
EXPORT Procedure Exportar datasets a texto (p. ej.)
FORMAT Procedure Dar etiquetas a los valores de las variables
FORMS Procedure Para crear etiquetas adesivas
FREQ
Procedure Tablas de frecuencias

PROCEDIMIENTOS / PROCEDIMIENTES
FRECUENTES

Procedimientos SAS

FSLIST Procedure Examinar ficheros externos al SAS


IMPORT Procedure Importar datos (p. ej. en formato texto)
MEANS Procedure Resumir los datos
OPTIONS Procedure Opciones de la ventana OUTPUT
PLOT Procedure Diagramas de dispersin sencillos
PMENU Procedure Prepara Menus para ser utilizados por otros mdulos de SAS (AF, FSP)
PRINT Procedure Listar datasets
PRINTTO Procedure Defini las rutas dnde almacenar las ventanas LOG y OUTPUT
RANK Procedure Crea Rangos a partir de variables.
REGISTRY Procedure Mantiene el registro de SAS.
REPORT Procedure Para realizar informes
SORT Procedure Ordenar un dataset
SQL Procedure Consultas a datasets mediante instrucciones SQL
STANDARD Procedure Produce variables estandarizadas
SUMMARY Procedure Estadsticos de Resumen
TABULATE Procedure Tablas
TIMEPLOT Procedure Diagramas de dispersin respecto el tiempo
TRANSPOSE Procedure Transpone datasets
TRANTAB Procedure Produce y mantiene tablas de traduccin de cdigos

UNIVARIATE Procedure Anlisis univariados


Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
08.1 Sintaxis
08.2 Joins
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
PROC SQL / SINTAXIS

PROC SQL

Sintaxis: PROC SQL


El procedimiento PROC SQL utiliza el Lenguaje
PROC SQL; Estructurado Query (SQL) para:
Query-Expresion ; - recobrar y manipular conjuntos de datos SAS
QUIT; - crear y borrar conjuntos de datos
- generar informes
- aadir y modificar valores de datos en conjunto de
datos
- aadir, modificar o borrar columnas en un conjunto
de datos
Query-expression contiene sentencias SQL.
Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
08.1 Sintaxis
08.2 Joins
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
PROC SQL / JOINS

PROC SQL: Join

PROC SQL; CREATE TABLE FIEBRE.FINAL AS Inner Join: La tabla resultante contendr nicamente los registros
SELECT * FROM lefttab as l, righttab as r WHEREl.continent=r.continent; que sean comunes en ambas tablas.
QUIT;
Outer Join
PROC SQL; CREATE TABLE FIEBRE.FINAL AS
Left outer join: La tabla resultante contendr los registros
SELECT * FROM lefttab as l inner join righttab as ron (l.continent=r.continent);
comunes en ambas tablas ms los de la primera tabla que
QUIT;
Left :
no se han cruzado con ninguna fila de la segunda tabla.
PROC SQL; CREATE TABLE FIEBRE.FINAL AS Right outer join:La tabla resultante contendr los registros
SELECT * FROM lefttab as l left join righttab as ron comunes en ambas tablas ms los de la segunda tabla que
(l.continent=r.continent); no se han cruzado con ninguna fila de la primera tabla.
QUIT;
Full outer join : La tabla resultante contendr los registros
Right
comunes en ambas tablas ms las filas de cada una de las
PROC SQL; CREATE TABLE FIEBRE.FINAL AS
tablas que no se han cruzado con ninguna de la otra.
SELECT * FROM lefttab as l right join righttab as r
on (l.continent=r.continent);
QUIT;
Full
PROC SQL; CREATE TABLE FIEBRE.FINAL AS
SELECT *FROM lefttab as l full join righttab as r
on (l.continent=r.continent);
QUIT;
Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
09.1 Libreras
09.2 Ejemplo: Oracle, SQL Server, DB2, Teradata
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
CONEXIONES A BBDD / LIBRERIAS

Conexiones a BBDD

Sintaxis: Libname -> Sentencia para la declaracin de libreras


Libname libref engine-name <SAS/ACCESS-connectionn-opt>
<SAS/ACCESS-LIBNAME-opts> Libref -> Nombre de la conexin definida para el acceso a base de datos.
Alias de conexin.

Engine-name .> Nombre del motor de SAS /ACCESS definido para las diferentes
conexiona a BBDD

SAS/ACCESS-connectionn-opt-> Opciones para la conexin a la base de datos,


por ejemplo usuario, password, ...

SAS/ACCESS-LIBNAME-opts -> Opciones para la librera declarada.


Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
09.1 Libreras
09.2 Ejemplo: Oracle, SQL Server, DB2, Teradata
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
CONEXIONES A BBDD / LIBRERIAS

Conexiones a BBDD : Ejemplos de conexiones

SQL SERVER: SQL SERVER:


libname sqlS odbc dsn=ORINGENDATOS user=xxxxx
Es necesario crear un origen de datos desde la opcin de
password=xxxxx schema=xxxxx;
windows de Administracin de Dispositivos.

DB2 DB2:
libname DB2UDB db2 database=XXXXX user=xxxxx
password=xxxxx;
Es necesario tener catalogadas las bases de datos en el
cliente DB2 para realizar la conexin.

ORACLE Oracle:
libname Oracle oracle user=xxxxxxx" password=xxxxxxxx"
Es necesario catalogar la base de datos en el
path=xxxx" schema=xxxxx';
TNS_Names.ora para realizar la conexin a la base de
datos.

TERADATA
Teradata:
libname terasas teradata database='ddbb' user='user' pw='pass'; Es necesario tener catalogadas las bases de datos en el
cliente Teradata para realizar la conexin.
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
10.1 Introduccin
10.1 Variables de macro
10.2 Generacin de cdigo
10.3 Macros con parmetros de entrada
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
Macros / Introduccin

La programacin Macro es una herramienta muy til para estandarizar,


extendery la programacin clsica en cdigo SAS. Entre otras virtudes, permite
reducir en gran medida la cantidad de cdigo necesario para las tareas ms
frecuentes.
La ventana de programacin para crear Macros, es la ventana
habitual de sintaxis.
La programacin Macro tiene dos componentes principales:
- El procesador Macro, encargado de traducir.
- El lenguaje Macro, la sintaxis que se debe utilizar ara
comunicarse con el procesador Macro.
Al compilar un texto, existen dos caracteres que activan al procesador
Macro:
- & : &nombre , que designar a las variables Macro.
- % : %nombre , que designar a las Macros creadas por
nosotros o ya residentes en el sistema.
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
10.1 Introduccin
10.2 Variables de macro
10.3 Generacin de cdigo
10.4 Macros con parmetros de entrada
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
MACROS / VARIABLES MACROS

Macros : Variables

Sintaxis: Variables Macro:


libname : La instruccin %let permite asignar a un nombre un
% let nombre = literal_nombre ; conjunto de caracteres. Las referencias a variables Macro ya
creadas siempre sern precedidas por el smbolo: &.Los
Formula: nombres de variables Macro no pueden contener caracteres
%let num=%eval (5*2); -> uso en formulas extraos cmo:; , espacio AND OR etc.

Variables definidas por el sistema:


Variables definidas por el sistema:
sysdate
Sysday Lista do de variables definidas por el sistema
Syslast
syserr
Variables definidas por el sistema:
Variables definidas por el sistema:

Se recomienda que empiece por letra o _. Para listar todas


%let macr=%nrtsr(%pl); ( se asigna a macr el litera pl)
las variables %put_all_;
%let plo = %str(proc print ; run;);
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
10.1 Introduccin
10.2 Variables de macro
10.3 Generacin de cdigo
10.4 Macros con parmetros de entrada
11 COMPRESION DE TABLAS PROC SQL
12 PROCEDMIENTOS ESTADISTICOS
MACROS / GENERACION DE CODIGO
MACROS
Macros : Cdigo condicionales y repetitivas

Sintaxis: Estructura general de una macro:


% macro nombre macro;
Se puede introducir cdigo SAS ( pasos data,
expresion
procedimientos, funciones..).
% mend nombre macro
Para invocar una macro es necesario el prefijo %
Para introducir comentarios se utiliza %*

Condiciones
Condiciones :
% macro EJEMPLO1(info=); Instruccin condicional:
% if &info=a then %do; %IF ... %THEN..; %ELSE... ;
proc sort; data=prueba Y son mas de una instrucion en los bloques
run; then o else se utiliza %DO; .. %END;
% else %if &info=b %then %do;
proc print noobs label; Instruccin Repetitivas: (Ejemplo)
run; %do i=1:%to &num;
% else %put Resultado &INFO
%put &num Resultado;
%mend;
%end;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
10.1 Introduccin
10.2 Variables de macro
10.3 Generacin de cdigo
10.4 Macros con parmetros de entrada
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
MACROS / PARAMETROS DE ENTRADA

Macros : Parmetros de entrada en las macros.

Ejemplo: Definicin de los parmetros de entrada:


% macro pl( data=,yvar=,xvar=);;
proc plot data = &data;
run;
% mend;
Definicin Llamada
LLamada: %pl(data0a,yvar=u;xvar=x)
%macro pl(data=,yvar=,xvar=);
%pl (data=a,yvar>=y=xvar=x); ;
%macro pl(data,yvar,xvar); %pl(a,y,x);
%macro
%pl(xvar=x);
pl(data=a,yvar=y,xvar=x);
Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
11.1 CPORT
11.1 CIMPORT
12 PROCEDMIENTOS ESTADISTICOS
COMPRESION DE TABLAS / CPORT

Compresin de tablas : CPORT

Sintaxis: CPORT:
Libname nom_lib directorio_lib';
El procedimiento para la compresin de los datos de
proc cport lib=nomb_lib file=nombre-result.cpo';run;
una librera en un archivo cpo.

Se puede utilizar para comprimir tablas en un


entorno Windows y exportarlas a un entorno Unix
Indice

01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
11.1 CPORT
11.2 CIMPORT
12 PROCEDMIENTOS ESTADISTICOS
COMPRESION DE TABLAS / CIMPORT

Compresin de tablas : CIMPORT

Sintaxis: CIMPORT:

libname nom_lib ruta_lib';


El procedimiento para la descompresin de los
proc cimport infile=ruta_archivo\nombre_archivo_comp.cpo' library=nomb_lib; datos de archivo cpo a una librera.
run;

Se puede utilizar para comprimir tablas en


un entorno Windows y exportarlas a un
entorno Unix
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
12.1 PROC univariate
12.2 PROC Freq
PROCEDMIENTOS ESTADISTICOS / PROC UNIVARIATE

Procedimientos estadsticos : Proc Univariate

Sintaxis: Proc Univariate:


El procedimiento PROC UNIVARIATE se utiliza para
PROC UNIVARIATE DATA=FIEBRE.GRADOS;
cuando el objetivo del anlisis es por ejemplo testar una
VAR EDAD;
hiptesis o bien cualquier otro anlisis ms profundo de los
OUTPUT OUT=U_EDAD MEAN=MITJANA MEDIAN=MEDIANA
MODE=MODA; datos, es interesante explorar ms detalladamente las
RUN; variables y obtener otros estadsticos descriptivos as como
PROC UNIVARIATE DATA=FIEBRE.GRADOS PLOT NORMAL; tests relativos a la distribucin de los datos.
VAR EDAD;
RUN;
PROC PRINT DATA=U_EDAD;
RUN;
Indice
01 INTRODUCCIN
02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS
04 PASO DATA
05 VARIABLES
06 FUNCIONES SAS
07 PROCEMIENTOS
08 PROC SQL
09 CONEXIONES A BBDD
10 MACROS
11 COMPRESION DE TABLAS
12 PROCEDMIENTOS ESTADISTICOS
12.1 PROC univariate
12.2 PROC Freq
PROCEDMIENTOS ESTADISTICOS / PROC FREQ

Procedimientos estadsticos : Proc Freq

Sintaxis: Proc Freq:


El procedimiento FREQ genera tablas de frecuencias. Este
PROC FREQ DATA=FIEBRE.GRADOS;
procedimiento, tambin puede ser til para observar la
TABLES SEXO /OUT=F_SEXO;
calidad de los datos, comprobando si hay valores extraos o
RUN;
faltantes.
PROC FREQ DATA=FIEBRE.GRADOS;
TABLES SEXO /TESTP=(0.4 0.6);
RUN;