IntroducciónSAS 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 1 Sintaxis 08.Indice 07 PROCEMIENTOS 07. SQL Server. DB2.2 Ejemplo: Oracle. Teradata .2 Joins 09 CONEXIONES A BBDD 09.1 Librerías 09.2 Procedimientos frecuentes 08 PROC SQL 08.1 Sintaxis 07. 2 CIMPORT 12 PROCEDMIENTOS ESTADISTICOS 12.1 PROC univariate 12.1 CPORT 11.4 Macros con parámetros de entrada 11 COMPRESION DE TABLAS 11.2 Variables de macro 10.1 Introducción 10.3 Generación de código 10.2 PROC Freq .Indice 10 MACROS 10. 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 . Ventana ” EDITOR”: Ventana editable para el desarrollo del lenguaje SAS base. Ventana ”OUTPUT”: Ventana de resultados. librerías. e informa sobre la velocidad de ejecución.Introducción / Inicio de sesión Ventana “Explorer”: Contiene accesos directos a ficheros. Ventana ”LOG”: Ventana para la visualización de los logs. escribe mensajes de advertencia o/y error. y una ventana de resultados. . 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 .Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 02.1 Lectura datos internos 02. Sintaxis : PROC. cálculos estadísticos. creación de variables. Cada instrucción es necesario el signo “. ) se realiza dentro de la instrucción DATA. Acceso a ‘dataset’ sin modificar su estructura: Análisis. . Para especificar un dataset especifico se utilizaremos la opción ‘DATA=nombre_dataset’. Los comentarios van precedidos por un signo “*”.”. Todo paso DATA o PROC debe acabar con la sentencia “RUN”. Dataset : Conjunto de datos creados con SAS. Creación/Modificación de ‘dataset’. cambio de etiquetas.. Operaciones dentro de un dataset ( lectura..Procedimientos y Paso Data PASO DATA PROC Sintaxis : Data Nombre. listados... Si no se especifica esta opción utilizará el ‘dataset’ creado más reciente. 1 Lectura datos internos 02.Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 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 . 4 1 JPY 1 56 5 2 JTA 1 48 6 4 RMA 0 88 7 2 HFB 0 28 . variables y ‘$’ si son alfanuméricas CARDS : Lectura de los datos internos DATA EJEMPLO1. . INPUT NUM_NIN SUP INIC $ SEXO EDAD. el resultado de este procedimiento se visualiza en la ventana de output. PROC PRINT : Procedimiento para listar los datos . nombre de las * Se les realizaron dos test. PROC PRINT. INPUT : Declaración de variables. RUN.Procedimientos y Paso Data / Lectura datos internos Paso Data * Datos correspondientes aun estudio sobre niños superdotados. RUN. CARDS. 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 .Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 02. especificando la ruta del archivo. . Ejemplo DLM=“|”. •INPUT NUM_NIN TEST. •DATA EJEMPLO3. Formas de lectura: Fichero formato fijo: Especifica las columnas. •PROC PRINT DATA=EJEMPLO2. INFILE: Lectura de archivos externos. •RUN. (NO espacio en blanco) se define con la opicon DLM= ‘separador’.DAT’ LRECLS=9. •PROC PRINT DATA=EJEMPLO2.DAT’ DLM=’09’x. •INFILE ‘C:\DATOS2.Procedimientos y Paso Data / Lectura datos externos Paso Data DATA EJEMPLO2. Ficheros con delimitador. •RUN. •INFILE ‘C:\DATOS1. •RUN. •INPUT NUM_NIN 1-2 INIC $ 4-6 SEXO 7 EDAD 8-9. Opción: LRECL: máxima longitud de cada línea (necesaria si el registro tiene mas de 256 caracteres). •RUN. 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 .Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 03. Librerías Una librería es una carpeta donde se almacenan los archivos de SAS. 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. Al crear la librería se accede a los datos. pero al suprimirla no se borran los datos sino el acceso. . 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 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Ó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 •FOOTNOTE. •SET EJEMPLO1. •FOOTNOTE 'dataset RESULTADOS'. 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. •OPTIONS LS=75 PS=50 NODATE NONUMBER. •DATA TEST. •Los datasets EJMEPLO1.. •RUN. . •RUN. •SET EJEMPLO2.EJEMPLO2. •SET EJEMPLO3. •RUN.EJEMPLO2'. •RUN.EJEMPLO1.EJEMPLO2.Paso DATA / Instrucciones set del paso Data Paso DATA :SET •LIBNAME TEST 'D:\'. •TITLE 'dataset TEST.EJEMPLO4. •DATA TEST. •TITLE. •DATA TEST. •PROC PRINT DATA=TEST. EJMEPLO2 y EJMEPLO3 se encuentran en las librerías WORK y TEST. Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 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 .1 Instrucciones set del paso data 04. en algún dataset se realiza mediante el paso DATA y la instrucción SET. operación. •LIBNAME nombreLib ‘d:\datos_sas’. •RUN. •SET A. •Copia del dataset A llamado B.Paso DATA / Operaciones dataset Paso DATA : Operaciones •DATA B. VARA=1. •DATA C. A y B son iguales •Copia del dataset B llamado C. . Y se añade la variable VARA con el valor 1. recodificación.. el cual no se modifica en esta ejecución. . el datasetAnt. •Copia en la librería WORK. •SET nombreLib. •RUN. •La instrucción SET asigna al dataset del paso DATA los mismos datos. •DATA nombre1. Siempre sea necesaria alguna modificación.datasetAnt. •RUN. •SET B. variables y propiedades que el dataset de la instrucción SET.. •PUT NUM_NIN 1-2 SUP 3 INIC $ 4-6 SEXO 7 EDAD 8-9.EJEMPLO2. •RUN.Paso DATA / Operaciones dataset Paso DATA : Operaciones •DATA AUXILIAR. •RUN. Es imprescindible que las tablas de entrada estén ordenadas por las variables de cruces. •Guardar datos en un fichero externo • FILE :Exportar los datos de un dataset a la ruta y formato deseados. •DATA TEST. •BY NUM_NIN. •MERGE TEST. •PROC SORT DATA=TEST. •RUN.EJEMPLO3 TEST. •BY NUM_NIN. •SET TEST. •PROC SORT DATA=TEST.EJEMPLO1. •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. pero sólo ficheros texto. •FILE 'A:\DATOS1. En el cuerpo del merge se permite cualquier sentencia SAS valida en dataset. . EJEMPLO4. EJEMPLO3.EJEMPLO2. •PROC SORT DATA=TEST. Debe llevar una sentencia BY con las variables de cruce. •BY NUM_NIN. •RUN.EJEMPLO1. •PROC PRINT. •BY NUM_NIN. •RUN.DAT' . • Merge de datasets: La sentencia MERGE sirve para "cruzar" n tablas dando como resultado m resultados de salida de datos. •RUN. EJEMPLO4.EJEMPLO5. • Añadir casos: PROC APPEND :El dataset resultante es el dataset especificado en la opción BASE. Cuando ambos datasets no tienen idéntica estructura se requiere la opción FORCE al final de la instrucción.EJEMPLO5 DATA=TEST. •PROC APPEND BASE=TEST. •RUN.Paso DATA / Operaciones dataset Paso DATA : Operaciones •DATA TEST. . •RUN. •RUN. •SET EJEMPLO. •PROC PRINT. y a éste se le añaden todos los casos del dataset de la opción DATA.EJEMPLO1 FORCE. 1 Instrucciones set del paso data 04.Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 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 .2 Operaciones ‘dataset’ 04. •END. •ELSE EDAD2=2. END. •SEXO=1. •RUN. •IF EDAD < 50 THEN EDAD2=1. a partir de la instrucción IF o equivalentemente la instrucción WHERE: Sintaxis: a) IF condicion THEN accion.Paso DATA / Condidiciones Paso DATA : Condicional •DATA RESULTADO7. •PROC PRINT.RESULTADO8. ELSE accion. acccion2. •SET TEST. b) IF condicion THEN DO. •IF NUM_NIN=5 THEN DO. •Sentencia condicional: •Se pueden seleccionar casos datos que cumplan cierta condición. •RUN. •CENTRE=10. accion1. . •INIC='ABC'. 3 Labels 05.Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05.2 Formatos 05.4 Length 06 FUNCIONES SAS 07 PROCEMIENTOS 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .1 Selección de variables 05. Las demás variables continúan en el dataset resultante. Las demás variables son eliminadas del dataset resultante. •KEEP: La instrucción KEEP permite guardar en el dataset creado sólo las variables allí mencionadas.PRUFINALES. •RUN.VARIABLES / Selección de variables Paso DATA : keep y drop •DATA AUXILIAR2 (KEEP= TEST RESULTADO). •SET TEST. •DROP: La instrucción DROP permite ELIMINAR del dataset las variables allí mencionadas.PRUFINALES. . •RUN. •DATA AUXILIAR3 (DROP= TEST RESULTADO). •SET TEST. 4 Length 06 FUNCIONES SAS 07 PROCEMIENTOS 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .2 Formatos 05.3 Labels 05.Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05.1 Selección de variables 05. PRUFINALES. •DATA AUXILIAR5 •SET TEST. •PROC FORMAT. •RUN.’ ( Todos los formatos acaban en . EDAD 2. . •FORMAT: Formato de las variables. •RUN. •FORMAT APROBADO VSI_NO. •RUN.PRUEFINALES. •VALUE VSI_NO 1=‘SI’ O=‘NO’. Permite utilizar formatos internos de SAS o crear formatos a medida mediante PROC FORMAT. •Sintaxis: FORMAT nombre_var ($ si es alfanumerica) logitud +’. NOMBRE $40.. •FORMAT EDAD 2.) •PROC FORMAT .VARIABLES / Formatos Paso DATA : Format y Proc Format •DATA AUXILIAR4 •SET TEST. 4 Length 06 FUNCIONES SAS 07 PROCEMIENTOS 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .3 Labels 05.1 Selección de variables 05.Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05.2 Formatos 05. VARIABLES / LABELS Paso DATA : LABEL •DATA AUXILIAR5. •LABEL: Permite establecer etiquetas a las variables para su mejorar su comprensión. •SET TEST. •LABEL RSPFINAL =‘ RESULTADO PRUEBA FINAL’ •RUN. .PRUFINALES. Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 05.1 Selección de variables 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 .2 Formatos 05. •LENGTH EDAD 2 NOMBRE $ 50. •LENGTH: Permite establecer la longitud de los campos. •Sintaxis: Length nom_var longitud.VARIABLES / LENGTH Paso DATA : LENGTH •DATA AUXILIAR6. . •Nota ( Si es alfanumerica ira precedida de un $.PRUEBASFINALES. •SET TEST. •RUN. 3 Funciones alfanuméricas 07 PROCEMIENTOS 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .2 funciones fecha 06.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. PRECISIÓN) •Redondear con determinada precisión (la precisión es una potencia de 10 •EXP(EXPRESIÓN) •Exponencial •LOG(EXPRESIÓN) •Logaritmo •LOG2(EXPRESIÓN) •Logaritmo con base 2 •LOG10(EXPRESIÓN) •Logaritmo con base 10 •COS(EXPRESIÓN) •Coseno •SIN(EXPRESIÓN) •Seno •TAN(EXPRESIÓN) •Tangente .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. Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 06 FUNCIONES SAS 06.3 Funciones alfanuméricas 07 PROCEMIENTOS 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .1 Funciones numéricas 06.2 Funciones fecha 06. SEG) •Convierte a variable tipo fecha •INTCK(UNIDAD. FEC1.HOR.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.FEC2) •Obtiene la distancia entre dos fechas en la unidad especificada .FUNCIONES SAS / FUNCIONES FECHA Funciones SAS •MDY (MES.DIA. MIN. 1 Funciones numéricas 06.Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 06 FUNCIONES SAS 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 . • •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 •SPEDIS • •SUBSTR •Determina la similitud entre dos palabras expresada cómo una distancia •TRANSLATE •Reemplaza caracteres específicos de un argumento •Extraes una subcadena de un argumento .FUNCIONES SAS / FUNCIONES ALAFANUMERICAS Funciones SAS •INDEX • •COMPRESS •LOWCASE •UPCASE • •LENGTH • •LEFT • •REVERSE • •SCAN • •SOUNDEX •Busca una expresión de caracteres dentro de una cadena • •Elimina caracteres específicos de una cadena. 1 Sintaxis 07.Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 04 PASO DATA 05 VARIABLES 06 FUNCIONES SAS 07 PROCEMIENTOS 07.2 Procedimientos frecuentes 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS PROC SQL 12 PROCEDMIENTOS ESTADISTICOS . •RUN. •OUTPUT OUT=dataset_salida. •WEIGHT VARIABLE_PESO.PROCEDIMIENTOS / SINTAXIS Procedimientos • Sintaxis: •PROC NOM_PRC DATA = nom_dataset OPCIONES ESPECIFICAS. 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. 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. •WHERE CONDICIÓN. Las instrucciones específicas de cada procedimiento son un requisito indispensable para el funcionamiento del mismo. La instrucción WHERE permite estudiar sólo los datos del dataset que cumplen una cierta condición. Para cualquier duda en la sintaxis de un procedimiento. Procedimientos: DATA=nombre_dataset Esta opción permite especificar cuál es el dataset de trabajo. •BY VARIABLES. consultar el HELP. . y suelen estar relacionadas con las variables que se analizan. 2 Procedimientos frecuentes 08 PROC SQL 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .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. •DISPLAY •Procedure Visualizar titulos •EXPLODE •Procedure Titulos grandes.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). vía explotar caracteres. •DBCSTAB •Procedure Produce tablas de conversión a caracteres de doble-byte.) •FORMAT •Procedure Dar etiquetas a los valores de las variables •FORMS •Procedure Para crear etiquetas adesivas •FREQ • •Procedure Tablas de frecuencias . ej. •EXPORT •Procedure Exportar datasets a texto (p. •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 Estadísticos de Resumen •TABULATE •Procedure Tablas •TIMEPLOT •Procedure Diagramas de dispersión respecto el tiempo •TRANSPOSE •Procedure Transpone datasets •TRANTAB •Procedure Produce y mantiene tablas de traducción de códigos •UNIVARIATE •Procedure Análisis univariados .PROCEDIMIENTOS / PROCEDIMIENTES FRECUENTES Procedimientos SAS FSLIST Procedure Examinar ficheros externos al SAS •IMPORT •Procedure Importar datos (p. FSP) •PRINT •Procedure Listar datasets •PRINTTO •Procedure Defini las rutas dónde almacenar las ventanas LOG y OUTPUT •RANK •Procedure Crea Rangos a partir de variables. ej. •REGISTRY •Procedure Mantiene el registro de SAS. 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 SAS (AF. 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 . crear y borrar conjuntos de datos .añadir. . •QUIT. modificar o borrar columnas en un conjunto de datos •Query-expression contiene sentencias SQL. •Query-Expresion .PROC SQL / SINTAXIS PROC SQL • Sintaxis: •PROC SQL. PROC SQL El procedimiento PROC SQL utiliza el Lenguaje Estructurado Query (SQL) para: .recobrar y manipular conjuntos de datos SAS .generar informes .añadir y modificar valores de datos en conjunto de datos . 2 Joins 09 CONEXIONES A BBDD 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .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. FINAL AS •SELECT * FROM lefttab as l inner join righttab as ron (l. • 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.continent=r.continent). •QUIT. •Ó •PROC SQL.continent).continent=r.continent=r. •Right •PROC SQL. •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.FINAL AS •SELECT *FROM lefttab as l full join righttab as r •on (l.FINAL AS •SELECT * FROM lefttab as l right join righttab as r •on (l. •QUIT. righttab as r WHEREl. CREATE TABLE FIEBRE. • Inner Join: La tabla resultante contendrá únicamente los registros que sean comunes en ambas tablas.continent=r.continent.FINAL AS •SELECT * FROM lefttab as l.PROC SQL / JOINS PROC SQL: Join •PROC SQL. CREATE TABLE FIEBRE. • 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. •QUIT. •QUIT. •Full •PROC SQL.continent). CREATE TABLE FIEBRE. CREATE TABLE FIEBRE.FINAL AS •SELECT * FROM lefttab as l left join righttab as ron (l. •QUIT. •Left : •PROC SQL.continent=r. . CREATE TABLE FIEBRE.continent). SQL Server.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. DB2.2 Ejemplo: Oracle. Teradata 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .1 Librerías 09. . •Alias de conexión. .> 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.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. •Engine-name ... por ejemplo usuario. •SAS/ACCESS-LIBNAME-opts -> Opciones para la librería declarada. password. Teradata 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .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. SQL Server.2 Ejemplo: Oracle. DB2. CONEXIONES A BBDD / LIBRERIAS Conexiones a BBDD : Ejemplos de conexiones •SQL SERVER: •libname sqlS odbc dsn=ORINGENDATOS user=xxxxx password=xxxxx schema=xxxxx. •ORACLE • libname Oracle oracle user=“xxxxxxx" password=“xxxxxxxx" path=“xxxx" schema=‘xxxxx'. • Oracle: • Es necesario catalogar la base de datos en el TNS_Names. • SQL SERVER: • Es necesario crear un origen de datos desde la opción de windows de ‘Administración de Dispositivos’.ora para realizar la conexión a la base de datos. • Es necesario tener catalogadas las bases de datos en el cliente DB2 para realizar la conexión. •TERADATA • libname terasas teradata database='ddbb' user='user' pw='pass'. •DB2 • DB2: •libname DB2UDB db2 database=XXXXX user=xxxxx password=xxxxx. . • Teradata: • Es necesario tener catalogadas las bases de datos en el cliente Teradata para realizar la conexión. 3 Macros con parámetros de entrada 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS .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 Variables de macro 10.1 Introducción 10.2 Generación de código 10. • La ventana de programación para crear Macros. existen dos caracteres que activan al procesador Macro: •.El lenguaje Macro. que designará a las variables Macro. es la ventana habitual de sintaxis. •. • Al compilar un texto.Macros / Introducción La programación Macro es una herramienta muy útil para estandarizar. permite reducir en gran medida la cantidad de código necesario para las tareas más frecuentes.El procesador Macro. la sintaxis que se debe utilizar ara comunicarse con el procesador Macro. extendery la programación clásica en código SAS. encargado de “traducir”. que designará a las Macros creadas por nosotros o ya residentes en el sistema. . Entre otras virtudes.% : %nombre . •.& : &nombre . • La programación Macro tiene dos componentes principales: •. 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.3 Generación de código 10.2 Variables de macro 10.1 Introducción 10.4 Macros con parámetros de entrada 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS . ). Las referencias a variables Macro ya creadas siempre serán precedidas por el símbolo: “&”. -> 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. Para listar todas las variables %put_all_. • Variables definidas por el sistema: •Lista do de variables definidas por el sistema • Variables definidas por el sistema: •Variables definidas por el sistema: •%let macr=%nrtsr(%pl). • Formula: • %let num=%eval (5*2). • Se recomienda que empiece por letra o ‘_’.Los nombres de variables Macro no pueden contener caracteres extraños cómo:. ( se asigna a macr el litera pl) •%let plo = %str(proc print . espacio “ ‘ AND OR etc. run.MACROS / VARIABLES MACROS Macros : Variables •Sintaxis: •libname : •% let nombre = literal_nombre . . . 4 Macros con parámetros de entrada 11 COMPRESION DE TABLAS PROC SQL 12 PROCEDMIENTOS ESTADISTICOS .3 Generación de código 10.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.2 Variables de macro 10.1 Introducción 10. . •Y son mas de una instrucion en los bloques then o else se utiliza %DO. % if &info=a then %do. %end. • expresion •% mend nombre macro Condiciones % macro EJEMPLO1(info=). Para invocar una macro es necesario el prefijo % Para introducir comentarios se utiliza %* • Condiciones : •Instrucción condicional: • %IF . . •Instrucción Repetitivas: (Ejemplo) %do i=1:%to &num.. %END. funciones.MACROS / GENERACION DE CODIGO MACROS Macros : Código condicionales y repetitivas •Sintaxis: •% macro nombre macro. •Estructura general de una macro: Se puede introducir código SAS ( pasos data.. %put &num “Resultado”. procedimientos.. proc print noobs label.. % else %if &info=b %then %do. .. run.). data=prueba run. % else %put “Resultado” &INFO %mend. proc sort. %ELSE... %THEN.. 2 Variables de macro 10.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.3 Generación de código 10.4 Macros con parámetros de entrada 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS . xvar=x).y.xvar=).yvar. %pl(data0a.x).yvar>=y=xvar=x). %macro pl(data=a.yvar=. • proc plot data = &data.xvar=x) .xvar=).MACROS / PARAMETROS DE ENTRADA Macros : Parámetros de entrada en las macros. • run.yvar=. •% mend.xvar). •LLamada: •%pl (data=a.yvar=u. %pl(xvar=x). %macro pl(data.. . %pl(a. •Definición de los parámetros de entrada: Definición Llamada %macro pl(data=. •Ejemplo: •% macro pl( data=.yvar=y. 1 CIMPORT 12 PROCEDMIENTOS ESTADISTICOS .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. cpo'. •Se puede utilizar para comprimir tablas en un entorno Windows y exportarlas a un entorno Unix .COMPRESION DE TABLAS / CPORT Compresión de tablas : CPORT •Sintaxis: •Libname nom_lib ‘directorio_lib'. •CPORT: •El procedimiento para la compresión de los datos de una librería en un archivo cpo. •proc cport lib=nomb_lib file=‘nombre-result.run. 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 . •Se puede utilizar para comprimir tablas en un entorno Windows y exportarlas a un entorno Unix . •proc cimport infile=‘ruta_archivo\nombre_archivo_comp. •run. •CIMPORT: •El procedimiento para la descompresión de los datos de archivo cpo a una librería.COMPRESION DE TABLAS / CIMPORT Compresión de tablas : CIMPORT •Sintaxis: •libname nom_lib ‘ruta_lib'.cpo' library=nomb_lib. 2 PROC Freq .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. • OUTPUT OUT=U_EDAD MEAN=MITJANA MEDIAN=MEDIANA MODE=MODA. • PROC PRINT DATA=U_EDAD. •RUN. • VAR EDAD. .GRADOS PLOT NORMAL. •RUN. • PROC UNIVARIATE DATA=FIEBRE. •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.GRADOS.PROCEDMIENTOS ESTADISTICOS / PROC UNIVARIATE Procedimientos estadísticos : Proc Univariate •Sintaxis: •PROC UNIVARIATE DATA=FIEBRE. •RUN. • VAR EDAD. 1 PROC univariate 12.2 PROC Freq .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. 4 0.GRADOS.PROCEDMIENTOS ESTADISTICOS / PROC FREQ Procedimientos estadísticos : Proc Freq •Sintaxis: •PROC FREQ DATA=FIEBRE. también puede ser útil para observar la calidad de los datos. comprobando si hay valores extraños o faltantes. •Proc Freq: •El procedimiento FREQ genera tablas de frecuencias. •TABLES SEXO /OUT=F_SEXO.6). •PROC FREQ DATA=FIEBRE.GRADOS. •TABLES SEXO /TESTP=(0. Este procedimiento. •RUN. •RUN. .
Report "Curso - Introducción Al Lenguaje SAS BASE_blog"