Open Business Intelligence

La red del Business Intelligence

cree esta discusion porque necesito ayuda, porque  si no limpios los datos al momento de crear mi clave subrogada hay numero de cedulas repetidos y me aparece asi..aqui esta mi OLTP original, su clave subrogada y su dimension sin limpiarla

y aqui codemp(codigo empresa)  lo estoy dejando afuera porq la voy a usar uan dimension que se llame dm_empresa_dim ESTARIA bien o mal..porq en todas las tablas originales el codemp siempre estan junto con otro campo propio de la clave

 

Visitas: 1583

Respuestas a esta discusión

Buenas maricela, a simple vista parece que esta bien.

Deberías dejar como clave primaria de ids_Clientes solo la clave subrogada.

 

Para verificar si has poblado bien las tablas, no tienes más que probarlas haciendo consultas y comparándolas con tu OLTP. Por ejemplo, ver si en el OLTP, el cliente LUPERCIO ... (idCliente=1) posee codcli=101388874.

 

Saludos.

Deberías dejar como clave primaria de ids_Clientes solo la clave subrogada? pero en mi tabla id_clientes, el campo IDcliente en mi tabla dimension es el codcli hasta ahi todo bien pero si a codcli de ids_cliente le quito esa clave al momento de hacer mi tabla de hechos no me sale..porq yo entendi que ese codcli de ids_cliente es el que compara con el del encabezado que por ende es el mismo..y por eso yo le puse la clave porq si le quito la clave no me coge el joins

mi tabla de hecho la hice en base a esta:

SELECT
c.fecha
,ic.idNuevo as idCliente
,iv.idNuevo as idVendedor
,ip.idNuevo as idProducto
,sum(d.cantidad) as cantidad
,sum(d.cantidad*p.precio) as importe
FROM
facturacabecera c
INNER JOIN facturadetalle d ON c.idFactura=d.idFactura
INNER JOIN productos p ON d.idProducto=p.idProducto
INNER JOIN ids_Clientes ic ON ic.idCliente = c.idCliente
INNER JOIN ids_Vendedores iv ON iv.idVendedor = c.idVendedor
INNER JOIN ids_Productos ip ON ip.idProducto = d.idProducto
WHERE
c.anulada=0
GROUP BY
c.fecha, ic.idNuevo, ic.idNuevo, ip.idNuevo;

 y mi tabla de hechos la deje asi--

select  c.codemp, a.fecfac as Fecha, d.codalm,  e.codven,  f.codcli,  g.codart,  b.cantid as cantidad_Vendidas, (b.preuni*b.cantid) as Ventas_Brutas, (((b.preuni*b.cantid) *b.desren)/100) as Valor_descuento, (b.totren)as Total_con_Desc, (a.totfac)as Total_Venta
from encabezadofacturas a, renglonesfacturas b, dm_empresa_dim c,      id_almacen d, id_vendedor e,id_clientes f, id_productos g
where  c.codemp=a.codemp  

and  a.numfac=b.numfac 

 and  d.codalm=a.codalm 

 and  e.codven=a.codven  

and  f.codcli=a.codcli  

and g. codart=b.codart

GROUP BY
c.codemp, a.fecfac, d.codalm,e.codven,f.codcli;

donde codalm, codven etc los cojo de sus tablas IDS_CLIENTE,IS_ALMACEN ETC, POR QUE SI COJO EL CAMPO IDCLIENTE DE LA TABLA IDS_CLIENTE SE ME QUEDA EL QUERY


 

y haciendo la tabla de hechos y haciendo el modelo... me queda aqui...y si es asi... el codcli va a la tabla de hechos y que pasa entonces con los campos de las tablas ids_cliente, porq en la tabla de hecho del tutorial se coge los idnuevo y no los propios de la dimension, que pasa con la tablas ids_cliente? sacame de esta duda...

Buen día maricela. Por favor podrías ser un poco más clara con respecto a tu consulta, no termino de entender lo que planteas.

Saludos.

RSS

Distintivo

Cargando…

© 2024   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio