Professional Documents
Culture Documents
go
use BD_CONSULTAS_DW
go
--creacion dimensiones
--dimpaciente
go
go
go
UnidadMedida varchar(25),
go
constraint PK_primaria
Go
--POBLAMIENTO
use BDCONSULTAS
go
--use BD_CONSULTAS_DW
--go
--go
USING(
P.Apellido as Apellidos,
P.Sexo as Sexo,
P.Direccion as Direccion,
D.IdDistrito as NumeroDistrito,
D.Nombre as NombreDistrito,
P.IdPaciente as IdPaciente
FROM PACIENTE P
ON D.IdDistrito= P.IdDistrito
on PA.IdPaciente=P.IdPaciente
) AS oltp
on oltp.IdPaciente=dim.IdPaciente
--Poblamiento dimMEDICINA
MERGE BD_CONSULTAS_DW.dbo.dimMEDICINA as dim
USING(
SELECT
M.Nombre as Nombre,
M.stock as stock,
M.UnidadMedida as Medida,
L.FechaExpiracion as FechaVencimiento,
R.FechaAtencion as FechaRecetaMedicina,
M.IdMedicina as IdMedicina
FROM MEDICINA M
on LM.IdMedicina= M.IdMedicina
on L.IdLote=LM.IdLote
ON M.IdMedicina=DT.IdMedicina
ON R.IdReceta=DT.IdReceta
) AS oltp
on oltp.IdMedicina=dim.IdMedicina
--poblamiento dimTIEMPO
USING(
SELECT
Año=year(C.Fecha),
Mes = datename(mm,C.Fecha),
Bimestre = CASE
END,
FROM CONSULTA C
) AS oltp
on oltp.idFecha=dim.idFecha
--Poblamiento dimMEDICO
USING(
M.Apellido as Apellidos,
M.IdTipoEspecialidad as NumeroEspecialidad,
TE.Descripcion as DescripcionEspecialidad,
M.IdMedico as IdMedico
from MEDICO M
inner join TIPO_ESPECIALIDAD TE
on TE.IdTipoEspecialidad= M.IdTipoEspecialidad
AS oltp
on oltp.IdMedico=dim.IdMedico
--POBLAMIENTO hechoCONSULTA
USING(
SELECT
keypaciente = dp.keypaciente,
keyTiempo = dt.keyTiempo,
keyMedico=dme.keymedico,
keyMedicina=dm.keymedicina,
TipoDeConsultorio=E.Descripcion
from BD_CONSULTAS_DW.dbo.dimPACIENTE dp
on P.IdPaciente=dp.IdPaciente
on PA.IdPaciente=P.IdPaciente
on C.IdConsulta=PA.IdConsulta
on dme.IdMedico=C.IdMedico
ON R.IdConsulta=PA.IdConsulta
on DR.IdReceta=R.IdReceta
on M.IdMedicina=DR.IdMedicina
on dm.IdMedicina=M.IdMedicina
on CONS.IdConsultorio=C.IdConsultorio
ON E.TipoEstado=CONS.TipoEstado
) AS oltp
on oltp.keypaciente = dim.keypaciente
and oltp.keyMedico=dim.keyMedico