sas sas-ods

Desactive el ahorro automático de gráficos en SAS 9.4



sas-ods (3)

En SAS 9.3, podría usar ODS HTML GPATH para especificar la ruta en la que quería guardar los gráficos (si así lo deseaba). En 9.4, por defecto (es decir, cada vez que abro SAS) cada vez que hago un gráfico (con PROC SGPLOT , por ejemplo), guarda automáticamente el gráfico en la ubicación donde se guarda el programa SAS. Intenté ir a Herramientas -> Opciones -> Preferencias -> Resultados y desmarcar cada combinación de las opciones de HTML y ODS, pero no importa de qué manera sigo obteniendo gráficos guardados automáticamente. ¿Cómo puedo desactivar esto? De preferencia, todavía tendría salida ODS dentro de SAS, pero no quiero que estas imágenes PNG (o lo que sea) se guarden en mi computadora fuera de SAS automáticamente.

EDITAR : Más información porque las diferencias según lo indicado anteriormente no estaban claras.

1) En 9.3 tuve que decir ODS GRAPHICS ON y especificar ODS HTML GPATH para que SAS guardara mis tramas en mi computadora fuera de SAS (o al menos eso creía). Si quería gráficos ODS dentro de SAS, pero no guardaba gráficos fuera de SAS, solo podía decir ODS GRAPHICS ON y omitir la declaración de ODS HTML GPATH .

2) Cuando abro 9.4 y no hago ninguna declaración sobre ODS (es decir, dejo la configuración por defecto), pero ejecuto un procedimiento como SGPLOT , I A ) obtengo un gráfico html (gráfico ODS que aparece en la ventana ''Resultados'' de SAS) ) y un gráfico en el que puedo hacer doble clic para abrirlo en Windows Photo Viewer, y B ) el gráfico se guarda adicionalmente y automáticamente cuando mi programa SAS se encuentra como PNG.

Al intentar detener este ahorro automático de gráficos, intenté lo siguiente en SAS 9.4 antes de ejecutar PROC SGPLOT :

1) ODS GRAPHICS OFF : Nada cambia. Aún consigo todo lo enumerado en el punto (2) anterior.

2) ODS HTML CLOSE (con ODS GRAPHICS ON ): Pierde la versión html / ODS del gráfico dentro de SAS, pero todavía tengo un gráfico en SAS. Puedo hacer doble clic en Windows Photo Viewer, y el gráfico se guarda automáticamente en mi programa SAS. ubicación.

3) ODS GRAPHICS OFF y ODS HTML CLOSE : Lo mismo que el caso anterior ((2) directamente arriba).

Lo que quiero (y creo que así es como estaba en 9.3) es sí, tener gráficos ODS en SAS (realmente no necesita la versión en la que puede hacer doble clic para abrir en Windows Photo Viewer), pero no , no haga que SAS guarde un PNG en mi computadora (específicamente, la ubicación de mi programa SAS).


En 9.3, cuando ODS HTML está activado, los gráficos se establecen de forma predeterminada en el directorio de inicio del usuario. Se guardan en el disco duro, incluso si no especifica una ruta. De lo contrario, no hay forma de que el navegador muestre las imágenes. La ubicación predeterminada puede haberse movido en 9.4 (no tengo una copia para probar), pero ambas versiones ponen archivos png en su disco duro.


Primero, algunas notas sobre lo que probaste.

ODS GRAPHICS encendido / apagado de ODS GRAPHICS no tendrá ningún efecto real en SGPLOT ni en ninguno de los procedimientos SG ; todos son ODS GRAPHICS sin importar nada. Lo que sí afecta es PROC UNIVARIATE y procedimientos similares que tienen dos tipos de gráficos: gráficos de estilo antiguo y ODS GRAPHICS . ODS GRAPHICS ON les dice que utilicen ODS GRAPHICS , y OFF les indica que utilicen el método anterior.

ODS HTML CLOSE le dirá a SAS que no produzca salida HTML, pero mientras tenga otro destino abierto (¿ ODS LISTING ?) Producirá gráficos aún en el destino GRAPH . Además, el hecho de que todavía produzca gráficos con ODS HTML CLOSE (a diferencia de la nota "Sin destinos de salida activos" y sin salida) me dice que todavía tiene un destino abierto (nuevamente, probablemente LISTING ). Por lo tanto, ODS HTML GPATH no necesariamente resolverá su problema (ya que solo afectará a dónde irá la salida de HTML). GPATH configurar GPATH para cada destino abierto (que es LISTING , HTML o ambos, según las casillas de verificación de sus preferencias).

La solución: como quiera que se vaya, su mejor opción es hacerlo en su directorio de trabajo (que SAS limpia cuando se cierra correctamente).

ods listing gpath="%sysfunc(getoption(work))"; proc sgplot data=sashelp.class; vbar sex; run;

Tenga en cuenta que los archivos .png se crean (como siempre lo hacen), pero ahora van al catálogo de trabajo (que puede explorar como una sub biblioteca y ver cada uno de los archivos dentro).

Podría poner la línea inicial en un archivo autoexec.sas e indicarle a SAS que la ejecute cuando se inicie SAS (opción -AUTOEXEC en la línea de comandos).

También puede desmarcar el Listing en herramientas-> preferencias-> Resultados, y / o usar el ODS LISTING CLOSE; , y esos archivos no deberían aparecer


Vaya a Herramientas -> Opciones -> Preferencias -> Resultados y deseleccione Crear listado. Debe encargarse del guardado automático de archivos PNG en sus archivos de programa.

Poornachand