Libname

Truco SAS. Unir todas las hojas de un Excel en una

Empleamos LIBNAME con SAS para acceder a Excel. Es un truco con limitaciones y que se tiene que ir mejorando a futuro. Se trata de leer todas las hojas de un libro Excel y pegarlas horizontalmente en otra hoja QUE NO DEBE EXISTIR PREVIAMENTE. La macro es la siguiente, no se acompaña de un ejemplo de uso debido a su sencillez:

%macro une_excel(ubicacion, nombre_union);
libname selec &ubicacion.

proc sql noprint;
select "SELEC.'"||memname||"'n" into:lista_excel separated by " "
from dictionary.members
where libname = "SELEC";
quit;

data SELEC.&nombre_union.;
set &lista_excel.;
run;

libname selec clear;
%mend;

%une_excel("C:\TEMP\unir_excel2\unidos.xlsx", todas);

Creamos una librería SAS a un libro Excel determinado. Leemos con DICTIONARY las hojas que tiene dicho libro y las unimos en una hoja de ese libro al que será la última. Como buena costumbre el desasignamos la librería con LIBNAME CLEAR. Como se ha indicado antes tiene limitaciones, por ejemplo no debe existir la hoja final con la unión. Pero es un buen ejemplo de uso de LIBNAME + EXCEL y DISTIONARY. Saludos.

Curso de lenguaje SAS con WPS. Librerías en WPS

Sobre el trabajo con librerías en SAS se pueden escribir libros. Todas las personas que han aprendido SAS conmigo a lo largo de los años han oído el mismo duscurso. «Hay que tener mucho cuidado con las librerías en SAS. Tenemos que tener muy claro que tablas son temporales, cuales han de ser permanentes. El problema del trabajo con SAS reside en el espacio en disco». Ya son decenas las personas que ahora hacen lo que pueden con SAS que han escuchado estas palabras y que siguen llenando discos y más discos incluso de los servidores con SAS más potentes de España.

Curso de lenguaje SAS con WPS. Lenguaje SAS

El lenguaje SAS tiene 3 elementos fundamentales:

  • Sentencias globales
  • Pasos DATA
  • Procedimientos PROC

SAS es un lenguaje de alto nivel interpretado. Esto es, ya está todo inventado y es muy costoso implementar nuevos procedimientos y algoritmos, algo de gran importancia en el mundo estadístico, pero para ello tenemos R. Ahora bien, ¿por qué las grandes organizaciones tienen SAS? Tiene una característica que destaca sobre todas: trabaja sobre disco , no trabaja sobre memoria como R o MATLAB. Esto nos permite gestionar grandes cantidades de registros y no estamos limitados por la memoria de nuestra máquina. WPS, evidentemente, hace lo mismo que SAS (a menor precio). Por la propia naturaleza de SAS es muy complicado poder crear nuevos procedimientos y funciones.