Se tienen estas promociones:
Promoción 100 = Empanada+Café
Promoción 200 = Empanada+Jugo
Las tablas serian las siguientes:
Al cargar estas tablas tendríamos el siguiente modelo:
Si se quiere comparar las ventas de Empanadas y Café realizadas con la Promoción 100 Vs las ventas de Empana y Café pero sin promoción, este modelo no lo permitiría, ya que al seleccionar la promoción Empanada+Café, excluye las ventas sin promoción.
Para lograr esto, se crea una tabla Link_Dimensional (usando teoría de GenericKey. Ver pdf de Referencia), que contenga las promociones asociadas a los artículos que la componen, y ademas la asociación de cada promoción con sus artículos sin promoción.
El nuevo modelo quedaría así:
El script de este modelo seria el siguiente:
Fact_Ventas:
LOAD IdPromocion_Ventas&'-'&Articulo as Key_Link,
* INLINE [
Articulo, Venta, IdPromocion_Ventas
Empanada, 25, 100
Café, 10, 100
Empanada, 25, 200
Jugo, 10, 200
Empanada, 25, SinPromo
Café, 10, SinPromo
Jugo, 10, SinPromo];
Promociones:
LOAD * INLINE [
IdPromocion, NombrePromocion, IdArticuloPromo
100, Empanada+Café, Empanada
100, Empanada+Café, Café
200, Empanada+Jugo, Empanada
200, Empanada+Jugo, Jugo];
Link_Dimensional:
LOAD
IdPromocion,
IdPromocion&'-'&IdArticuloPromo as Key_Link
Resident Promociones;
Concatenate (Link_Dimensional)
LOAD
IdPromocion,
'SinPromo'&'-'&IdArticuloPromo as Key_Link
Resident Promociones;
LOAD IdPromocion_Ventas&'-'&Articulo as Key_Link,
* INLINE [
Articulo, Venta, IdPromocion_Ventas
Empanada, 25, 100
Café, 10, 100
Empanada, 25, 200
Jugo, 10, 200
Empanada, 25, SinPromo
Café, 10, SinPromo
Jugo, 10, SinPromo];
Promociones:
LOAD * INLINE [
IdPromocion, NombrePromocion, IdArticuloPromo
100, Empanada+Café, Empanada
100, Empanada+Café, Café
200, Empanada+Jugo, Empanada
200, Empanada+Jugo, Jugo];
Link_Dimensional:
LOAD
IdPromocion,
IdPromocion&'-'&IdArticuloPromo as Key_Link
Resident Promociones;
Concatenate (Link_Dimensional)
LOAD
IdPromocion,
'SinPromo'&'-'&IdArticuloPromo as Key_Link
Resident Promociones;
1 comentario:
You are a genius !
Publicar un comentario