lunes, 30 de agosto de 2021

Este verano 2021 reinicié un proyecto de integración de datos que tenía pendiente hace años

Como siempre comencé recopilando datos procedentes de un proveedor externo (*.xlsx), leyéndolos en Excel y experimentando con ellos a través de tablas dinámicas, de modo de familiarizarme con su contenido y posibilidades originales

Luego cambié algunos formatos de fechas y campos de montos e intenté generar cuadros resúmenes que ya tenía en mente, etc.

Como resultado de la experimentación, ensayos y frustraciones llegué a la conclusión que las tablas dinámicas no se adaptan del todo a los propósitos que me había planteado

Llegado este momento recurrí a una herramienta que por diversos propósitos y motivos he llegado a conocer muy bien como es Office Access con la cual entonces me puse a:

  • Importar los datos originales
  • Integrarlos en una base de datos
  • Producir una primera visión integrada

Curiosamente para crear la primera visión integrada eché mano de un recurso muy antiguo pero comparativamente con pantallas y gráficos casi en desuso, como son los reportes

Sorprendentemente el informe creado después de varias versiones combina muy particularmente una visión vertical total de los datos mensuales mezclando líneas de detalles y resúmenes como hace tiempo no experimentaba ya que el uso pantallas y gráficos hace décadas los desplazaron en fama y demanda

Finalmente y a manera de prototipo de la aplicación creé una interfaz usuaria (formularios) que permite realizar las siguientes funciones haciendo uso de botones:

  • Pre-cargar datos originales (Año-Mes)
  • Re/Cargar datos Precargados (Año-Mes)
  • Generar Reporte (Año-Mes)

En el camino surgieron detalles importantes consecuentes de la integración y que debo resolver para darle máxima funcionalidad e inteligencia a la aplicación, lo cual espero sea pronto.

Particularmente tengo un interés en esta aplicación pero se que represente un modelo para satisfacer diversa necesidades de integración de datos

La integración se puede ampliar aún mas si consideráramos varios proveedores de datos externos teniendo en cuenta las diferencias de formatos que muy probablemente tendrán entre si.

Por el momento me complace compartir la experiencia y en tal caso saber del interés que pueda despertar en otras personas. No dudes en compartir tus apreciaciones al respecto.

Saludos y hasta pronto.

AR




martes, 15 de junio de 2021

Aplicación Office Access para la Gestión de Inventario

Al inicio de la informática todos las aplicaciones se hacían a la medida de cada empresa, institución, departamento, grupo de usuarios, caprichos del jefe, etc., no existían aplicaciones genéricas y/o temáticas como vinieron luego (aunque también es otra forma de desarrollar a la medida)

Las grandes empresas mantenían departamentos de analistas y programadores distribuidos por áreas empresariales (Compras, Inventarios, Producción, Distribución, Ventas, Administración, Recursos Humanos, etc) encargados de diseñar, desarrollar y mantener tales aplicaciones

De cualquier forma todos los desarrollos de aplicaciones siguen siendo a la medida y yo no me escapo de esa situación

En abril 2021 recibí unas hojas de datos donde se llevaban los datos de inventario de mercancías de una empresa de transporte que de acuerdo a su operativa almacena temporalmente en su almacén los ítems de sus clientes, algunos nuevos y otros usados

El tema es que quedamos en que yo comenzara a desarrollar una aplicación Office Access para crear una aplicación semejante partiendo de las hojas de datos mencionadas

Las aplicaciones de inventario fueron los primeros tipos de aplicaciones en las que me tocó trabajar y luego de otros tipos mas tarde me inicié en las aplicaciones de Office Access, creo que ya le tenía ganas nuevamente a las de inventario, así que una vez mas comencé con mucho entusiasmo y para dar la sensación de a la medida partiendo del contenido de las hojas de datos de Excel que me suministraron

Así que me puse manos a la obra comenzando con algunos conceptos elementales propios del tipo de aplicación y las normas para la creación de bases de datos relacionales

El primer modelo corresponde con el flujo de mercancías como sucede en el mundo físico

El segundo modelo con lo que sucede en el mundo del flujo de datos

Como se puede observar en el segundo modelo y siguiendo las reglas de normalización de datos las existencias son resultados que se deben calcular cada vez que se requieran a partir de las Entradas y salidas sin necesidad de almacenarlas

La aplicación se inicia con una lista de los materiales en inventario y un resumen de Entradas y Salidas así como las Existencias resultantes; algunos detalles se corresponden con las particularidades del caso del cual partimos

Me interesa saber el interés que despierta este tipo de aplicación en las herramientas disponibles en el trabajo de las empresas y trabajadores en general

Bienvenidas las preguntas y comentarios

Saludos

AR

lunes, 12 de abril de 2021

Aplicación Office Access para Gestión de Solicitudes / Incidencias

