Open Business Intelligence

La red del Business Intelligence

Hola a todos, tengo la siguiente duda de diseño para un warehouse que estoy desarrollando:
Tengo una dimensión de CLIENTES, que entre otras propiedades tiene la propiedad RANGO. El rango del productor indica la cantidad de producto que éste compra por año.
El problema es el siguiente: Si bien la propiedad rango es algo que describe al productor, esta propiedad no es fija, sino que varía para cada año y por cada categoría de producto. Esto hace que no pueda agregar al rango como una propiedad más de la dimensión productor.

Los usuarios van a tener que hacer análisis donde el rango de productor es un dato importante, y tienen que poder filtrar determinados rangos y agrupando a los productores por rango también, pero siempre variará este dato según la categoría de producto y el año que se esté analizando.

Cómo les parece que puede ser la mejor forma de reflejar esto dentro del warehouse??

Muchísimas gracias por la ayuda!

Saludos

Juan Manuel

Visitas: 207

Responde a esto

Respuestas a esta discusión

Buenos dias Juan Miguel,

si la medida rango va a variar con el tiempo y tu quieres que quede reflejado esto en el datawarehouse deberas tener un campo en la tabla de hechos con el rango del producto en el momento de la carga, asi si se varia en la siguiente carga te respetará el rango que tenia en la anterio.

Espero q te sirva mi consejo.


Un saludo
Muchas gracias Alfonso por tu respuesta! (mas allá de que me cambiaste el nombre, jajaj).
Quería ver si existía alguna otra alternativa para poder hacer esto ya que la propiedad "rango" está intimamente relacionada con la dimensión clientes, pero entiendo tu consejo y veo que es la mejor alternativa.

Muchas gracias!

Saludos!

Juan Manuel
Buenas tardes Juan Manuel.
Existe otra manera de resolver tu problema, y es manteniendo en la tabla de dimensión CLIENTES diferentes versiones de los datos. Es decir, la tabla CLIENTES estaría diseñada de la siguiente manera:

idCliente | nombreCliente | rangoCliente | version | fechaInicio | fechaFin | ... |
1 | Cliente A | 90 | 1 | 01/01/1900 | 01/01/2100 | ... |
2 | Cliente B | 50 | 1 | 01/01/1900 | 01/01/2100 | ... |
3 | Cliente C | 12 | 1 | 01/01/1900 | 01/01/2100 | ... |

Entonces, si al Cliente A, le varía el rango, quedaría:

idCliente | nombreCliente | rangoCliente | version | fechaInicio | fechaFin | ... |
1 | Cliente A | 90 | 1 | 01/01/1900 | 20/05/2009 | ... |
2 | Cliente B | 50 | 1 | 01/01/1900 | 01/01/2100 | ... |
3 | Cliente C | 12 | 1 | 01/01/1900 | 01/01/2100 | ... |
4 | Cliente A | 99 | 2 | 20/05/2009 | 01/01/2100 | ... |

Por consecuencia, al crearse una nueva version, los datos de la tabla de hechos correspondientes al Cliente A se agregarán a partir de la fecha de cambio de version, con idCliente=4.

Espero te sea útil.

Saludos.

Responder a debate

RSS

Distintivo

Cargando…

© 2024   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio