You are on page 1of 2

Hacer consulta Base de datos: bdzapateria

create function dbo.fn_mes(@m int)returns varchar(15)


begin
declare @mes table(codigo int,nombre varchar(15))
insert @mes values(1,'Enero'),(2,'Febrero'),
(3,'Marzo'),(4,'Abril'),(5,'Mayo'),(6,'Junio'),
(7,'Julio'),(8,'Agosto'),(9,'Setiembre'),
(10,'Octubre'),(11,'Noviembre'),(12,'Diciembre')
return(select nombre from @mes where codigo=@m)
end
go

create function dbo.fn_diaSem(@d int)returns varchar(15)


begin
declare @semana table(codigo int,nombre varchar(15))
insert @semana values(1,'Lunes'),(2,'Martes'),
(3,'Miércoles'),(4,'Jueves'),(5,'Viernes'),
(6,'Sábado'),(7,'Domingo')
return(select nombre from @semana where codigo=@d)
end
go

COPIAR EN FLUJO DE DATO QUE PERTENECE A DIM_TIEMPO

SELECT DISTINCT
YEAR(FECHAPAGO) * 10000 + MONTH(FECHAPAGO) * 100 + DAY(FECHAPAGO)
AS IDTIEM,
FECHAPAGO AS FECHA, YEAR(FECHAPAGO) AS AÑO,
MONTH(FECHAPAGO) AS MES, dbo.fn_mes(MONTH(FECHAPAGO)) AS NOMMES,
DAY(FECHAPAGO) AS DIA,
DATEPART(WEEKDAY, FECHAPAGO) AS DIASEM,
dbo.fn_diaSem(DATEPART(WEEKDAY, FECHAPAGO)) AS NOMDIASEM,
DATEPART(QUARTER, FECHAPAGO) AS TRIMESTRE
FROM dbo.pagosventa
Hacer consulta Base de datos: bdzapateriadwh
Procedimiento almacenado USP_Carga_Venta

create procedure USP_Carga_Venta


as
BEGIN
insert into fact_venta
(
EEEMP,EEPROD,EEPROV,EECLI,EETIEM,EEUSER,IDUBI,CANTIDADVENT,SUBTOTAL,TOTAL
)
SELECT distinct
EEEMP,EEPROD,EEPROV,EECLI,EETIEM,EEUSER,IDUBI,dven.CANTIDAD AS
CANTIDADVENT,ven.SUBTOTAL,ven.TOTAL
FROM dbzapateria..venta ven
INNER JOIN dbzapateria..detventa dven on ven.IDVEN = dven.IDVEN
INNER JOIN dbzapateria..usuarios usu on ven.USUARIO = usu.IDUSER
INNER JOIN dbzapateria..clientes cli on ven.IDCLI = cli.IDCLI
INNER JOIN dbzapateria..pagosventa pven on ven.IDVEN = pven.IDVEN
INNER JOIN dbzapateria..distritos pdis on ven.iddistrito = pdis.iddistrito
INNER JOIN dbzapateria..empleados emp on usu.IDEMP = emp.IDEMP
INNER JOIN dbzapateria..productos prod on dven.IDPROD = prod.IDPROD
INNER JOIN dbzapateria..det_entrada det_entr on prod.IDPROD = det_entr.IDPROD
INNER JOIN dbzapateria..entradas entr on det_entr.IDENTRA = entr.IDENTRA
INNER JOIN dbzapateria..proveedores prov on entr.PROVEEDOR = prov.IDPROV
inner join dim_admproductos dp on dp.IDPROD=prod.IDPROD
inner join dim_clientes dc on dc.IDCLI=cli.IDCLI
inner join dim_empleados de on de.IDEMP=emp.IDEMP
inner join dim_proveedores dprov on dprov.IDPROV=prov.IDPROV
inner join dim_ubigeo du on du.IDUBI=pdis.iddistrito
inner join dim_usuarios dusu on dusu.IDUSER=usu.IDUSER
inner join dim_tiempo dti on dti.FECHA=pven.FECHAPAGO
WHERE (pven.FECHAPAGO IS NOT NULL)
END
go

llamando USP_Carga_Venta

execute USP_Carga_Venta

You might also like