En agosto de 2020 escribí un artículo en este blog para compartir el motivo por el cual inicié el desarrollo de una aplicación Office Access para gestionar solicitudes de servicio e incidencias en un contexto de atención de usuarios informáticos rodeado de muchas interrupciones, cambios de prioridades, usuarios ilocalizables, datos dispersos en varias aplicaciones corporativas, etc.

Ahora en abril de 2021 escribo otro para explicar detalles de la aplicación comenzando por la ventana principal que lista las solicitudes e incidencias atendidas por el operador, que en este caso fui yo

En la ventana principal destaca la lista de Solicitudes e Incidencias atendidas por el operador enmarcadas en un cuadro de filas y columnas así como otros datos y botones alrededor:

  • Orden en el que se presentan las Solicitudes / Incidencias (S/I)
  • Filas de S/I con las siguientes columnas:
  • Número de S/I
  • Código del Usuario asociado
  • Descripción de la S/I
  • Fecha del Estado mas reciente
  • Estado
  • Descripción del evento asociado al Estado
Si hacemos clic sobre algunos de los datos resaltaremos la fila a la cual pertenece y es doble clic surgirá una ventana emergente con los datos de la S/I y los eventos asociados a la misma

Cantidad de Elementos

También los siguientes Botones:

Botón para Ordenar las filas de la lista de acuerdo al contenido de la columna señalados por el campo Orden. Rotativo

  • Si por ejemplo la lista está ordenada por S/I el botón Ordenar cambiará el orden de las filas por Usuario por ser el contenido de la próxima columna a la derecha de Solicitud. Y así sucesiva y rotativamente según lo indicado por el campo Orden

Botón Filtro

  • Alternativamente filtra / desfiltra de la lista las S/I Finalizadas

Botón Buscar S/I (Lupa)

  • Da acceso a una ventana emergente donde filtrar registros por secuencias de caracteres contenidos en ellas en múltiples campos donde podemos seleccionar uno y dirigirnos directamente a su fila en la matriz

Botón Solicitudes

  • Da acceso a una ventana emergente donde se listan Solicitudes / Incidencias previamente importadas a la aplicación desde una hoja de Office Excel (solo muestra las que no coinciden en sus números de Solicitudes con las que ya aparecen en la lista)
Esta aplicación puedo ajustarla a los detalles particulares de otros entornos según los casos; cualquier detalle estoy a disposición; gracias
AR




jueves, 25 de marzo de 2021

Búsqueda de archivos rápida, exhaustiva y segura

Tres en Uno:

Búsqueda de archivos, copia y eliminación automatizada (rápida, exhaustiva y segura)


Uno de mis mas recientes pero reiterados clientes me pidió ayuda con una rutina en Office Access VBA que describo a continuación:


Existen dos carpetas, una que llamaremos carpeta origen y otra carpeta destino con las siguientes características:


Carpeta Origen:

Contiene cualquier cantidad de archivos en formato jpg (*.jpg) almacenados en ella o en cualquier cantidad de subcarpetas o subsubcarpetas etc., etc. cuyos nombre usan un prefijo de referencia (ref*.jpg) por el cual se van a buscar y seleccionar en los momentos adecuados


Carpeta Destino:

Inicialmente vacía, sin subcarpetas


Se quiere una rutina VBA que al ejecutarla desde un formulario haga lo siguiente:


Carpeta Origen

Busque y encuentre los nombres de los archivos de referencia del momento (ref*.jpg) en la carpeta Origen y en todas sus subcarpetas y subcarpetas de subcarpetas, etc.,etc


Carpeta Destino:

Copie los archivos por su nombre de referencia (ref*.jpg) en la carpeta Destino


Carpeta Origen:

Elimine los archivos encontrados en Origen y en todas sus subcarpetas y subcarpetas de subcarpetas, etc.


Aún cuando no conozco del todo el contexto ni las razones por la que existe tal entorno de carpetas y archivos redundantes etc., me dediqué a la tarea de emprender el desarrollo, resultado de lo cual obtuve un par de subrutinas que satisfacen plenamente el requerimiento a satisfacción mía y del cliente


Este logro me ha puesto a pensar nuevamente en ciertos modelos de aplicaciones Office Access que he pensado repetidamente para explorar los directorios del mis unidades de disco y almacenamiento en busca de archivos redundantes y descartables para la liberación de espacio


Luego de mas de dos décadas que comencé a dar mis primeros pasos con esta herramienta sigo encontrando y disfrutando de lo que se puede hacer con ella de una forma relativamente simple y segura


Cualquier detalle a la orden

Saludos cordiales

AR



domingo, 21 de febrero de 2021

Histogramas de Frecuencia

 Los histogramas de frecuencia son uno de los instrumentos más simples y a la vez más usados para proceder al análisis de datos

Si disponemos de las fechas de nacimiento de un grupo de personas, podemos calcular sus edades en años y listarlas

