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
Etiquetas:
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...
Bienvenido a
Open Business Intelligence
© 2023 Creado por Emilio.
Tecnología de