Introduccin SAS Base Introduccin a SASBASE lenguaje propio
Introducción SAS Base Introducción a SAS/BASE, lenguaje propio de la plataforma SAS. http: \sasybi. blogspot. com
Indice 01 INTRODUCCIÓN 01. 1 Inicio de Sesión 02 PROCEDIMIENTOS Y PASO DATA 02. 1 Lectura datos internos 02. 2 Lectura datos externos 03 LIBRERIAS 03. 1 Definición 04 PASO DATA 04. 1 Instrucciones set del paso data 04. 2 Operaciones ‘dataset’ 04. 2 Condiciones
Indice 05 VARIABLES 05. 1 Selección de variables 05. 2 Formatos 05. 3 Labels 05. 4 Length 06 FUNCIONES SAS 06. 1 Funciones numéricas 06. 2 funciones fecha 06. 3 Funciones alfanuméricas
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 Librerías 09. 2 Ejemplo: Oracle, SQL Server, DB 2, Teradata
Indice 10 MACROS 10. 1 Introducción 10. 2 Variables de macro 10. 3 Generación de código 10. 4 Macros con parámetros 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 INTRODUCCIÓN 01. 1 Inicio de Sesión 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
Introducción / Inicio de sesión § 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 Barra Menú Ventana LOG “Explorer” Ventana Editor Ventana Output Status line
Introducción / Inicio de sesión § 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.
Indice 01 INTRODUCCIÓN 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. § Creación/Modificación de ‘dataset’. § Acceso a ‘dataset’ sin modificar su estructura: Análisis, listados, cálculos estadísticos. . . § 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. § 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. 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”; .
Indice 01 INTRODUCCIÓN 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 niños superdotados; § INPUT : Declaración de variables, nombre de las * Se les realizaron dos test; variables y ‘$’ si son alfanuméricas DATA EJEMPLO 1; 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; § 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 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 EJEMPLO 2; • INFILE ‘C: DATOS 1. DAT’ LRECLS=9; • INPUT NUM_NIN 1 -2 INIC $ 4 -6 SEXO 7 EDAD 8 -9; • RUN; • PROC PRINT DATA=EJEMPLO 2; • RUN; • DATA EJEMPLO 3; • INFILE ‘C: DATOS 2. DAT’ DLM=’ 09’x; • INPUT NUM_NIN TEST; • RUN; • PROC PRINT DATA=EJEMPLO 2; • 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 03. 1 Definición 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
Librerías § 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.
Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 03. 1 Definición 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
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 prueba 1; Run; Libname prueba ‘c: prueba_dir’ DATA preuba. prueba 2; Run; § LIbname : Declaración de librería § Options: § ACCESS=READONLY|TEMP § COMPRESS=NO | YES | CHAR | BINARY § CVPBYTES=bytes
Indice 01 INTRODUCCIÓN 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: '; • DATA TEST. EJEMPLO 1; • SET EJEMPLO 1; • RUN; • DATA TEST. EJEMPLO 2; • SET EJEMPLO 2; • RUN; • DATA TEST. EJEMPLO 4; • SET EJEMPLO 3; • RUN; • OPTIONS LS=75 PS=50 NODATE NONUMBER; • TITLE 'dataset TEST. EJEMPLO 2'; • FOOTNOTE 'dataset RESULTADOS'; • PROC PRINT DATA=TEST. EJEMPLO 2; • RUN; • TITLE; • FOOTNOTE; • Los datasets EJMEPLO 1, EJMEPLO 2 y EJMEPLO 3 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ÓN 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; • SET A; • RUN; • DATA C; • SET B; VARA=1; • RUN; • LIBNAME nombre. Lib ‘d: datos_sas’; • DATA nombre 1; • SET nombre. Lib. dataset. Ant; • 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. • 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 dataset. Ant, el cual no se modifica en esta ejecución.
Paso DATA / Operaciones dataset Paso DATA : Operaciones • DATA AUXILIAR; • SET TEST. EJEMPLO 1; • FILE 'A: DATOS 1. DAT' ; • PUT NUM_NIN 1 -2 SUP 3 INIC $ 4 -6 SEXO 7 EDAD 8 -9; • RUN; • PROC SORT DATA=TEST. EJEMPLO 1; • BY NUM_NIN; • RUN; • PROC SORT DATA=TEST. EJEMPLO 2; • BY NUM_NIN; • RUN; • PROC SORT DATA=TEST. EJEMPLO 3; • BY NUM_NIN; • RUN; • DATA TEST. EJEMPLO 4; • MERGE TEST. EJEMPLO 3 TEST. EJEMPLO 2; • 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. EJEMPLO 5; • SET EJEMPLO 4; • RUN; • PROC APPEND BASE=TEST. EJEMPLO 5 DATA=TEST. EJEMPLO 1 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 de la 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ÓN 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 RESULTADO 7; • SET TEST. RESULTADO 8; • CENTRE=10; • IF EDAD < 50 THEN EDAD 2=1; • ELSE EDAD 2=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; accion 1; acccion 2; END;
Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05. 1 Selección 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 / Selección de variables Paso DATA : keep y drop • DATA AUXILIAR 2 (KEEP= 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. • DATA AUXILIAR 3 (DROP= TEST RESULTADO); • SET TEST. PRUFINALES; • RUN; • 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05. 1 Selección 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 AUXILIAR 4 • SET TEST. PRUEFINALES; • FORMAT EDAD 2. NOMBRE $40. • RUN; • FORMAT: Formato de las variables. • Sintaxis: FORMAT nombre_var ($ si es alfanumerica) logitud +’. ’ ( Todos los formatos acaban en. ) • PROC FORMAT ; • VALUE VSI_NO 1=‘SI’ O=‘NO’; • RUN; • PROC FORMAT. Permite utilizar formatos internos de SAS o crear formatos a medida mediante PROC FORMAT. • DATA AUXILIAR 5 • SET TEST. PRUFINALES; • FORMAT APROBADO VSI_NO. EDAD 2. ; • RUN;
Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05. 1 Selección 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 AUXILIAR 5; • 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05. 1 Selección 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 AUXILIAR 6; • 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 06 FUNCIONES SAS 06. 1 Funciones numéricas 06. 2 funciones fecha 06. 3 Funciones alfanuméricas 07 PROCEMIENTOS 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
FUNCIONES SAS / FUNCIONES NUMÉRICAS Funciones SAS • ABS(EXPRESIÓN) • Valor Absoluto • SQRT(EXPRESIÓN) • Raíz Cuadrada • ROUND(EXPRESIÓN) • Redondear • ROUND(EXPRESIÓN, PRECISIÓN) • Redondear con determinada precisión (la precisión es una potencia de 10 • EXP(EXPRESIÓN) • Exponencial • LOG(EXPRESIÓN) • Logaritmo • LOG 2(EXPRESIÓN) • Logaritmo con base 2 • LOG 10(EXPRESIÓN) • Logaritmo con base 10 • COS(EXPRESIÓN) • Coseno • SIN(EXPRESIÓN) • Seno • TAN(EXPRESIÓN) • Tangente
Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 06 FUNCIONES SAS 06. 1 Funciones numéricas 06. 2 Funciones fecha 06. 3 Funciones alfanuméricas 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, AÑO) • Formato fecha mes día año • DAY(VAR_FECHA) • Retorna el día de una variable tipo fecha • MONTH (VAR_FECHA) • Retorna el mes de una variable tipo fecha • YEAR (VAR_FECHA) • Retorna el año de una variable tipo fecha • DATEPART (EXPRESIÓN) • 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, FEC 1, FEC 2) • Obtiene la distancia entre dos fechas en la unidad especificada
Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 06 FUNCIONES SAS 06. 1 Funciones numéricas 06. 2 Funciones fecha 06. 3 Funciones alfanuméricas 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 • • 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 letras del argumento a minúsculas • • Convierte todas 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ÓN 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: • 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 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ÓN 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 Añadir datos a un dataset • CALENDAR • Procedure Calendario con fechas y citas • CATALOG • Procedure Manipula los catálogos de SAS • CHART • Procedure Gráficos de barras sencillos • CIMPORT • Procedure Importación de datos de otras versiones de SAS • COMPARE • Procedure Camparación de Bases de datos • CONTENTS • Procedure Contenidos de un dataset • COPY • Procedure Realiza copias de un dataset • CORR • Procedure Correlación entre variables • CPORT • Procedure Exportación de datos de otras versiones de SAS • DATASETS • Procedure Manipulación de datasets (eliminar). • DBCSTAB • Procedure Produce tablas de conversión a caracteres de doble-byte. • DISPLAY • Procedure Visualizar titulos • EXPLODE • Procedure Titulos grandes, vía 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 dispersión sencillos • PMENU • Procedure Prepara Menus para ser utilizados por otros módulos de • PRINT SAS (AF, FSP) • PRINTTO • Procedure Listar datasets • RANK • Procedure Defini las rutas dónde almacenar las ventanas LOG y • REGISTRY OUTPUT • REPORT • Procedure Crea Rangos a partir de variables. • SORT • Procedure Mantiene el registro de SAS. • SQL • Procedure Para realizar informes • STANDARD • Procedure Ordenar un dataset • SUMMARY • Procedure Consultas a datasets mediante instrucciones SQL • TABULATE • Procedure Produce variables estandarizadas • TIMEPLOT • Procedure Estadísticos de Resumen • TRANSPOSE • Procedure Tablas • TRANTAB • Procedure Diagramas de dispersión respecto el tiempo • Procedure Transpone datasets • UNIVARIATE • Procedure Produce y mantiene tablas de traducción de códigos • Procedure Análisis univariados
Indice 01 INTRODUCCIÓN 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; • 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ÓN 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 • 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); • Left : • QUIT; • 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ÓN 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 Librerías 09. 2 Ejemplo: Oracle, SQL Server, DB 2, Teradata 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
CONEXIONES A BBDD / LIBRERIAS Conexiones a BBDD • Sintaxis: • Libname libref engine-name <SAS/ACCESSconnectionn-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ÓN 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 Librerías 09. 2 Ejemplo: Oracle, SQL Server, DB 2, Teradata 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
CONEXIONES A BBDD / LIBRERIAS Conexiones a BBDD : Ejemplos de conexiones • SQL SERVER: • libname sql. S odbc dsn=ORINGENDATOS user=xxxxx password=xxxxx schema=xxxxx; • SQL SERVER: • Es necesario crear un origen de datos desde la opción de windows de ‘Administración de Dispositivos’. • DB 2: • libname DB 2 UDB db 2 database=XXXXX user=xxxxx password=xxxxx; • ORACLE • libname Oracle oracle user=“xxxxxxx" password=“xxxx" path=“xxxx" schema=‘xxxxx'; • TERADATA • libname terasas teradatabase='ddbb' user='user' pw='pass'; • Es necesario tener catalogadas las bases de datos en el cliente DB 2 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. • Teradata: • Es necesario tener catalogadas las bases de datos en el cliente Teradata para realizar la conexión.
Indice 01 INTRODUCCIÓN 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 Introducción 10. 1 Variables de macro 10. 2 Generación de código 10. 3 Macros con parámetros de entrada 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS
Macros / Introducción § 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.
Indice 01 INTRODUCCIÓN 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 Introducción 10. 2 Variables de macro 10. 3 Generación de código 10. 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 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: • %let macr=%nrtsr(%pl); ( se asigna a macr el litera pl) • %let plo = %str(proc print ; run; ); • Se recomienda que empiece por letra o ‘_’. Para listar todas las variables %put_all_;
Indice 01 INTRODUCCIÓN 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 Introducción 10. 2 Variables de macro 10. 3 Generación de código 10. 4 Macros con parámetros de entrada 11 COMPRESION DE TABLAS PROC SQL 12 PROCEDMIENTOS ESTADISTICOS
MACROS / GENERACION DE CODIGO MACROS Macros : Código condicionales y repetitivas • Sintaxis: • % macro nombre macro; • expresion • % mend nombre macro Condiciones % macro EJEMPLO 1(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ÓN 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 Introducción 10. 2 Variables de macro 10. 3 Generación de código 10. 4 Macros con parámetros de entrada 11 COMPRESION DE TABLAS 12 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(data 0 a, yvar=u; xv ar=x); %macro pl(data, yvar, xvar); %pl(a, y, x); %macro pl(data=a, yvar=y, xvar=x); %pl(xvar=x);
Indice 01 INTRODUCCIÓN 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 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ÓN 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 Compresión de tablas : CIMPORT • Sintaxis: • libname nom_lib ‘ruta_lib'; • proc cimport infile=‘ruta_archivonombre_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ÓN 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 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ÓN 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 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.
- Slides: 70