Pero una lista de fechas y edades nos dirá poco o nada acerca las características de edad del grupo mientras un histograma de frecuencia nos hará llegar a la mente alguna idea, pensamiento, juicio, ... al respecto

Si una empresa está ofreciendo públicamente un cargo, de acuerdo a tu edad te ubicarás en el intervalo que te corresponda y algo te vendrá a la mente que te animará o desanimará a postularte; por ejemplo en el histograma de arriba si tienes menos de 25 años de edad podrías querer esperar el tiempo necesario para entrar en el poco poblado primer intervalo y si tienes mas de 64 la posible entrada luce mas difícil aún

Probablemente hayan organizaciones que pinten histogramas similares cuando quieren verse a si mismos como grupo humano, sin embargo, no recuerdo alguna que lo haga de cara al público general; escasamente publican la cantidad total de empleados de un momento determinado

Complementariamente podrian usarse otras variables del personal como la antigüedad en la empresa, la edad de los ingresados en nómina, la del grupo directivo, etc., todo un mundo de posibilidades

Histogramas similares podría enriquecer también el contenido de los sitios sede de las redes sociales  ¿Algún directivo de LinkedIn por aquí?

Sus comentarios positivos serán bienvenidos Gracias por la atención y saludos a todos

AR


domingo, 30 de agosto de 2020

Modelo de Aplicación Access de Gestión de Servicios

A mediados de Julio de 2020 luego del confinamiento estricto en casa me tocó atender personalmente medio centenar de solicitudes de servicio acumulada en una lista en Excel teniendo que realizar mas o menos diez pasos para cada una dependiendo de las particularidades de cada caso

A falta de una herramienta específica para gestionar este tipo de tarea, me puse a crear una que me ayudara a organizarlas, trazar su progreso, obstáculos, interrupciones, esperas, atender concurrentemente varias de ellas y por sobre todo retomarlos en su punto exacto

La lista de Solicitudes en Excel la importé, creé una ficha de Solicitud y una ventana para listarlas ordenadamente por número de solicitud, lo que es equivalente a su antigüedad.

La aplicación consiste de una ventana inicial (en principio vacía) conteniendo la lista de Estado de Solicitudes Atendidas con su referencia a la acción o evento mas reciente

Para comenzar la atención de una Solicitud desde la ventana de estado abro una ventana de solicitudes en la cual las selecciono y asigno alimentando la lista de Solicitudes Atendidas bajo el estado Seleccionada

De ahí en adelante y copiando y pegando datos proveniente de otras herramientas del entorno voy completando datos faltantes y marcando los avances u obstáculos que se van presentando en el camino

En la medida que se fueron acumulando las Solicitudes Atendidas puse un botón de filtro para quitar y poner las Finalizadas, ordenarlas rotativamente de cinco diferentes maneras y una ventana de búsqueda masiva progresiva por cuatro campos simultáneos

Cabe resaltar que esta aplicación la uso como herramienta de integración de datos, organización y productividad insertada en mi puesto de trabajo dentro de un ambiente de sistemas corporativos que de otra manera pasan desapercibidos como necesidades reales y tangibles para el trabajador o grupo de trabajadores que comparten una cierta carga de trabajo como equipo

Como ya expliqué anteriormente esta aplicación responde a un modelo de gestión que he venido aplicando en el desarrollo de aplicaciones para mis clientes. Nunca había tenido la oportunidad de ser un usuario de primera línea y gozar de sus beneficios de organización, claridad, seguridad y recuento del trabajo realizado y por realizar

En la medida que continúe efectuando estas tareas muy posiblemente continuaré agregando funcionalidades y descripciones de las mismas en este blog 

Si tu tema es la gestión y te las arreglas únicamente con hojas de Excel y/o aplicaciones transaccionales te invito a comprobar los beneficios de este modelo de aplicaciones que sin duda te ayudarán a integrar datos y resultados, Cuéntame tus necesidades

Saludos cordiales


lunes, 25 de febrero de 2019

Importing product data into Shopify store


According to my recent experience (February 2019), importing product data into a Shopify store is not an easy task
We began with a csv file with product data with 46 columns and +10.000 rows, one line per product
Shopify has in its help site instruction on how to fulfill product data format in a csv file (another 46 header names (casually or not, the same quantity of columns as our original data set)
Then we:
1.    Mapped original file columns names to Shopify header names and values
2.    Created a procedure to move columns values from the original csv file to a new Shopify headers names accordly with step number 1 result
3.    Then we found that some product rows had multiple references to image files than we had to generate one new row per every additional image; resulting 19.099 additional rows for a total of 31.098
4.    Because of csv file restrictions we had to distribute resulting rows in files of not more than 15 Mb each one and not more than 2.500 products
5.    After each data upload file by file we received emails reporting a resume of products loaded, rejected and a numbered list of rows presenting some kind of validation errors than we must review and reprocessed after analyse and correct accordingly
I hope this note helps you to have a more complete idea of the process as a whole
Regards