domingo, 19 de junio de 2016

CREA UN GRÁFICO DINÁMICO EXCEL DESDE SAS

Aunque los gráficos SAS pueden ser un buen instrumento para presentar resultados, en ocasiones las necesidades de nuestros equipos o clientes pueden requerir que les generemos un gráfico dinámico. Un gráfico dinámico es un tipo de representación que permite al usuario elegir una serie de filtros, ejes, valores y leyendas. En pocas palabras, una herramienta visual de análisis.

Con el comando "proc export" de SAS podemos generar una salida Excel, pero no un gráfico dinámico. Para ello, debemos crear una macro desde Excel, que elabora el gráfico dinámico a partir de la tabla XLSX. Una vez realizada esta macro, ya sí que podemos llamarla desde el código SAS. Os pongo un ejemplo:


proc export data=ruta.tablaexcel.xlsx"
      dbms=excel replace;
sheet="tabla1"; 
run;
/* Automatización del gráfico */
options noxwait noxsync;

data _null_;
rc=system('start excel');
run;

data _null_;
 x=sleep(10);
run; 

filename CMDS DDE 'EXCEL|SYSTEM';

data _null_;
file CMDS;
put "[open(""ruta.tablaexcel.xlsx"")]";
run;

data _null_;
file CMDS;
put '[RUN("personal.xlsb!macrografico")]';
run;



Repasamos los pasos de este código: con “proc export” exportamos la tabla a formato Excel; con “rc=system(‘start excel’)” llamamos a Excel; con “sleep(10)” esperamos diez segundos mientras se escribe la tabla (en mi ejemplo es una tabla de más de 160.000 registros); y, con “[RUN("personal.xlsb!macrografico")]” lanzamos la macro macrografico, que crea el gráfico dinámico.

Espero que os sirva. No olvidéis compartir.






No hay comentarios:

Publicar un comentario