Introducción a SAS/BASE, lenguaje propio de la plataforma SAS.

Slides:



Advertisements
Presentaciones similares
integridad referencial
Advertisements

UNIX COMP 240.
Lenguajes de programación
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
SQL Server Integration Services SSIS
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
• SQL Server Integration Services SSIS
Teoría de lenguajes y compiladores
INTERFAZ DE ACCES DISEÑO DE BASE DE DATOS
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
PL/SQL Francisco Moreno Universidad Nacional.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
CAPITULO 1 Escribiendo Sentencias SELECT Básicas
INTRODUCIÓN A MICROSOFT EXCEL 2007
Lic. Manuel Álvaro Pacheco Hoyo
Herramientas informáticas Hojas de cálculo
Acceso del usuario a la aplicación.
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
Como empezar en Access 2000 Abrir Access 2000 Pulsamos INICIO
Programación en Matlab
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Sesión 1 Introducción a Excel.
SQL SERVER Reporting Services
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Ing. Ricardo Carlos Inquilla Quispe
6 Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Visualización de Datos de Varias Tablas Utilizando Uniones.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Mt. Martín Moreyra Navarrete.
BASES DE DATOS Con Access.
Introducción a Access Juan Alberto Sigüenza Escuela Técnica Superior de Informática.
LabTIG – Facultad de Humanidades – Universidad Nacional del Nordeste Universidad Nacional del Nordeste Facultad de Humanidades CARRERA DE ESPECIALIZACION.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Mt. Martín Moreyra Navarrete.
Publicación de bases de datos Access en la web
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
EMPRESA DISTRIBUIDORA DE CERVEZA
 Opciones de apertura de archivos Leer los nombres de variable. En las hojas de cálculo, puede leer los nombres de variable de la primera fila del archivo.
CONSULTAS SENCILLAS A LA BASE DE DATOS
APLICACIÓN EN VISUAL BASIC
MICROSOFT EXCEL Excel es una aplicación del tipo hoja de calculo, integrada en el entorno Windows, y desarrollada por Microsoft, en la cual se combinan.
Comenzando con Excel 2000 Abrir Excel 2000 Pulsamos INICIO Elegimos PROGRAMAS Pulsamos en MICROSOFT EXCEL 2000 Elementos de la ventana de Excel 2000 Barra.
NOMBRES:OLIVARES ALFARO JOSE L. BONETTI ARON GRUPO:308.
LENGUAJE SQL.
Bases de Datos Access.
Alumnas: Santiago Sanchez Amairani Yaquelin Villanueva Jiménez Carina Equipo: 25 Tema: Base de datos Grupo: 308.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
C OLEGIO DE B ACHILLERES N O.13 X OCHIMILCO, T EPEPAN C ARRASCO G ARCÍA L ORENA T ORRES H EREDIA C ARLA P ALMIRA G RUPO : 308 M ATUTINO E QUIPO : 12.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Comandos internos y externos
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
JOIN EN MYSQL Bueno en esta presentación mostrare cosas acerca de los usos de la sentencia JOIN en mysql , mediante esta presentación planeo mostrar los.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Clase #3 de Access. Temario Consultas Consultas Creación y manejos de consultas Creación y manejos de consultas Macros Macros Relaciones Relaciones.
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
INTEGRANTE: FLORES GODOY JUAN E. Grupo:308. Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla.
Partes de la ventana Access
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
TEMA 1. INTRODUCCIÓN A SAS. MANEJO DE DATOS 1.¿QUÉ ES EL SAS? 2.PRESENTACIÓN DEL SAS 3.INTRODUCCIÓN DE DATOS EN SAS 4.MANEJO DE DATOS 5.PROCEDIMIENTOS.
GeoBuilder Fernando Alonso-Pastor Es un gestor de geoprocesos que facilita la realización de múltiples operaciones que deben ejecutarse simultánea.
DML Transact SQL Sesión IX Introducción a los procedimientos almacenados.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
DML Transact SQL Sesión VI Trabajando con subconsultas.
TEMA 7 ANÁLISIS DE LOS RESULTADOS TEMA 7 ANÁLISIS DE LOS RESULTADOS.
Transcripción de la presentación:

Introducción a SAS/BASE, lenguaje propio de la plataforma SAS. 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.2 Formatos 05.3 Labels 05.4 Length 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, DB2, 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 Ventana LOG Barra Menú “Explorer” Ventana Editor Status line Ventana Output

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 02 PROCEDIMIENTOS Y PASO DATA 01 INTRODUCCIÓN 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 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. 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 02 PROCEDIMIENTOS Y PASO DATA 01 INTRODUCCIÓN 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 * 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; 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 02 PROCEDIMIENTOS Y PASO DATA 01 INTRODUCCIÓN 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 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=“|”. 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; DATA EJEMPLO3; INFILE ‘C:\DATOS2.DAT’ DLM=’09’x; INPUT NUM_NIN TEST; PROC PRINT DATA=EJEMPLO2;

