Header Ads Widget

Ticker

6/recent/ticker-posts

Olvídese De Las Hojas De Cálculo Desordenadas Y Cambie A Una Base De Datos

 Hemos analizado las trampas de usar una aplicación de hoja de cálculo como Excel para almacenar listas de datos. Este enfoque puede parecer la mejor solución al principio, pero puede tener problemas para compartir esos datos con varios usuarios, validar el contenido o incluso navegar por sus datos. ¿Por qué? Porque estás usando una herramienta que no fue diseñada para hacer el trabajo.

Olvídese de las hojas de cálculo desordenadas y cambie a una base de datos

Ahora consideraremos un caso imaginario (pero típico) de una empresa que utiliza una lista basada en una hoja de cálculo y veremos cómo se podría convertir en una aplicación de base de datos para superar estos problemas.

Cómo los libros de ejercicios se salen de control

Nuestra lista comenzó como un simple registro de proyectos realizados para clientes. A medida que la empresa crecía, también lo hacía la cantidad de clientes, con nombres y detalles de contacto agregados al libro de trabajo. Además, se necesitaba alguna forma de registrar lo que varios miembros del personal estaban haciendo en estos proyectos, por lo que se agregaron aún más datos a este libro de trabajo.

En este punto, el enfoque de la hoja de cálculo se volvió inviable: había demasiadas personas tratando de mantenerlo actualizado, a menudo al mismo tiempo. La empresa intentó instituir una rotación, de modo que las personas se turnaran para actualizar el libro de trabajo, pero esto significó que algunas tareas se olvidaron antes de que se registraran.

Al final, las personas configuran sus propios libros de trabajo para realizar un seguimiento de sus tareas, y a veces recuerdan copiar los datos en el libro de trabajo principal al final de la semana. Los empleados desarrollaron sus propias abreviaturas para estos libros y algunos cambiaron el formato y el orden de las columnas para adaptarlos a su forma de trabajar. Copiar estos datos en el libro de trabajo principal resultó en un desastre horrible.

Este puede ser un ejemplo inventado, pero en realidad he visto todas estas prácticas en la vida real. Echemos un vistazo más de cerca a algunos de los problemas que plantea este método de trabajo.

SSDB2-1.png

Muchos problemas

Puedes ver la primera hoja de nuestra hoja de cálculo imaginaria. La primera columna detalla el nombre del proyecto al que se refiere cada entrada. Sin embargo, algunos de estos nombres son largos, por lo que el personal puede haber tenido la tentación de utilizar abreviaturas; como resultado, se han infiltrado errores tipográficos. Esto dificulta determinar qué tareas pertenecen a qué proyecto. La solución no tiene por qué ser difícil: puede elegir un nombre corto para cada proyecto en el que todos estén de acuerdo, o dar a cada proyecto un número de identificación y traducirlo al nombre del proyecto automáticamente.

Existe un problema similar con la columna Iniciado. Algunas celdas contienen una fecha, pero otras registran solo un mes, y uno o dos registros solo dicen "Sí". Excel admite la validación de datos, por lo que es posible garantizar que celdas particulares siempre contengan datos de un tipo particular, pero cuando una hoja de cálculo se desarrolla de manera ad hoc, rara vez se usa.

"En este punto, el enfoque de la hoja de cálculo se vuelve inviable: había demasiada gente tratando de mantenerlo actualizado"

No tendrá este problema en una aplicación de base de datos, ya que el tipo de datos del campo se solucionará desde el principio. Si no sabe la fecha exacta en que comenzó el trabajo, puede usar el primero del mes o el 1 de enero si solo conoce el año. Si el proyecto aún no se ha iniciado, puede dejar el campo en blanco, un NULL en términos de la base de datos. Si sabía que el proyecto se había iniciado pero no sabía cuándo, puede usar una fecha que normalmente sería imposible para sus datos, como 1/1/1900. Inmediatamente se vuelve fácil ordenar los proyectos y obtener una descripción cronológica de la actividad.

