http:\\sasybi.blogspot.com
Introducción SAS Base
Introducción a SAS/BASE, lenguaje propio de la plataforma SAS.
Indice
01 INTRODUCCIÓN01.1 Inicio de Sesión
02 PROCEDIMIENTOS Y PASO DATA02.1 Lectura datos internos02.2 Lectura datos externos
03 LIBRERIAS03.1 Definición
04 PASO DATA 04.1 Instrucciones set del paso data 04.2 Operaciones ‘dataset’04.2 Condiciones
Indice
05 VARIABLES05.1 Selección de variables05.2 Formatos05.3 Labels05.4 Length
06 FUNCIONES SAS06.1 Funciones numéricas06.2 funciones fecha06.3 Funciones alfanuméricas
Indice
07 PROCEMIENTOS07.1 Sintaxis07.2 Procedimientos frecuentes
08 PROC SQL08.1 Sintaxis08.2 Joins
09 CONEXIONES A BBDD 09.1 Librerías09.2 Ejemplo: Oracle, SQL Server, DB2, Teradata
Indice
10 MACROS10.1 Introducción10.2 Variables de macro10.3 Generación de código10.4 Macros con parámetros de entrada
11 COMPRESION DE TABLAS 11.1 CPORT11.2 CIMPORT
12 PROCEDMIENTOS ESTADISTICOS12.1 PROC univariate12.2 PROC Freq
Indice
01 INTRODUCCIÓN01.1 Inicio de Sesión
02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
SAS/BASE es el lenguaje propio de programación propio de la plataforma SAS.
Lenguaje de programación de la cuarta generación flexible y extensible diseñado para acceso de datos, transformación y reporting.
Introducción / Inicio de sesión
Introducción / Inicio de sesión
Barra Menú
Ventana LOG
Ventana Output
Status line
“Explorer”
Ventana Editor
Ventana “Explorer”: Contiene accesos directos a ficheros, librerías, y una ventana de resultados.
Ventana ” EDITOR”: Ventana editable para el desarrollo del lenguaje SAS base.
Ventana ”LOG”: Ventana para la visualización de los logs, escribe mensajes de advertencia o/y error, e informa sobre la velocidad de ejecución.
Ventana ”OUTPUT”: Ventana de resultados.
Introducción / Inicio de sesión
Indice
01 INTRODUCCIÓN
02 PROCEDIMIENTOS Y PASO DATA02.1 Lectura datos internos02.2 Lectura datos externos
03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Procedimientos y Paso Data
PASO DATA PROC
Cada instrucción es necesario el signo “;”.
Los comentarios van precedidos por un signo “*”.
Todo paso DATA o PROC debe acabar con la sentencia “RUN”;.
Sintaxis : Data Nombre.
Creación/Modificación de ‘dataset’.
Dataset : Conjunto de datos creados con SAS.
Operaciones dentro de un dataset ( lectura, creación de variables, cambio de etiquetas.. ) se realiza dentro de la instrucción DATA.
Sintaxis : PROC.
Acceso a ‘dataset’ sin modificar su estructura: Análisis, listados, cálculos estadísticos...
Para especificar un dataset especifico se utilizaremos la opción ‘DATA=nombre_dataset’. Si no se especifica esta opción utilizará el ‘dataset’ creado más reciente.
Indice
01 INTRODUCCIÓN
02 PROCEDIMIENTOS Y PASO DATA02.1 Lectura datos internos02.2 Lectura datos externos
03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Procedimientos y Paso Data / Lectura datos internos
Paso Data
* Datos correspondientes aun estudio sobre niños superdotados;
* Se les realizaron dos test;
DATA EJEMPLO1;
INPUT NUM_NIN SUP INIC $ SEXO EDAD;
CARDS;
4 1 JPY 1 56
5 2 JTA 1 48
6 4 RMA 0 88
7 2 HFB 0 28
;
RUN;
PROC PRINT;
RUN;
INPUT : Declaración de variables, nombre de las variables y ‘$’ si son alfanuméricas
CARDS : Lectura de los datos internos
PROC PRINT : Procedimiento para listar los datos , el resultado de este procedimiento se visualiza en la ventana de output.
Indice
01 INTRODUCCIÓN
02 PROCEDIMIENTOS Y PASO DATA02.1 Lectura datos internos
02.2 Lectura datos externos03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Procedimientos y Paso Data / Lectura datos externos
Paso Data
DATA EJEMPLO2;•INFILE ‘C:\DATOS1.DAT’ LRECLS=9;•INPUT NUM_NIN 1-2 INIC $ 4-6 SEXO 7 EDAD 8-9;
•RUN;
•PROC PRINT DATA=EJEMPLO2;•RUN;
•DATA EJEMPLO3;•INFILE ‘C:\DATOS2.DAT’ DLM=’09’x;•INPUT NUM_NIN TEST;•RUN;
•PROC PRINT DATA=EJEMPLO2;•RUN;
INFILE: Lectura de archivos externos, especificando la ruta del archivo.
Opción: LRECL: máxima longitud de cada línea (necesaria si el registro tiene mas de 256 caracteres);
Formas de lectura:Fichero formato fijo: Especifica las columnas.
Ficheros con delimitador; (NO espacio en blanco) se define con la opicon DLM= ‘separador’. Ejemplo DLM=“|”.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS03.1 Definición
04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Una librería es una carpeta donde se almacenan los archivos de SAS.
Al crear la librería se accede a los datos, pero al suprimirla no se borran los datos sino el acceso.
Tipos de Librería :
Locales -> Carpetas dentro del PC
Remotas-> Carpetas del servidor
Temporales -> Librería WORK: se elimina todos los datos al finalizar la sesión
Permanentes -> Datos permanentes al finalizar la sesión.
Librerías
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA
03 LIBRERIAS03.1 Definición
04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Librerías / Definición
Librerías
•Sintaxis:LIBANAME nombre_libreria ‘ruta (local o remota)’
Nombre Librería : Nombre de acceso a la librería.
Ruta: Ruta dónde será ubicada ( local o remota).
•Ejemplo:
Data prueba1;
Run;
Libname prueba ‘c:\prueba_dir’
DATA preuba.prueba2;
Run;
LIbname : Declaración de librería
Options: ACCESS=READONLY|TEMP
COMPRESS=NO | YES | CHAR | BINARY CVPBYTES=bytes
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA
04.1 Instrucciones set del paso data 04.2 Operaciones ‘dataset’04.3 Condicional
05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Paso DATA / Instrucciones set del paso Data
Paso DATA :SET
•LIBNAME TEST 'D:\';•DATA TEST.EJEMPLO1;•SET EJEMPLO1;•RUN;•DATA TEST.EJEMPLO2;•SET EJEMPLO2;•RUN;•DATA TEST.EJEMPLO4;•SET EJEMPLO3;•RUN;•OPTIONS LS=75 PS=50 NODATE NONUMBER;•TITLE 'dataset TEST.EJEMPLO2';•FOOTNOTE 'dataset RESULTADOS';•PROC PRINT DATA=TEST.EJEMPLO2;•RUN;•TITLE;•FOOTNOTE;
•Los datasets EJMEPLO1, EJMEPLO2 y EJMEPLO3 se encuentran en las librerías WORK y TEST,; guardados de forma temporal en la librería WORK y de forma permanente en la librería TEST• TITLE : Titulo en la ventana OUTPUT
FOOTNOTE : Pies de pagina en la ventana OUTPUT
OPTIONS:LS : Numero de caracteres por linea
PS: Numero de lineas por pagina
NODATE : Elimina la cabecera por defecto
NONUMBER: Elimina la numeración de las páginas.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA
04.1 Instrucciones set del paso data04.2 Operaciones ‘dataset’04.3 Condicional
05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Paso DATA / Operaciones dataset
Paso DATA : Operaciones
•DATA B;•SET A;•RUN;
•La instrucción SET asigna al dataset del paso DATA los mismos datos, variables y propiedades que el dataset de la instrucción SET.
•DATA C;•SET B;VARA=1;
•RUN;
•LIBNAME nombreLib ‘d:\datos_sas’;•DATA nombre1;•SET nombreLib.datasetAnt;
•RUN;
•Copia del dataset A llamado B. A y B son iguales
•Copia del dataset B llamado C. Y se añade la variable VARA con el valor 1. Siempre sea necesaria alguna modificación, operación, recodificación, ... en algún dataset se realiza mediante el paso DATA y la instrucción SET.
•Copia en la librería WORK, el datasetAnt, el cual no se modifica en esta ejecución.
Paso DATA / Operaciones dataset
Paso DATA : Operaciones
•DATA AUXILIAR;•SET TEST.EJEMPLO1;•FILE 'A:\DATOS1.DAT' ;•PUT NUM_NIN 1-2 SUP 3 INIC $ 4-6 SEXO 7 EDAD 8-9;•RUN;
•PROC SORT DATA=TEST.EJEMPLO1;•BY NUM_NIN;•RUN;
•PROC SORT DATA=TEST.EJEMPLO2;•BY NUM_NIN;•RUN;•PROC SORT DATA=TEST. EJEMPLO3;•BY NUM_NIN;•RUN;•DATA TEST. EJEMPLO4;•MERGE TEST.EJEMPLO3 TEST.EJEMPLO2;•BY NUM_NIN;•RUN;•PROC PRINT;•RUN;
•Guardar datos en un fichero externo• FILE :Exportar los datos de un dataset a la ruta y formato deseados, pero sólo ficheros texto.•PUT :Posiciones de cada variable
•Ordenar datos en un dataset:•El procedimiento SORT se ordena el dataset según las variables especificadas en la instrucción BY.
• Merge de datasets: La sentencia MERGE sirve para "cruzar" n tablas dando como resultado m resultados de salida de datos. Es imprescindible que las tablas de entrada estén ordenadas por las variables de cruces. Debe llevar una sentencia BY con las variables de cruce. En el cuerpo del merge se permite cualquier sentencia SAS valida en dataset.
Paso DATA / Operaciones dataset
Paso DATA : Operaciones
•DATA TEST.EJEMPLO5;•SET EJEMPLO.EJEMPLO4;•RUN;•PROC APPEND BASE=TEST.EJEMPLO5 DATA=TEST.EJEMPLO1 FORCE;•RUN;•PROC PRINT;•RUN;
• Añadir casos:
PROC APPEND :El dataset resultante es el dataset especificado en la opción BASE, y a éste se le añaden todos los casos del dataset dela opción DATA. Cuando ambos datasets no tienen idéntica estructura se requiere la opción FORCE al final de la instrucción.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA
04.1 Instrucciones set del paso data04.2 Operaciones ‘dataset’04.2 Condicional
05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Paso DATA / Condidiciones
Paso DATA : Condicional
•DATA RESULTADO7;•SET TEST.RESULTADO8;•CENTRE=10;•IF EDAD < 50 THEN EDAD2=1;•ELSE EDAD2=2;•IF NUM_NIN=5 THEN DO;•INIC='ABC';•SEXO=1;•END;•RUN;•PROC PRINT;•RUN;
•Sentencia condicional:•Se pueden seleccionar casos datos que cumplan cierta condición, a partir de la instrucción IF o equivalentemente la instrucción WHERE:
Sintaxis:
a) IF condicion THEN accion;
ELSE accion;
b) IF condicion THEN DO;
accion1;
acccion2;
END;
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES
05.1 Selección de variables05.2 Formatos05.3 Labels05.4 Length
06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / Selección de variables
Paso DATA : keep y drop
•DATA AUXILIAR2 (KEEP= TEST RESULTADO);•SET TEST.PRUFINALES;•RUN;
•DATA AUXILIAR3 (DROP= TEST RESULTADO);•SET TEST.PRUFINALES;•RUN;
•KEEP: La instrucción KEEP permite guardar en el dataset creado sólo las variables allí mencionadas. Las demás variables son eliminadas del dataset resultante.
•DROP: La instrucción DROP permite ELIMINAR del dataset las variables allí mencionadas. Las demás variables continúan en el dataset resultante.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES
05.1 Selección de variables05.2 Formatos05.3 Labels05.4 Length
06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / Formatos
Paso DATA : Format y Proc Format
•DATA AUXILIAR4•SET TEST.PRUEFINALES;•FORMAT EDAD 2. NOMBRE $40.•RUN;
•PROC FORMAT ;•VALUE VSI_NO 1=‘SI’ O=‘NO’;•RUN;
•DATA AUXILIAR5 •SET TEST.PRUFINALES;•FORMAT APROBADO VSI_NO. EDAD 2.;•RUN;
•FORMAT: Formato de las variables. •Sintaxis: FORMAT nombre_var ($ si es alfanumerica) logitud +’.’ ( Todos los formatos acaban en .)
•PROC FORMAT. Permite utilizar formatos internos de SAS o crear formatos a medida mediante PROC FORMAT.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES
05.1 Selección de variables05.2 Formatos05.3 Labels05.4 Length
06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / LABELS
Paso DATA : LABEL
•DATA AUXILIAR5;•SET TEST.PRUFINALES;•LABEL RSPFINAL =‘ RESULTADO PRUEBA FINAL’ •RUN;
•LABEL: Permite establecer etiquetas a las variables para su mejorar su comprensión.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES
05.1 Selección de variables05.2 Formatos05.3 Labels05.4 Length
06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
VARIABLES / LENGTH
Paso DATA : LENGTH
•DATA AUXILIAR6;•SET TEST.PRUEBASFINALES;•LENGTH EDAD 2 NOMBRE $ 50;•RUN;
•LENGTH: Permite establecer la longitud de los campos.•Sintaxis: Length nom_var longitud;
•Nota ( Si es alfanumerica ira precedida de un $.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS
06.1 Funciones numéricas06.2 funciones fecha06.3 Funciones alfanuméricas
07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
FUNCIONES SAS / FUNCIONES NUMÉRICAS
Funciones SAS
•ABS(EXPRESIÓN)
•SQRT(EXPRESIÓN)
•ROUND(EXPRESIÓN)
•ROUND(EXPRESIÓN, PRECISIÓN)
•EXP(EXPRESIÓN)
•LOG(EXPRESIÓN)
•LOG2(EXPRESIÓN)
•LOG10(EXPRESIÓN)
•COS(EXPRESIÓN)
•SIN(EXPRESIÓN)
•TAN(EXPRESIÓN)
•Valor Absoluto
•Raíz Cuadrada
•Redondear
•Redondear con determinada precisión (la precisión es una potencia de 10
•Exponencial
•Logaritmo
•Logaritmo con base 2
•Logaritmo con base 10
•Coseno
•Seno
•Tangente
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS
06.1 Funciones numéricas06.2 Funciones fecha06.3 Funciones alfanuméricas
07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
FUNCIONES SAS / FUNCIONES FECHA
Funciones SAS
•MDY (MES,DIA,AÑO)
•DAY(VAR_FECHA)
•MONTH (VAR_FECHA)
•YEAR (VAR_FECHA)
•DATEPART (EXPRESIÓN)
•DHMS (FECHA,HOR, MIN,SEG)
•INTCK(UNIDAD, FEC1,FEC2)
•Formato fecha mes día año
•Retorna el día de una variable tipo fecha
•Retorna el mes de una variable tipo fecha
•Retorna el año de una variable tipo fecha
•Retorna la parte de la fecha de una variable de tipo fecha_hora
•Convierte a variable tipo fecha
•Obtiene la distancia entre dos fechas en la unidad especificada
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS
06.1 Funciones numéricas06.2 Funciones fecha06.3 Funciones alfanuméricas
07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
FUNCIONES SAS / FUNCIONES ALAFANUMERICAS
Funciones SAS
•INDEX ••COMPRESS
•LOWCASE
•UPCASE ••LENGTH ••LEFT ••REVERSE••SCAN ••SOUNDEX
•SPEDIS ••SUBSTR
•TRANSLATE
•Busca una expresión de caracteres dentro de una cadena • •Elimina caracteres específicos de una cadena. • •Convierte todas las letras del argumento a minúsculas • •Convierte todas las letras del argumento a mayúsculas • •Retorna la longitud del argumento • •Alinea a la izquierda una expresión de caracteres • •Da la vuelta a una cadena • •Selecciona una palabra en particular de una expresión de caracteres
•Codifica una cadena a sonidos para facilitar comparaciones
•Determina la similitud entre dos palabras expresada cómo una distancia
•Extraes una subcadena de un argumento
•Reemplaza caracteres específicos de un argumento
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS
07.1 Sintaxis
07.2 Procedimientos frecuentes08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS PROC SQL12 PROCEDMIENTOS ESTADISTICOS
PROCEDIMIENTOS / SINTAXIS
Procedimientos
• Sintaxis:•PROC NOM_PRC DATA = nom_dataset OPCIONES ESPECIFICAS;•WHERE CONDICIÓN;•BY VARIABLES;•WEIGHT VARIABLE_PESO;•OUTPUT OUT=dataset_salida;•RUN;
Procedimientos: DATA=nombre_dataset Esta opción permite especificar cuál es el dataset de trabajo. Las instrucciones específicas de cada procedimiento son un requisito indispensable para el funcionamiento del mismo, y suelen estar relacionadas con las variables que se analizan. La instrucción WHERE permite estudiar sólo los datos del dataset que cumplen una cierta condición. La instrucción BY se utiliza para partir los datos del dataset en diferentes grupos según los valores que toma la variable allí mencionada. La instrucción OUTPUT OUT=dataset_salida es una opción muy útil que permite guardar los estadísticos 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 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS
07.1 Sintaxis
07.2 Procedimientos frecuentes08 PROC SQL09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
PROCEDIMIENTOS / PROCEDIMIENTES FRECUENTES
Procedimientos SAS
•APPEND
•CALENDAR
•CATALOG
•CHART
•CIMPORT
•COMPARE
•CONTENTS
•COPY
•CORR
•CPORT
•DATASETS
•DBCSTAB
•DISPLAY
•EXPLODE
•EXPORT
•FORMAT
•FORMS
•FREQ
•
•Procedure Añadir datos a un dataset
•Procedure Calendario con fechas y citas
•Procedure Manipula los catálogos de SAS
•Procedure Gráficos de barras sencillos
•Procedure Importación de datos de otras versiones de SAS
•Procedure Camparación de Bases de datos
•Procedure Contenidos de un dataset
•Procedure Realiza copias de un dataset
•Procedure Correlación entre variables
•Procedure Exportación de datos de otras versiones de SAS
•Procedure Manipulación de datasets (eliminar).
•Procedure Produce tablas de conversión a caracteres de doble-byte.
•Procedure Visualizar titulos
•Procedure Titulos grandes, vía explotar caracteres.
•Procedure Exportar datasets a texto (p. ej.)
•Procedure Dar etiquetas a los valores de las variables
•Procedure Para crear etiquetas adesivas
•Procedure Tablas de frecuencias
PROCEDIMIENTOS / PROCEDIMIENTES FRECUENTES
Procedimientos SAS
FSLIST •IMPORT •MEANS •OPTIONS •PLOT •PMENU •PRINT •PRINTTO •RANK •REGISTRY •REPORT •SORT •SQL •STANDARD •SUMMARY •TABULATE •TIMEPLOT •TRANSPOSE •TRANTAB
•UNIVARIATE
Procedure Examinar ficheros externos al SAS •Procedure Importar datos (p. ej. en formato texto) •Procedure Resumir los datos •Procedure Opciones de la ventana OUTPUT •Procedure Diagramas de dispersión sencillos •Procedure Prepara Menus para ser utilizados por otros módulos de SAS (AF, FSP)•Procedure Listar datasets •Procedure Defini las rutas dónde almacenar las ventanas LOG y OUTPUT •Procedure Crea Rangos a partir de variables. •Procedure Mantiene el registro de SAS. •Procedure Para realizar informes •Procedure Ordenar un dataset •Procedure Consultas a datasets mediante instrucciones SQL •Procedure Produce variables estandarizadas •Procedure Estadísticos de Resumen •Procedure Tablas •Procedure Diagramas de dispersión respecto el tiempo •Procedure Transpone datasets •Procedure Produce y mantiene tablas de traducción de códigos
•Procedure Análisis univariados
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL
08.1 Sintaxis08.2 Joins
09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
PROC SQL / SINTAXIS
PROC SQL
• Sintaxis:
•PROC SQL;•Query-Expresion ;•QUIT;
PROC SQL El procedimiento PROC SQL utiliza el Lenguaje Estructurado Query (SQL) para:
- recobrar y manipular conjuntos de datos SAS- crear y borrar conjuntos de datos- generar informes- añadir y modificar valores de datos en conjunto de datos- añadir, modificar o borrar columnas en un conjunto de datos
•Query-expression contiene sentencias SQL.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL
08.1 Sintaxis08.2 Joins
09 CONEXIONES A BBDD10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
PROC SQL / JOINS
PROC SQL: Join
•PROC SQL; CREATE TABLE FIEBRE.FINAL AS•SELECT * FROM lefttab as l, righttab as r WHEREl.continent=r.continent;•QUIT;
•Ó •PROC SQL; CREATE TABLE FIEBRE.FINAL AS•SELECT * FROM lefttab as l inner join righttab as ron (l.continent=r.continent);•QUIT;•Left :
•PROC SQL; CREATE TABLE FIEBRE.FINAL AS•SELECT * FROM lefttab as l left join righttab as ron (l.continent=r.continent);•QUIT;
•Right•PROC SQL; CREATE TABLE FIEBRE.FINAL AS•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;
• Inner Join: La tabla resultante contendrá únicamente los registros que sean comunes en ambas tablas.
•Outer Join• Left outer join: La tabla resultante contendrá los registros comunes en ambas tablas más los de la primera tabla que no se han cruzado con ninguna fila de la segunda tabla.• Right outer join:La tabla resultante contendrá los registros comunes en ambas tablas más los de la segunda tabla que no se han cruzado con ninguna fila de la primera tabla.• Full outer join : La tabla resultante contendrá los registros comunes en ambas tablas más las filas de cada una de las tablas que no se han cruzado con ninguna de la otra.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD
09.1 Librerías09.2 Ejemplo: Oracle, SQL Server, DB2, Teradata
10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
CONEXIONES A BBDD / LIBRERIAS
Conexiones a BBDD
•Sintaxis: •Libname libref engine-name <SAS/ACCESS-connectionn-opt> <SAS/ACCESS-LIBNAME-opts>
•Libname -> Sentencia para la declaración de librerías
•Libref -> Nombre de la conexión definida para el acceso a base de datos. •Alias de conexión.
•Engine-name .> Nombre del motor de SAS /ACCESS definido para las diferentes conexiona a BBDD
•SAS/ACCESS-connectionn-opt-> Opciones para la conexión a la base de datos, por ejemplo usuario, password, ...
•SAS/ACCESS-LIBNAME-opts -> Opciones para la librería declarada.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD
09.1 Librerías09.2 Ejemplo: Oracle, SQL Server, DB2, Teradata
10 MACROS11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
CONEXIONES A BBDD / LIBRERIAS
Conexiones a BBDD : Ejemplos de conexiones
•SQL SERVER:•libname sqlS odbc dsn=ORINGENDATOS user=xxxxx password=xxxxx schema=xxxxx;
•DB2•libname DB2UDB db2 database=XXXXX user=xxxxx password=xxxxx;
• SQL SERVER:• Es necesario crear un origen de datos desde la opción de windows de ‘Administración de Dispositivos’.
• DB2:• Es necesario tener catalogadas las bases de datos en el cliente DB2 para realizar la conexión.
• Oracle:• Es necesario catalogar la base de datos en el TNS_Names.ora para realizar la conexión a la base de datos.
•ORACLE• libname Oracle oracle user=“xxxxxxx" password=“xxxxxxxx"
path=“xxxx" schema=‘xxxxx';
• Teradata:• Es necesario tener catalogadas las bases de datos en el cliente Teradata para realizar la conexión.
•TERADATA• libname terasas teradata database='ddbb' user='user' pw='pass';
Indice01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS
10.1 Introducción
10.1 Variables de macro10.2 Generación de código10.3 Macros con parámetros de entrada
11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
La programación Macro es una herramienta muy útil para estandarizar, extendery la programación clásica en código SAS. Entre otras virtudes, permite reducir en gran medida la cantidad de código necesario para las tareas más frecuentes.
• La ventana de programación para crear Macros, es la ventana habitual de sintaxis.
• La programación 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.
Macros / Introducción
Indice01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS
10.1 Introducción
10.2 Variables de macro10.3 Generación de código10.4 Macros con parámetros de entrada
11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
MACROS / VARIABLES MACROS
Macros : Variables
•Sintaxis:
•libname :•% let nombre = literal_nombre ;
• Formula:• %let num=%eval (5*2); -> uso en formulas
•Variables definidas por el sistema:
•sysdate•Sysday•Syslast•syserr
•Variables definidas por el sistema:
•%let macr=%nrtsr(%pl); ( se asigna a macr el litera pl)•%let plo = %str(proc print ; run;);
• Variables Macro:• La instrucción %let permite asignar a un nombre un conjunto de caracteres. Las referencias a variables Macro ya creadas siempre serán precedidas por el símbolo: “&”.Los nombres de variables Macro no pueden contener caracteres extraños cómo:; , espacio “ ‘ AND OR etc.
• Variables definidas por el sistema:
•Lista do de variables definidas por el sistema
• Variables definidas por el sistema:
• Se recomienda que empiece por letra o ‘_’. Para listar todas las variables %put_all_;
Indice01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS
10.1 Introducción10.2 Variables de macro 10.3 Generación de código10.4 Macros con parámetros de entrada
11 COMPRESION DE TABLAS PROC SQL12 PROCEDMIENTOS ESTADISTICOS
MACROS / GENERACION DE CODIGO MACROS
Macros : Código condicionales y repetitivas
•Sintaxis:•% macro nombre macro;• expresion•% mend nombre macro
Condiciones
% macro EJEMPLO1(info=); % if &info=a then %do;
proc sort; data=prueba run; % else %if &info=b %then %do; proc print noobs label; run; % else %put “Resultado” &INFO%mend;
•Estructura general de una macro: Se puede introducir código SAS ( pasos data, procedimientos, funciones..).Para invocar una macro es necesario el prefijo %Para introducir comentarios se utiliza %*
• Condiciones :•Instrucción condicional:
• %IF ... %THEN..; %ELSE... ;•Y son mas de una instrucion en los bloques then o else se utiliza %DO; .. %END;
•Instrucción Repetitivas: (Ejemplo)%do i=1:%to #
%put &num “Resultado”;%end;
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS
10.1 Introducción10.2 Variables de macro 10.3 Generación de código10.4 Macros con parámetros de entrada
11 COMPRESION DE TABLAS12 PROCEDMIENTOS ESTADISTICOS
MACROS / PARAMETROS DE ENTRADA
Macros : Parámetros de entrada en las macros.
•Ejemplo:•% macro pl( data=,yvar=,xvar=);;• proc plot data = &data;• run;•% mend;
•LLamada:•%pl (data=a,yvar>=y=xvar=x);
•Definición de los parámetros de entrada:
Definición Llamada
%macro pl(data=,yvar=,xvar=); %pl(data0a,yvar=u;xvar=x);
%macro pl(data,yvar,xvar); %pl(a,y,x);
%macro pl(data=a,yvar=y,xvar=x); %pl(xvar=x);
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS 11 COMPRESION DE TABLAS
11.1 CPORT11.1 CIMPORT
12 PROCEDMIENTOS ESTADISTICOS
COMPRESION DE TABLAS / CPORT
Compresión de tablas : CPORT
•Sintaxis:•Libname nom_lib ‘directorio_lib';•proc cport lib=nomb_lib file=‘nombre-result.cpo';run;
•CPORT:•El procedimiento para la compresión de los datos de una librería en un archivo cpo.
•Se puede utilizar para comprimir tablas en un entorno Windows y exportarlas a un entorno Unix
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS 11 COMPRESION DE TABLAS
11.1 CPORT11.2 CIMPORT
12 PROCEDMIENTOS ESTADISTICOS
COMPRESION DE TABLAS / CIMPORT
Compresión de tablas : CIMPORT
•Sintaxis:
•libname nom_lib ‘ruta_lib';•proc cimport infile=‘ruta_archivo\nombre_archivo_comp.cpo' library=nomb_lib;•run;
•CIMPORT:•El procedimiento para la descompresión de los datos de archivo cpo a una librería.
•Se puede utilizar para comprimir tablas en un entorno Windows y exportarlas a un entorno Unix
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
12.1 PROC univariate12.2 PROC Freq
PROCEDMIENTOS ESTADISTICOS / PROC UNIVARIATE
Procedimientos estadísticos : Proc Univariate
•Sintaxis:
•PROC UNIVARIATE DATA=FIEBRE.GRADOS;• VAR EDAD;• OUTPUT OUT=U_EDAD MEAN=MITJANA MEDIAN=MEDIANA MODE=MODA;•RUN;• PROC UNIVARIATE DATA=FIEBRE.GRADOS PLOT NORMAL;• VAR EDAD;•RUN;• PROC PRINT DATA=U_EDAD;•RUN;
•Proc Univariate:•El procedimiento PROC UNIVARIATE se utiliza para cuando el objetivo del análisis es por ejemplo testar una hipótesis o bien cualquier otro análisis más profundo de los datos, es interesante explorar más detalladamente las variables y obtener otros estadísticos descriptivos así como tests relativos a la distribución de los datos.
Indice
01 INTRODUCCIÓN02 PROCEDIMIENTOS Y PASO DATA03 LIBRERIAS04 PASO DATA 05 VARIABLES06 FUNCIONES SAS07 PROCEMIENTOS08 PROC SQL09 CONEXIONES A BBDD10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
12.1 PROC univariate12.2 PROC Freq
PROCEDMIENTOS ESTADISTICOS / PROC FREQ
Procedimientos estadísticos : Proc Freq
•Sintaxis:
•PROC FREQ DATA=FIEBRE.GRADOS;•TABLES SEXO /OUT=F_SEXO;•RUN;•PROC FREQ DATA=FIEBRE.GRADOS;•TABLES SEXO /TESTP=(0.4 0.6);•RUN;
•Proc Freq:•El procedimiento FREQ genera tablas de frecuencias. Este procedimiento, también puede ser útil para observar la calidad de los datos, comprobando si hay valores extraños o faltantes.
Top Related