Automatice la creación de libros de Excel con SAS

Automatice la creación de libros de Excel con SAS


Logotipo de MS Excel Independientemente de las potentes herramientas de análisis que utilicen los profesionales de datos para su procesamiento de datos, MS Excel sigue siendo el resultado elegido por muchos usuarios y sectores completos.

Por ejemplo, en banca y finanzas, he visto a muchos usuarios de SAS crear consultas de datos y proyectos de análisis de datos bastante sofisticados en SAS Enterprise Guide. Pero al final, cuando los conjuntos de datos finales se han creado y validado, viene la parte manual cuando los usuarios exportan estas hojas de cálculo a Excel y luego las combinan y reorganizan copiándolas y pegándolas en un libro de trabajo deseado para guardarlas y distribuirlas.

Sin embargo, este proceso altamente manual no solo se puede automatizar por completo, sino que también se puede mejorar en comparación con el proceso interactivo de «exportar a Excel» y «copiar y pegar» interactivo de apuntar y hacer clic. Así es cómo.

Crear una sola hoja de cálculo de Excel simple

Supongamos que queremos convertir la tabla de datos SAHELP.CLASS a Excel. Aquí hay una solución básica que usa SAS Output Delivery System:

ods excel file='C:ProjectsSAS_to_ExcelSingle_sheet.xlsx';
 
proc print data=SASHELP.CLASS noobs;
run;
 
ods excel close;

Este código es bastante autoexplicativo. producirá hoja suelta.xlsx Archivo de libro de Excel en carpeta C:ProyectosSAS_to_Excel. Cuando se abre en Excel se ve así:

Si explora la documentación de ODS EXCEL, encontrará una variedad de opciones que puede usar para personalizar la salida de Excel. Pongámonos un poco más elegantes usando algunos de ellos.

Creación de varias hojas personalizadas en un libro de Excel

El siguiente ejemplo de código crea dos hojas (pestañas) en un solo libro de trabajo. Además, demuestra algunas otras características para mejorar la visualización de datos.

/* -------------------------------------------- */
/* Two sheets workbook with enhanced appearance */
/* -------------------------------------------- */
 
/* Formats for background & foreground coloring */
proc format;
   value hbg 
      50 <- 60   = #66FF99
      60 <- 70   = #FFFF99
      70 <- high = #FF6666
      ;
   value hfg
      low -< 50, 70 <- high = white;
run;
 
/* Define custom font style for ODS TEXT */
proc template;
   define style styles.MyStyle;
   parent=styles.htmlblue;
   style usertext from usertext /
      foreground  = #FF33CC
      font_weight = bold
      ;
   end;
run;
 
/* ODS Excel output file destination */
ods excel file = 'C:ProjectsSAS_to_ExcelTwo_sheets_fancy.xlsx';
 
   /* Excel options for 1st sheet (tab) */
   ods excel options
      ( sheet_name      = 'SASHELP.CLASS'
        frozen_headers  = 'on'
        embedded_titles = 'on' )
      style = styles.MyStyle;
 
   title justify=left color='#4D7EBF' 'This is TITLE for SASHELP.CLASS';
 
   ods text='This is TEXT for SASHELP.CLASS';
 
   proc print data=SASHELP.CLASS noobs;
      var NAME;
      var SEX AGE / style = {just=C};
      var HEIGHT  / style = {background=hbg. foreground=hfg.};
      var WEIGHT;
   run;
 
   /* Excel options for 2nd sheet (tab) */
   ods excel options
      ( sheet_name      = 'SASHELP.CARS'
        frozen_headers  = 'on'
        embedded_titles = 'on' );
 
   title 'This is TITLE for SASHELP.CARS';
 
   proc print data=SASHELP.CARS noobs;
   run;
 
ods excel close;

