こんにちは、私は私のクエリでの最後の6ヶ月のデータをフェッチし、上の「月 - 今年のラベルを表すために必要しようとしています過去6ヶ月のデータ(ReportBuilder)が
x軸。したがって、1か月間のデータがある場合はクエリはうまく動作しますが、結合に失敗し、その月にデータが返されない場合、ラベルはありません.Henceチャート(レポートビルダー3.0)に描画できません。
ApptMonthYearname NotCompleteAppointments AppointmentYear AppointmentMonthInt
1月2012 118 2012 1
12月 - 2011 88 2011 12
クエリ句は予定が選択された範囲の間に入るされていることを確認場合、次に、3つのテーブルに参加して含みます月と年かどうか:
declare @SelectedMonth int
declare @SelectedYear int
declare @careprovider varchar(20)
DECLARE @intFlag INT
はのは言わせ
SET @SelectedMonth = 1
SET @SelectedYear =2012
declare @selectedDate datetime
declare @previoussixmonthsdate datetime
IF (@SelectedMonth = Datepart(mm,GETDate()) and @SelectedYear =Datepart(yyyy,GETDate()))
BEGIN
SET @selectedDate = CONVERT(datetime, CONVERT(varchar(2), datepart(DD,GETDATE())+ '/' + Convert(varchar(2),@SelectedMonth) + '/' +Convert(varchar(4),@SelectedYear), 103))
SET @previoussixmonthsdate= DATEADD(month, -6, @selectedDate)
END
ELSE
BEGIN
SET @selectedDate = CONVERT(datetime, '31'+ '/' + Convert(varchar(10),@SelectedMonth) + '/' +Convert(varchar(10),@SelectedYear), 103)
SET @previoussixmonthsdate= DATEADD(month, -6, @selectedDate)
END
select @selectedDate, @previoussixmonthsdate
SELECT dbo.Filteredals_clinicappointment.als_clinicappointmentid [AppointmentID],
dbo.Filteredals_clinicappointment.als_statusname [AppointmentStatus],
dbo.Filteredals_clinicappointment.als_appointmentdatetime [AppointmentBookingTime],
Datepart(mm,dbo.Filteredals_clinicappointment.als_appointmentdatetime) [AppointmentMonth],
Datepart(yyyy,dbo.Filteredals_clinicappointment.als_appointmentdatetime) [AppointmentYear],
DATENAME(month,dbo.Filteredals_clinicappointment.als_appointmentdatetime) [AppointmentMonthName],
DATENAME (year,dbo.Filteredals_clinicappointment.als_appointmentdatetime) [AppointmentyearName]
FROM dbo.Filteredals_clinicappointment LEFT OUTER JOIN
dbo.Filteredrbs_clinicinstance ON dbo.Filteredals_clinicappointment.als_clinicinstance = dbo.Filteredrbs_clinicinstance.rbs_clinicinstanceid LEFT OUTER JOIN
dbo.Filteredrbs_clinic ON dbo.Filteredrbs_clinicinstance.rbs_clinic = dbo.Filteredrbs_clinic.rbs_clinicid LEFT OUTER JOIN
dbo.Filteredrbs_careproviders ON dbo.Filteredrbs_clinic.rbs_careprovider = dbo.Filteredrbs_careproviders.rbs_careprovidersid
WHERE dbo.Filteredrbs_careproviders.rbs_careprovidersid= @careprovider
AND dbo.Filteredals_clinicappointment.als_appointmentdatetime <= @selectedDate AND
dbo.Filteredals_clinicappointment.als_appointmentdatetime >[email protected]
,dbo.Filteredals_clinicappointment.als_appointmentdatetime)= @SelectedYear
GROUP BY YEAR(AppointmentList.AppointmentBookingTime), MONTH(AppointmentList.AppointmentBookingTime)) as [DNAAppts]
ご協力いただければ幸いです。
乾杯。私が思う最初のものを試してみます。 – user1230862