0
Sie haben versucht, FactVisits zu füllen, und jede Hilfe wäre sehr willkommen. Ich muss auch ein Maß von dem, was ich sehen kann, werfen, aber die Arbeit mit zwei Datenbanken ist der schwierige Teil.Versucht, eine Faktentabelle aus zwei verschiedenen Datenbanken zu füllen
Zwei: PDF Links für Datenbanken: DWCorporateReports Database Patients Database
[code]
INSERT INTO FactVisits
( --VisitKey int PRIMARY KEY Not Null
DateKey
,ClinicKey
,PatientKey
,DoctorKey
,ProcedureKey
,Charge
)
SELECT fv.[DateKey] = dd.DateKey
,ClinicKey = [DWCorporateReports].[dbo].[DimClinics].[ClinicKey]
,PatientKey = [DWCorporateReports].[dbo].[DimPatients].[PatientKey]
,DoctorKey = [DWCorporateReports].[dbo].[DimDoctors].[DoctorKey]
,ProcedureKey = [DWCorporateReports].[dbo].[DimProcedure].[ProcedureKey]
,CAST(pv.Charge AS decimal(18,4)) = dip.Charge
--DimDates to FactVisits.
FROM [DWCorporateReports].[dbo].[DimDates] AS dd
INNER JOIN [DWCorporateReports].[dbo].[FactVisits] AS fv
ON fv.DateKey = dd.DateKey
--DimClinics to FactVisits
INNER JOIN [DWCorporateReports].[dbo].[DimClinics] AS dc
ON fv.ClinicKey = dc.ClinicKey
--DimPatients to FactVisits.
INNER JOIN [DWCorporateReports].[dbo].[DimPatients] AS dp
ON fv.PatientKey = dp.PatientKey
--DimDoctors to FactVisits.
INNER JOIN [DWCorporateReports].[dbo].[DimDoctors] AS did
ON fv.DoctorKey = did.DoctorKey
--DimProcedures to FactVisits.
INNER JOIN [DWCorporateReports].[dbo].[DimProcedures] AS dip
ON fv.ProcedureKey = dip.ProcedureKey
--(OLTP) Patient database to (OLAP) DWCorporateReports Database.
INNER JOIN [Patients].[dbo].[Visits] AS pv
ON pv.ID = dip.ProcedureKey
--Foreign Keys to FactVisits Table.
ALTER TABLE FactVisits
ADD CONSTRAINT fk_DimDates_DateKey
FOREIGN KEY (DateKey)
REFERENCES DimDates (DateKey) --Constraint in the FactVisits Table.
ALTER TABLE FactVisits
ADD CONSTRAINT fk_DimClinics_ClinicKey_ClinicKey
FOREIGN KEY (ClinicKey)
REFERENCES DimClinics (ClinicKey) --Constraint in the FactVisits Table.
ALTER TABLE FactVisits
ADD CONSTRAINT fk_DimPatients_PatientKey
FOREIGN KEY (PatientKey)
REFERENCES DimPatients (PatientKey) --Constraint in the FactVisits Table.
ALTER TABLE FactVisits
ADD CONSTRAINT fk_DimDoctors_DoctorKey_DoctorKey
FOREIGN KEY (DoctorKey)
REFERENCES DimDoctors (DoctorKey) --Constraint in the FactVisits Table.
ALTER TABLE FactVisits
ADD CONSTRAINT fk_DimProcedures_ProcedureKey
FOREIGN KEY (ProcedureKey)
REFERENCES DimProcedures (ProcedureKey) --Constraint in the FactVisits Table.
[/code]
Wenn jemand eine Idee hätte, wie diese Arbeit zu machen und mir Beispiele geben, ich so sehr geschätzt werden würde.
1. Was ist das eigentliche Problem? Wenn du einen Fehler hast, poste es. Wenn deine Daten falsch sind, poste Beispiele; 2. Bitte geben Sie den RDBMS-Typ an. Ich nehme an, SQL Server aber welche Version? –