Aquí están los puntos destacados del código:

  • PROC FORMAT crea dos formatos, HBG y HFG, utilizados en el primer PROC PRINT para representar el texto de celda y el color de fondo.

    NOTA: En SAS, los colores se especifican como valores RGB hexadecimales (cxRRGGBB). Sin embargo, he encontrado (aunque parece no estar documentado) que estos colores se pueden escribir en FORMATO PROC y PLANTILLA PROC como valores entrecomillados (doble o simple) o sin comillas, así como precedidos por «#» o «cx» (para hexadecimal) . Por ejemplo, los siguientes son todos valores válidos: #FFAADD, '#FFAADD', cxFFAADD, 'cxFFAADD'.

  • PLANTILLA PROC definida texto de usuario estilo de fuente personalizado para ODS TEXT utilizado en ODS EXCEL junto con y como alternativa a la instrucción TITLE.
  • ODS EXCEL FILE=declaración de especificación de archivo abre el destino de EXCEL y especifica el archivo de salida para ODS EXCEL. La especificación del archivo de salida puede ser un nombre de archivo físico (debe estar entre comillas) o una referencia de archivo (sin comillas) asignada mediante la instrucción FILENAME. Puede apuntar a una ubicación en la computadora que ejecuta SAS (servidor SAS) o a una unidad de red accesible desde el servidor SAS.

    Esta declaración es seguida por dos declaraciones separadas de ODS EXCEL OPTIONS, una por pestaña correspondiente.

  • La instrucción ODS EXCEL OPTIONS especifica subopciones específicas de destino con pares de nombre=»valor» separados por espacios. En particular, utilizamos las siguientes opciones:
    • HOJA_NOMBRE= Especifica el nombre de la siguiente hoja de trabajo (los nombres de las hojas de trabajo pueden tener hasta 28 caracteres).
    • FROZEN_HEADERS='ENCENDIDO' Especifica que los encabezados no se desplazan cuando la tabla se desplaza verticalmente (el valor predeterminado es APAGADO). Es una función muy útil que realiza un seguimiento de los títulos y los nombres de las columnas a medida que el usuario se desplaza por las filas de la tabla.
    • EMBEDDED_TITLES='ACTIVADO' Especifica si los títulos deben aparecer en la hoja de trabajo (el valor predeterminado es DESACTIVADO).

    Hay una variedad de otras opciones útiles de ODS EXCEL que permiten una mayor personalización del aspecto y la funcionalidad de su libro de Excel.

  • La instrucción TITLE es altamente personalizable con el sistema de entrega de salida, como se muestra en este ejemplo personalizado de TITLE con ODS.
  • La instrucción ODS TEXT= inserta texto en su salida ODS. A diferencia de TÍTULO, donde ODS EXCEL combina varias celdas, ODS TEXT coloca su texto en una sola celda (vea la captura de pantalla a continuación). Que Elemento de estilo UserText que modificamos con PROC TEMPLATE controla el estilo de fuente, el color de fuente y otros atributos del texto que produce la instrucción ODS TEXT=.
  • En PROC PRINT usamos varias sentencias VAR para seleccionar variables, determinar su orden y aplicar estilos (texto y colores de fondo) a los valores impresos. Muchos más estilos ODS están disponibles con PROC PRINT para una mayor personalización.
  • La siguiente sección de código ( /* Opciones de Excel para la 2da hoja (pestaña) */ ) crea la segunda hoja en el mismo libro de Excel. También puede crear tantas hojas/pestañas como desee.
  • la última declaración las probabilidades superan cerca; cierra el objetivo ODS Excel para que no se escriba nada en el archivo de salida.

A continuación se muestran las dos capturas de pantalla que ilustran las dos hojas en el libro de Excel creado:

SAS crea un libro de Excel con múltiples hojas/pestañas

Preguntas

¿Te parece útil esta publicación? ¿Tiene preguntas, comentarios, sugerencias, otros consejos o trucos sobre la creación de libros de trabajo de MS Excel en SAS? Por favor, háganoslo saber a continuación.

Recursos adicionales

APRENDA A LEER Y ESCRIBIR ARCHIVOS DE EXCEL CON SAS

Related post

El programa interactivo de los científicos informáticos ayuda a planificar el movimiento para entornos con obstáculos – ScienceDaily

El programa interactivo de los científicos informáticos ayuda a…

Al igual que nosotros, los robots no pueden ver a través de las paredes. A veces necesitan un poco de ayuda…
Toma lecciones en realidad virtual con Immerse, una aplicación de voz para Quest 2

Toma lecciones en realidad virtual con Immerse, una aplicación…

En el metaverso, imagínese llegando tarde a la escuela. Bucear es una plataforma educativa de metaverso desarrollada en colaboración con los…
Cómo (y por qué) descargar juegos en Quest con SideQuest – Road to VR

Cómo (y por qué) descargar juegos en Quest con…

Hay muchas aplicaciones geniales en Quest Store, pero ¿sabías que puedes descargar juegos, experiencias y herramientas útiles de una biblioteca…

Leave a Reply

Tu dirección de correo electrónico no será publicada.