Indice 03.1 Definición 03 LIBRERIAS 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 03.1 Definición 03 LIBRERIAS 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 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; LIbname : Declaración de librería Options: ACCESS=READONLY|TEMP COMPRESS=NO | YES | CHAR | BINARY CVPBYTES=bytes

Indice 05 VARIABLES 06 FUNCIONES SAS 07 PROCEMIENTOS 08 PROC SQL 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.EJEMPLO1; SET EJEMPLO1; RUN; DATA TEST.EJEMPLO2; SET EJEMPLO2; DATA TEST.EJEMPLO4; SET EJEMPLO3; OPTIONS LS=75 PS=50 NODATE NONUMBER; TITLE 'dataset TEST.EJEMPLO2'; FOOTNOTE 'dataset RESULTADOS'; PROC PRINT DATA=TEST.EJEMPLO2; 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 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. 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. DATA C; SET B; VARA=1; RUN; Copia en la librería WORK, el datasetAnt, el cual no se modifica en esta ejecución. LIBNAME nombreLib ‘d:\datos_sas’; DATA nombre1; SET nombreLib.datasetAnt; RUN;

Paso DATA / Operaciones dataset 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; 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. PROC SORT DATA=TEST.EJEMPLO1; BY NUM_NIN; RUN; PROC SORT DATA=TEST.EJEMPLO2; BY NUM_NIN; RUN; PROC SORT DATA=TEST. EJEMPLO3; DATA TEST. EJEMPLO4; MERGE TEST.EJEMPLO3 TEST.EJEMPLO2; PROC PRINT; 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 DATA TEST.EJEMPLO5; SET EJEMPLO.EJEMPLO4; RUN; PROC APPEND BASE=TEST.EJEMPLO5 DATA=TEST.EJEMPLO1 FORCE; PROC PRINT; 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.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; 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; 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 AUXILIAR2 (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 AUXILIAR3 (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 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 AUXILIAR4 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; DATA AUXILIAR5 SET TEST.PRUFINALES; FORMAT APROBADO VSI_NO. EDAD 2.; PROC FORMAT. Permite utilizar formatos internos de SAS o crear formatos a medida mediante PROC FORMAT.

Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 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 07.2 Procedimientos frecuentes 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 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 07.2 Procedimientos frecuentes 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 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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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; QUIT; 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 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; Ó SELECT * FROM lefttab as l inner join righttab as ron (l.continent=r.continent); 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. Left : PROC SQL; CREATE TABLE FIEBRE.FINAL AS SELECT * FROM lefttab as l left join righttab as ron (l.continent=r.continent); QUIT; Right SELECT * FROM lefttab as l right join righttab as r on (l.continent=r.continent); Full SELECT *FROM lefttab as l full join righttab as r

Indice 09.1 Librerías 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, DB2, Teradata 10 MACROS 11 COMPRESION DE TABLAS 12 PROCEDMIENTOS ESTADISTICOS

CONEXIONES A BBDD / LIBRERIAS 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 09.1 Librerías 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, DB2, Teradata 10 MACROS 11 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; SQL SERVER: Es necesario crear un origen de datos desde la opción de windows de ‘Administración de Dispositivos’. DB2 libname DB2UDB db2 database=XXXXX user=xxxxx password=xxxxx; DB2: Es necesario tener catalogadas las bases de datos en el cliente DB2 para realizar la conexión. ORACLE libname Oracle oracle user=“xxxxxxx" password=“xxxxxxxx" path=“xxxx" schema=‘xxxxx'; 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. TERADATA libname terasas teradata database='ddbb' user='user' pw='pass';

Indice 10.1 Variables de macro 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 10.2 Variables de macro 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 Sintaxis: libname : % let nombre = literal_nombre ; Formula: %let num=%eval (5*2); -> uso en formulas 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: sysdate Sysday Syslast syserr %let macr=%nrtsr(%pl); ( se asigna a macr el litera pl) %let plo = %str(proc print ; run;); Variables definidas por el sistema: Lista do de variables definidas por el sistema Se recomienda que empiece por letra o ‘_’. Para listar todas las variables %put_all_;

Indice 10.1 Introducción 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 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 % macro EJEMPLO1(info=); % if &info=a then %do; proc sort; data=prueba run; % else %if &info=b %then %do; proc print noobs label; % else %put “Resultado” &INFO %mend; 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 &num; %put &num “Resultado”; %end;

Indice 01 INTRODUCCIÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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(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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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 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_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ÓN 02 PROCEDIMIENTOS Y PASO DATA 03 LIBRERIAS 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; PROC PRINT DATA=U_EDAD; 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 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; TABLES SEXO /TESTP=(0.4 0.6); 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.