Saltar al contenido

Generador de reportes de Humedad y Temperatura a partir de dos archivos CSV


Recommended Posts

publicado

Hola

Actualmente me encuentro en un embrollo, adquirí unos dataloggers para registrar Humedad, Temperatura y punto de rocío en el ambiente, el problema que tengo, es que necesito generar reportes en formato PDF y la empresa proveedora me dijo que no cuenta con esa función de forma nativa, sólo se puede revisar la información requerida en la aplicación y en el sitio web en la nube, la verdad es que se despliega de forma muy chula, pero yo necesito la copia en PDF, así que me propuse crear una plantilla de excel con macros para automatizar todo el proceso.

Al descargar los datos crudos del termohigrómetro, recibo 2 archivos en formato CSV, uno que su nombre termina en Meta y otro que termina en LOG, el primero muestra la información del dispositivo (ID, nombre, fecha de descarga en formato UNIX..), y el segundo, los registros de humedad, temperatura, punto de rocía y fecha de registro (En formato UNIX).

El proveedor me pasó una plantilla de excel bastante cutre, con la que tengo que copiar y pegar manualmente toda la información, que al final no me sirve de gran cosa para ahorrar tiempo, que es por lo que adquirí el sistema.

Mi idea es la siguiente: Un archivo de excel con macro, que al abrirlo solicite primero el archivo Meta y cree una hoja nueva con el mismo nombre, con la información de dicho archivo, y después pida el archivo Log, y haga el mismo procedimiento de crear una hoja nueva, pero con el nombre Log.

Con la hoja Meta creada, la información de la hoja Summary, se llenaría automáticamente (Sección Device Information), y con la hoja Log, se usaría como origen para la información de la hoja Data, dentro de esta hoja se crearía una tabla dinámica en la que la fecha Unix ya esté en formato legible (El instrumento registra las fechas y horas en formato Unix en milisegundos, de 13 dígitos).

Con la hoja Log creada, se debe cargar la información en una tabla dinámica que tiene las columnas Log (Número de registro), Fecha (Convirtiéndose de formato UNIX a formato legible), Hora (Convirtiéndose de formato Unix a legible), Temperatura, humedad, punto de rocía (Los tres tal como están en Log)... Y de ahí, generarse automáticamente 2 gráficas, una de Humedad con respecto al tiempo (En horas), y la segunda de Temperatura contra el tiempo (En horas).

Creo que es un poco rebuscado lo que pretendo hacer, pero creo que aquí podrían ayudarme a darle forma a esto, adjunto la base del archivo de excel con el que estoy tratando de empezar a darle forma, y los archivos generados por el termohigrómetro. Las hojas Log y Meta, las creé cuando importé los archivos CSV manualmente con la función Datos desde Texto.

De antemano, les agradezco mucho.

D28FD8B6_1611677699677_log.csv D28FD8B6_1611677699677_meta.csv PiSA-Excel-Template-for-Charts-v2_PRUEBA PARA BASE_Esqueleto.xlsx

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Perdona @Abraham Valencia pero he estado liado estos días. En realidad todo el problema se reduce a estos dos problemas: Problema 1: El script que "fabrica" SAP y que luego "pego" en la macro, no es capaz de  guardar archivos en SharePoint. He estado buscando, y en realidad muchas personas tienen ese problema (no poder guardar un Excel en SAP a través de VBA). Eso muy probablemente sean problemas de permisos, que no puedo cambiar (no soy administrador de nada). Como no puedo solucionarlo así, paso al plan B, que es guardar en Excel que me genera SAP en el ordenador de cada usuario que ejecute la plantilla (y que sí está guardada en SharePoint), para después con PowerQuery llamar a ese Excel (el export). Para ello, pretendo guardar el export, en la ruta relativa "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" donde los \..\..\..\ saltan las rutas personales de cada usuario (tipo C:\users\IDusuario\). Eso lo hace bien, y el archivo se guarda en la ruta de cada usuario que lo usa, pero surge el problema 2 Problema 2: PowerQuery no trabaja con rutas relativas del tipo  "C:\..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" necesita que sea del tipo fija "C:\users\IDusuario\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI" pero claro, IDusuario es diferente para cada usuario.   Pero escribiendo todo esto, creo que he dado con una posible solución, no grabar el export en una ruta de usuario, sino en una en la raiz de C:, que siempre será igual para todos los usuarios, del tipo C:\Sap\export.xlsx que seria igual en todos los ordenadores. Asi sí podría decirle a PowerQuery que vaya siempre a la ruta C:\Sap\ que existirá en todos los ordenadores. Mañana intentaré hacer pruebas, aunque mi solución ideal seria que se pudiera guardar en el SharePoint. Saludos.
    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
    • Hola nuevamente, mi duda sigue siendo la ruta, o rutas, finales que quedan, esas que llamas "relativas"; igual por si acaso pon 3 o 4 de esas, tal cual son y/o se ven en el explorador de cada PC y, de ser posible, en cualquier otro "lado" en que las veas.
    • Hola, tal cual se plantea, solamente con macros (VBA); en todo caso, hacerlo a mano o con "CTRL + ;". Saludos.
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.