La columna denominada Cliente presenta un desafío más sutil. Las entradas en esta columna no están vinculadas a nada más en el libro de trabajo, pero hay una lista de Clientes en la Hoja 1, que es probablemente a lo que se refiere. Es confuso almacenar varias listas de los mismos elementos, a los que se hace referencia con diferentes nombres. Necesita aclarar el nombre y establecer un nombre inequívoco para esta entidad: ¿son clientes o clientes?

La columna Estado es otra en la que no ha habido validación, por lo que las personas han optado nuevamente por escribir lo que quieran. Sería mejor establecer una lista corta de todos los valores permitidos.

La segunda hoja, la Hoja 1, es igualmente problemática. Para empezar, el nombre de la hoja no es descriptivo. Lo que realmente contiene es una lista titulada Clientes, pero no está formateada como una tabla en Excel: la dirección está en un campo, lo que limita su capacidad para usar las herramientas integradas de Excel para buscarla u ordenarla. Por ejemplo, podría filtrar por direcciones que contengan “Cardiff”, pero los resultados también incluirían las de Cardiff Road en Newport.

Cuando se trata de direcciones, el mejor enfoque es usar campos separados para el código postal, el condado, la ciudad y la calle (aunque la información del condado es opcional para las direcciones del Reino Unido; consulte Sin condados, por favor, somos británicos). La calle debe contener todo lo que no esté en las otras partes de la dirección.

Hay un campo de contacto, que también presenta problemas. Cuando tenemos varios contactos dentro de una empresa de un solo cliente, sus nombres se han agrupado en este campo, con sus números de teléfono y direcciones de correo electrónico colocados de manera similar en los otros campos. Separarlos será un desafío, especialmente si hay tres nombres en el campo Contacto pero solo dos números de teléfono.

La última columna de esta hoja se titula Último contactado: se supone que los empleados deben actualizar esto cada vez que se ponen en contacto con un cliente. Dado que esta información es algo adicional que el empleado debe recordar, y no hay garantía de que lo haga, especialmente porque está oculta en una segunda hoja, no es confiable. Esto es realmente algo que la computadora debería rastrear automáticamente.

Finalmente llegamos a las hojas de Tareas, que detallan las tareas y comentarios de cada trabajador. Estos no se nombran de forma coherente y no contienen las mismas columnas en el mismo orden. Si bien tiene sentido que los usuarios individuales ingresen sus datos en sus propias hojas, la falta de coherencia dificulta la recopilación y el análisis de los datos. Cuando un gerente quiere ver qué trabajo se ha realizado en cada proyecto, por ejemplo, todas las tareas deben copiarse a mano de las hojas individuales en una lista antes de poder clasificarlas y reportarlas.

SSDB2-4.png

Construyendo su base de datos

Resolver estos problemas llevará algo de trabajo, posiblemente varios días. Dado que los usuarios probablemente tendrán que seguir usando el sistema antiguo mientras estamos construyendo uno nuevo, es mejor hacer una copia de los libros de trabajo existentes desde los que trabajar. Esto significa que querremos documentar cada paso en la conversión de los datos, para que podamos hacerlo rápidamente de nuevo cuando llegue el momento de cambiar al nuevo sistema.

Lo primero que debe hacer es limpiar los datos en su libro de Excel. El uso de Buscar y reemplazar puede ayudar, y debe eliminar cualquier columna o fila que no contenga datos (excepto la fila de encabezado de columna, que debe conservarse). Agregue una columna de ID a cada hoja, en la columna A, y rellénela con números incrementales escribiendo 1 en la primera celda, seleccionando en la parte inferior de los datos (Shift + End, Down) y luego usando el comando Fill Down (Ctrl + D ). Cree una lista maestra de nombres de proyectos y, siempre que se registre un nombre de proyecto, utilice la función VLookup () para confirmar su número de identificación maestro; si no hay un número, hay una inconsistencia en sus datos.

