Forum Discussion
Modelo de datos correcto
Desde mi punto de vista, es apropiado especificar la tabla "Trabajo" como una tabla dimensional,
a pesar de que tendrá nuevos elementos que se pueden agregar todo el tiempo. Tener tablas de dimensiones que se actualizan con frecuencia con nuevos registros se conoce como una dimensión de tipo 2,
donde cada cambio en un atributo de dimensión crea un nuevo registro en la tabla de dimensiones.
En su caso, la tabla "Trabajo" puede ser una dimensión Tipo 2, donde cada nuevo trabajo agregado a la tabla crea un nuevo registro con un identificador único,
y cualquier cambio en los atributos de un trabajo existente crea un nuevo registro con un nuevo identificador de versión.
La tabla de hechos "CalcProcessCost" tendría una referencia de clave externa a la tabla de dimensiones utilizando el identificador único del trabajo.
La cardinalidad de la relación entre la tabla "Job" y la tabla "CalcProcessCost" es 1:N, lo que significa que cada trabajo puede tener varios elementos de cálculo asociados. Por lo tanto, la tabla de hechos "CalcProcessCost" tendría una referencia de clave externa a la tabla de dimensiones "Trabajo".
- Syndicate_Admin3 years agoAdministrator
Gracias por su respuesta.
También me gustaría saber cómo resolver la situación cuando tengo la tabla "Cliente", que está vinculada a la tabla "Trabajo". Si tuviera que conectarlo así, no sería un esquema estelar sino más bien un copo de nieve.
Leí en todas partes que el esquema de estrellas es mejor que Copito de Nieve
Lo resolví consultando el CustomerId de la tabla "Job" a "CalcProcessCost" para poder unir directamente la tabla "Customer" con "CalcProcessCost"
¿Estoy haciendo esto bien?Gracias
- Syndicate_Admin3 years agoAdministrator
¿Puede proporcionar una parte de sus datos y la estructura de sus tablas para que podamos ayudarle?
- Syndicate_Admin3 years agoAdministrator
Mi punto es que los datos del sistema EPR están estructurados de tal manera que la tabla "CalcProcessCost" no está básicamente vinculada a la tabla "Cliente".
Completé el enlace usando consultas de combinación en POWERQUERY y agregando el vínculo Calculation.Job.CustomerID (verde en la imagen) de la tabla "Jobs" a la tabla "CalcProcessCost". Lo más sencillo sería conectar la tabla "Cliente" con la tabla "Trabajos", porque pueden relacionarse entre sí al principio, pero entonces ya no sería StarSchema. También tuve que completar la Fecha de creación (amarilla en la imagen) de la tabla "Trabajos".El modelo funciona y los informes funcionan, pero no sé si lo estoy complicando innecesariamente solo porque quiero StarSchema.
Mi modelo:
modelo de ERP: