sábado, 24 de septiembre de 2011

Modelización de datos en Excel (5)


Finalizamos esta serie con este post dedicado a presentar el archivo de Excel de la aplicación de ejemplo para gestionar las nóminas de una pyme, que ha servido de guía al lector a lo largo de estos 5 artículos:



A continuación haremos unas puntualizaciones de apoyo para que el lector (con el archivo abierto de forma paralela) pueda comprobarlas:

  • El esquema final adoptado es un diagrama de copo de nieve con 4 tablas:
    • Áreas (Tabla de dimensión)
    • Trabajadores (Tabla de dimensión)
    • Cuentas de Tesorería (Tabla de dimensión)
    • Nóminas (Tabla de hechos)
  • Cada tabla se ha alojado en una Hoja de Excel distinta, especialmente es conveniente esto para que los registros de la tabla de hechos pueda crecer de forma prácticamente ilimitada.
  • Excepto el campo ID Nombre Trabajador, que se ha aprovechado para que sea una clave primaria, el resto de claves primarias son cadenas alfanuméricas de 3 caracteres en mayúsculas a elección del usuario, pero que es conveniente sean lo más descriptivas posibles. Por ejemplo, para el Área de Administración de la empresa, asignamos el código ADM. Debemos estar seguros de asignar un nombre definitivo, pues a posteriori no deberá cambiarse.
  • La tabla de hechos Nóminas tiene las claves externas de ID Nombre trabajador e ID Tesorería, pero también se ha incluido la clave externa de ID Área para crear una relación con la tabla de dimensión Trabajadores. El motivo se explica en el siguiente punto.
  • En la tabla de hechos Nóminas han de estar representados todos los campos importantes sobre los cuales queremos solicitar informes (como mínimo, los campos propios de la tabla de Nóminas, más todas las claves externas). La razón no es otra que casi todos los filtros e informes de tablas y/o gráficos dinámicos va a tener su origen de datos en esta tabla o en parte de ella.
  • No toda, pero la mayoría de información que queramos obtener de la aplicación, la podremos conseguir mediante los Filtros que podemos activar desde el botón que a tal efecto hay en el grupo "Ordenar y filtrar" de la Ficha "Datos".
  • Si frecuentemente queremos un informe concreto, podemos desarrollar una tabla dinámica (con su gráfico correspondiente si es necesario) a la cual podremos acceder de una forma inmediata. Unas de las ventajas que podemos conseguir con estas tablas es la posibilidad de agrupar las fechas por meses, trimestres, años, etc., además de poder trabajar por más de una dimensión a la vez (es decir, podemos obtener información de las comisiones que se pagan por área y, dentro de cada área, saber a que trabajadores se les paga y qué cantidad. En el archivo de Excel, se han desarrollado, a modo de ejemplo, 3 tablas dinámicas, una de ellas con gráfico incluido.
  • El archivo tiene un acabado "en bruto", puesto que su finalidad es servir como ejemplo. Para una utilización cómoda (además de agregar los campos que una empresa en concreto necesitara), debería 
    • Tener un panel con enlaces o botones para navegar por las distintas tablas e informes con más comodidad.
    • Tener botones para "Nuevo registro" y "Eliminar Registro" en todas las tablas, de forma que el código de las macros de dichos botones tuviese instrucciones para que las columnas de claves quedaran bloqueadas al usuario.
  • El usuario puede ver la forma de relacionar las tablas y las funciones empleadas (Listas desplegables con "Validación de datos" con la función DESREF como protagonista para obtener un rango variable atendiendo a la agregación de registros)
Nota: El archivo tiene formato .xlsm para que en un futuro pudiera albergar macros. (si tiene dudas sobre tipos de archivos, haga click en "Guardar archivos en Excel".


  José Manuel Pomares Medrano


4 comentarios:

  1. Sencillamente excelente. Sin embargo si nos publica otros ejemplos mas complejos seria fabuloso. Gracias por el aporte que nos brindan haciendo posible la superación individual

    ResponderEliminar
  2. Excelente, sería magnífico si a este ejemplo se añade aplicaciones con VBA. Gracias de antemano.

    ResponderEliminar
  3. El archivo está espectacular.

    Una consulta, ¿cómo hacés para ocultar el nombre de las columnas y de las filas? Yo he ocultado las filas pero igual siguen los nombres. Y no se pueden mostrar las filas o columnas aunque el archivo esté desprotegido, ¿cómo lo hiciste?

    Muchas gracias de antemano y por este fabuloso ejemplo.

    ResponderEliminar
    Respuestas
    1. No se muy bien a qué nombres de columnas y filas te refieres, pero si son los de las tablas dinámicas, se puede quitar el nombre escribiendo un espacio.

      Eliminar