Una vez que sus datos estén limpios, es hora de diseñar una nueva base de datos para almacenarlos. Usaremos Access 2013, porque en nuestro ejemplo teórico está disponible para todos nuestros usuarios a través de nuestra suscripción a Office 365. Cuando crea una nueva base de datos de Access, tiene la opción de crearla como una aplicación web de Access o una base de datos de escritorio de Access. Las aplicaciones web tienen una interfaz simplificada y solo se pueden usar si tiene Office 365 con SharePoint Online o SharePoint Server 2013 con Access Services y SQL Server 2012. Usaremos la base de datos de escritorio tradicional, ya que ofrece más opciones y mayor control sobre la experiencia de usuario. 

SSDB2-5.png

Seleccione para crear una nueva base de datos de escritorio y asígnele un nombre: Access crea una nueva tabla llamada "Tabla 1" y lo coloca en la Vista de diseño con una columna, llamada "ID". Aquí puede diseñar las tablas que necesitará en su base de datos. Cada tabla debe tener un campo de ID (un número entero automáticamente incremental), pero para evitar confusiones es mejor darle un nombre más descriptivo. En la tabla Proyectos sería "ProjectID", "CustomerID" en la tabla Clientes, etc.

Puede establecer el tipo de datos para cada columna creada, y debe asignar un nombre a cada columna y establecer cualquier otra propiedad y formato según corresponda para el campo. Al igual que con el campo de ID, asegúrese de que los nombres de las columnas indiquen claramente qué datos deben incluirse en el campo; por ejemplo, use ProjectName en lugar de solo Name, DueDate en lugar de DueDate. Puede usar el botón Nombre y título en la cinta para crear un título abreviado, así como el nombre explícito. Puede utilizar espacios en los nombres de las columnas, pero tendrá que rodearlos con corchetes al escribir consultas e informes.

"Si bien tiene sentido que los usuarios ingresen sus datos en sus propias hojas, la falta de coherencia dificulta el análisis"

Establezca el formato en columnas como PorcentajeCompleto en Porcentaje y las fechas en Fecha corta, y también la longitud máxima de los campos de texto en un valor razonable, o todos tendrán 255 caracteres. Recuerde que algunas palabras (como Fecha) están reservadas, por lo que no puede usarlas como nombres de columna: use TaskDate o algo más descriptivo en su lugar.

Cuando se trata de columnas en las que desea buscar un valor en otra tabla (como la columna Cliente en la tabla Proyectos), defina esas otras tablas en Access antes de agregar la columna de búsqueda. Cuando se trata de Estado, la opción más simple es simplemente escribir los valores que se mostrarán en la lista desplegable, pero esto dificulta agregar o editar la lista de valores posibles más adelante. A menos que esté tratando con una lista corta donde es poco probable que cambien los valores posibles, como un campo que registra el sexo de alguien, es una mejor idea crear otra tabla para entradas como ProjectStatus. Esto le permite agregar fácilmente opciones adicionales a la lista en el futuro sin un cambio de programación.

Mejoras

Mientras diseñamos nuestra base de datos, podemos implementar mejoras sobre la antigua forma de hacer las cosas basada en hojas de cálculo. Una queja que tenían nuestros usuarios con sus libros de trabajo de Excel era que cada tarea contenía solo una celda para comentarios y, a veces, necesitaban hacer más de un comentario sobre una tarea, o el supervisor necesitaba hacer un comentario sobre una tarea y luego el usuario responde a esto. Al amontonar todo en una sola celda, era difícil ver cuándo y quién hizo los comentarios. Podemos hacerlo mejor creando una tabla separada para comentarios, vinculada a la tabla Tareas. De esta forma, cada tarea puede tener tantos comentarios como sea necesario, con campos separados para la fecha, nombre de usuario y texto de cada una.

Otra mejora que podemos hacer es configurar entradas como ProjectStatus para que se muestren en un orden particular, en lugar de alfabéticamente; por ejemplo, es posible que desee que "Completado" vaya al final de la lista. Para hacer esto, agregue una columna DisplayOrder y úsela para ordenar la lista de búsqueda. No se sienta tentado a utilizar el campo ID; con esto, cualquier registro nuevo solo podría ir al final de la lista.

