es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

SSIS: Problema de diseño del modelo que causa duplicaciones: ¿se pueden conectar dos tablas de hechos?

Para un proyecto de grupo universitario, estamos construyendo un almacén de datos utilizando SQL Server y Visual Studio. Actualmente estamos en la fase de construcción y queremos llenar las tablas con datos.

Sin embargo, notamos que en nuestra tabla de ventas de hechos, la suma del precio + la suma del valor del flete es diferente al valor del pago, así como los valores difieren del archivo CSV. Por eso intentamos marcar la casilla “Eliminar filas con valores de ordenación duplicados” en el Orden 1 (ver archivos). Sin marcar esa opción, terminamos con 117.216 filas y al marcarla, terminamos con 102.727 filas. Sin embargo, todavía hay una variación entre todos los valores. Para tener una mejor visión y comprensión, consulta la siguiente imagen:
aquí

Descubrimos que las duplicaciones se deben a que puede haber más de un pago por pedido, lo que indica un problema de diseño de modelo. El pago debería ser otra tabla de hechos, separada de las ventas.

Estábamos intentando crear una tabla de hechos para el pago, sin embargo, no estamos seguros de cómo hacerlo, ya que pensamos que no es posible tener dos tablas de hechos conectadas entre sí. ¿Podrías ayudarnos en esto, porque los pagos deberían estar conectados a las ventas, pero las ventas son una tabla de hechos, por lo que no estamos seguros de cómo proceder?

Otro problema al que nos enfrentamos es que si el pago es una tabla de hechos, estamos perdiendo una dimensión. En nuestras directrices, se nos requiere tener 5 dimensiones y no sabríamos qué otra dimensión crear (también podría ser inventada). Si tienes alguna sugerencia sobre cómo resolver ese problema correlacionado, estaríamos más que felices.

Para una mejor comprensión y visión, te proporcionamos nuestros scripts de SQL, archivos planos y el flujo de datos de Visual Studio: descargar archivos

¡Cualquier ayuda es muy apreciada! ¡Muchas gracias de antemano! 🙂

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es cierto que no se recomienda tener dos tablas de hechos conectadas entre sí en el diseño de un almacén de datos. Sin embargo, eso no significa que sea imposible. Una forma de solucionar este problema es mediante la creación de una tabla puente entre Ventas y Pagos, la cual mantendrá la relación entre estas dos tablas de hechos. Esta tabla puente tendrá claves externas (foreign keys) hacia ambas tablas, permitiendo que se conecten.

    En cuanto al problema de las dimensiones, una posible solución es crear una dimensión de Clientes. Puedes utilizar datos de clientes de las tablas de ventas y pagos para crear esta dimensión. Otra opción es crear una dimensión de Tiempo si aún no está presente en el almacén de datos. Esto podría incluir atributos como año, mes, día, y así sucesivamente.

    En cuanto a los scripts SQL y archivos planos proporcionados, sería útil contar con más detalles sobre los datos y el esquema utilizado. Sin esa información, es difícil proporcionar una solución más detallada. Sin embargo, sugiero trabajar en la creación de la tabla puente primero y luego avanzar en la creación de dimensiones adicionales según sea necesario.

    ¡Espero que esto ayude! Si tienes alguna otra pregunta, no dudes en hacerla.

Comments are closed.