¿Cómo importar un Excel que nos han pasado para utilizar esos datos con SAS? Esa es la pregunta que vamos a resolver hoy. Lo más directo es importar directamente el Excel que nos interesa con un proc import
. Este procedimiento permite importar varios tipos de ficheros para convertirlos en tablas SAS.
La forma más básica para importar un Excel es:
proc import out=tabla
datafile = "../ficheros/datos.xlsx"
dbms=xlsx;
getnames=YES;
run;
En el OUT indicamos la tabla SAS donde queremos guardar la información contenida en el Excel, indicamos la ruta del Excel en el DATAFILE. Es necesario indicar la ruta completa del Excel para evitar errores. El parámetro DBMS indica qué tipo de fichero se está importando y también como se va a transcodificar el contenido del Excel. Para Excel podemos utilizar XLS (para los formatos anteriores a la versión 2007) y XLSX. (Hay otros DBMS para Excel). Finalmente GETNAMES indica que se tomarán los nombres de las columnas contenidas en la primera fila del Excel para los nombres de los campos de la tabla.
Si tenemos un Excel con varias pestañas es necesario entonces indicar qué pestaña deseamos usar. Usaremos el parámetro SHEET.
proc import out=tabla
datafile = "../ficheros/datos.xlsx"
dbms=xlsx;
sheet='numeros_de_telefono';
getnames=YES;
run;
Cuando los datos colocados en el Excel no comienzan en la casilla A1 sino que están más abajo o más a la derecha puede suceder que la tabla resultante tenga registros vacíos o columnas sin valores. Para evitar esto se puede, entonces, indicar el rango de celdas a importar con el parámetro RANGE y la misma notación que se usa en Excel:
proc import out=tabla
datafile = "../ficheros/datos.xlsx"
dbms=xlsx;
sheet='numeros_de_telefono';
getnames=YES;
range = "B2:G1000";
run;
Si no sabemos precisar cuantas filas o columnas tiene la tabla a importar o estas son variables con el tiempo podemos utilizar un rango abierto como por ejemplo: range="B2:"
Para evitar tener que importar muchas pestañas podemos definir una librería apuntando al Excel de forma que las pestañas se visualizarán como tablas dentro de esa librería que representará al Excel entero. La pega de este método es que los parámetros de importación se establecerán por defecto y no podremos personalizar la importación, tendremos que tratar los datos luego. Para definir esta librería utilizamos un libname
indicando después del nombre de la librería el parámetro XLSX y luego la ruta y nombre del fichero.
libname excel xlsx "../ficheros/datos.xlsx";