Para asegurarnos de que nuestros datos permanezcan limpios, podemos marcar los campos que el usuario debe completar como “Requeridos” y agregar validación para asegurarnos de que los datos ingresados ​​estén en la forma correcta. Puede hacer la vida más fácil estableciendo valores predeterminados razonables: el campo CommentDate en la tabla Comentarios podría tener su valor predeterminado establecido en "= Fecha ()", que lo establecerá automáticamente en la fecha de hoy cada vez que se cree un nuevo Comentario. Puede usar la validación junto con una columna "Retirada" en una tabla (un booleano) para evitar que los usuarios agreguen nuevos registros con valores específicos. Esto le permite mantener valores históricos que solían ser válidos, pero que ya no se utilizan. Todas estas funciones se pueden encontrar en Herramientas de tabla | Ficha Campos en la cinta o en Propiedades de campo en la Vista Diseño de tabla.

Importando sus datos

Una vez que sus tablas estén configuradas, puede usar Datos externos | Importar y vincular | Botón de Excel en la cinta para agregar los datos de su libro de Excel a las tablas en su base de datos de Access. Haga una copia de seguridad de su base de datos de Access en blanco antes de comenzar, en caso de que algo salga mal, y comience llenando las tablas pequeñas a mano si es necesario. Realice otra copia de seguridad una vez hecho esto, para que pueda volver a este punto si algo sale mal en los siguientes pasos.

Ahora importe las tablas principales que no dependen de ninguna otra tabla, como Clientes, antes de terminar con las tablas que sí tienen relaciones, como Proyectos y Tareas. Si reorganiza y cambia el nombre de las columnas en su libro de Excel para que coincidan con los campos en su base de datos de Access lo más cerca posible, no debería tener ninguna dificultad para importar los datos. Recuerde tomar nota de todo lo que hace para poder repetirlo más tarde si necesita convertir los datos nuevamente.

Una vez que se importan los datos, las tablas en la vista Hoja de datos deberían funcionar de manera similar a como lo hicieron las hojas de cálculo de Excel, pero con una validación, búsqueda y clasificación de datos mucho mejores. Si lo desea, ahora puede comenzar a diseñar nuevos formularios e informes basados ​​en estos datos: por ejemplo, un formulario Maestro / Detalle para Proyectos puede mostrar los datos de un Proyecto en la parte superior del formulario y una cuadrícula de las Tareas para ese proyecto en la parte inferior.

También puede configurar un formulario "Mis tareas" que enumere todas las tareas pendientes para el usuario actual y un informe de Tareas vencidas que enumere todas las tareas pendientes para todos los usuarios que han vencido su fecha de vencimiento.

SSDB2-6.png

No hay condados, por favor, somos británicos

Si está almacenando direcciones en su base de datos, es importante comprender qué información realmente necesita. Aunque la información del condado puede ser útil para la comercialización, y puede ser necesaria para algunas direcciones en el extranjero, ya no se usa oficialmente en las direcciones del Reino Unido.

La razón es que las direcciones postales del Reino Unido se basan en el concepto de una "ciudad postal", donde el correo postal para usted se envía y clasifica antes de que llegue a su puerta. No todas las ciudades o pueblos son atendidos por ciudades postales en el mismo condado, por ejemplo, Melbourn (en Cambridgeshire) recibe su correo a través de Royston (en Hertfordshire), por lo que especificar un condado en la dirección no necesariamente ayuda a nadie.

Para evitar confusiones, la Oficina de Correos dejó de usar condados en las direcciones en 1996, confiando en su lugar en la información del código postal, y para 2016, planea eliminar los nombres de los condados del "archivo de datos de alias" de información adicional de direcciones. Por lo tanto, si incluye un condado en una dirección del Reino Unido, simplemente se ignorará.

Publicar un comentario

0 Comentarios