When trying to create an ssrs report with the sql below I get an error the reads:
An Error occurred while the query design method was being saved. The variable name '@FirstDateofYear' has already been declared. Variable names must be unique within a query batch or stored procedure.
CREATE TABLE #MissingByProf ( Professionals VarChar( 50 ), MissingTimeDays Varchar(50), DaysList Varchar(50), ShortMissingDays Varchar(50))
CREATE TABLE #MissingProfessionalsDays ( Professionals Varchar( 50 ), MissingTimeDays DATETIME, DaysList Varchar(50))
CREATE TABLE #MissingTimeDays ( Professionals Varchar( 50 ), MissingTimeDays DATETIME, ShortMissingDays Varchar(50),DaysList Varchar(50))
DECLARE @Year AS INT = 2015,
@FirstDateOfYear DATETIME = DATEADD(yyyy, 2015 - 1900, 0),
@LastDateOfYear DATETIME = DATEADD(yyyy, 2015 - 1900 + 1, 0)
;WITH cte AS (
SELECT 1 AS DayID,
@FirstDateOfYear AS FromDate,
DATENAME(dw, @FirstDateOfYear) AS Dayname
UNION ALL
SELECT cte.DayID + 1 AS DayID,
DATEADD(d, 1 ,cte.FromDate),
DATENAME(dw, DATEADD(d, 1 ,cte.FromDate)) AS Dayname
FROM cte
WHERE DATEADD(d,1,cte.FromDate) < @LastDateOfYear
)
INSERT INTO #MissingTimeDays (MissingTimeDays)
SELECT FromDate AS Date
FROM CTE
WHERE (DayName LIKE 'Monday' OR Dayname LIKE 'Tuesday' OR Dayname LIKE 'Wednesday' OR Dayname LIKE 'Thursday' OR Dayname LIKE 'Friday') AND (CTE.FromDate >= '2015-06-01' AND CTE.FromDate <= '2015-06-30') AND FromDate NOT IN (SELECT HoliDate FROM Holidays
WHERE EventTypeRules IS
NULL)
ORDER BY Date asc
OPTION (MaxRecursion 370)
INSERT INTO #MissingProfessionalsDays (Professionals,
MissingTimeDays) SELECT Professionals.Professionals, MissingTimeDays FROM #MissingTimeDays,
Professionals WHERE IsActive = 'Y' AND MissingTimeDays >=
Cast(COALESCE(DateEmployed, '1899-12-31') as DateTime) AND MissingTimeDays <=
Cast(COALESCE(DateTerminated, '3000-12-31') as DateTime) AND
((PROFDEPT='CV-CFB' AND PROFTYPE IN ('PARALEGAL', 'ATTORNEY'))) GROUP BY
Professionals.Professionals, MissingTimeDays HAVING COALESCE((SELECT SUM(Units) FROM
Transactions, Components WHERE TransDate = MissingTimeDays AND
Transactions.Professionals = Professionals.Professionals AND
Transactions.Components = Components.Components AND CompType='F' AND IsFlatFee
<> 'Y'), 0) < 7.5
INSERT INTO #MissingByProf (Professionals) SELECT
Distinct Professionals FROM #MissingProfessionalsDays
SELECT Professionals.ProfName, #MissingProfessionalsDays.Professionals, MissingTimeDays FROM
#MissingProfessionalsDays
INNER JOIN Professionals ON #MissingProfessionalsDays.Professionals = Professionals.Professionals
ORDER BY MissingTimeDays, #MissingProfessionalsDays.Professionals asc
Drop Table #MissingByProf
Drop Table #MissingProfessionalsDays
Drop Table #MissingTimeDays