The stored procedure below now needs to reference the actual period instead of M1, M2, etc..
So, for example if @Period1 = 200802 then the column would be named 200802 instead of M1.
CURRENT - SUM(CASE WHEN p.period = @Period1 THEN t.tworkhrs ELSE 0 END) M1
NEED TO BE - SUM(CASE WHEN p.period = @Period1 THEN t.tworkhrs ELSE 0 END) 200802
Is there a way to do this in the stored procedure?
CREATE PROCEDURE dbo.TIME_BillHrsRolling13monthsTitleGraph
@EndPeriod INT
AS
DECLARE @Period1 INT
, @Period2 INT
, @Period3 INT
, @Period4 INT
, @Period5 INT
, @Period6 INT
, @Period7 INT
, @Period8 INT
, @Period9 INT
, @Period10 INT
, @Period11 INT
, @Period12 INT
IF RIGHT(@EndPeriod, 2) - 1 = 0
SELECT @Period12 = @EndPeriod - 89
ELSE
SELECT @Period12 = @EndPeriod - 1
IF RIGHT(@Period12, 2) - 1 = 0
SELECT @Period11 = @Period12 - 89
ELSE
SELECT @Period11 = @Period12 - 1
IF RIGHT(@Period11, 2) - 1 = 0
SELECT @Period10 = @Period11 - 89
ELSE
SELECT @Period10 = @Period11 - 1
IF RIGHT(@Period10, 2) - 1 = 0
SELECT @Period9 = @Period10 - 89
ELSE
SELECT @Period9 = @Period10 - 1
IF RIGHT(@Period9, 2) - 1 = 0
SELECT @Period8 = @Period9 - 89
ELSE
SELECT @Period8 = @Period9 - 1
IF RIGHT(@Period8, 2) - 1 = 0
SELECT @Period7 = @Period8 - 89
ELSE
SELECT @Period7 = @Period8 - 1
IF RIGHT(@Period7, 2) - 1 = 0
SELECT @Period6 = @Period7 - 89
ELSE
SELECT @Period6 = @Period7 - 1
IF RIGHT(@Period6, 2) - 1 = 0
SELECT @Period5 = @Period6 - 89
ELSE
SELECT @Period5 = @Period6 - 1
IF RIGHT(@Period5, 2) - 1 = 0
SELECT @Period4 = @Period5 - 89
ELSE
SELECT @Period4 = @Period5 - 1
IF RIGHT(@Period4, 2) - 1 = 0
SELECT @Period3 = @Period4 - 89
ELSE
SELECT @Period3 = @Period4 - 1
IF RIGHT(@Period3, 2) - 1 = 0
SELECT @Period2 = @Period3 - 89
ELSE
SELECT @Period2 = @Period3 - 1
IF RIGHT(@Period2, 2) - 1 = 0
SELECT @Period1 = @Period2 - 89
ELSE
SELECT @Period1 = @Period2 - 1
SELECT CASE WHEN h.httitle = 'PARTNER' THEN 'Partner'
WHEN h.httitle in ('PARALEGAL','CASE ASSISTANT') THEN 'Paralegal'
WHEN h.httitle in ('ASSOCIATE','CONTRACT ATTY','OF COUNSEL','SENIOR COUNSEL','LAW CLERK','PATENT AGENT') THEN 'Associate'
END Title
, SUM(CASE WHEN p.period = @Period1 THEN t.tworkhrs ELSE 0 END) M1
, SUM(CASE WHEN p.period = @Period2 THEN t.tworkhrs ELSE 0 END) M2
, SUM(CASE WHEN p.period = @Period3 THEN t.tworkhrs ELSE 0 END) M3
, SUM(CASE WHEN p.period = @Period4 THEN t.tworkhrs ELSE 0 END) M4
, SUM(CASE WHEN p.period = @Period5 THEN t.tworkhrs ELSE 0 END) M5
, SUM(CASE WHEN p.period = @Period6 THEN t.tworkhrs ELSE 0 END) M6
, SUM(CASE WHEN p.period = @Period7 THEN t.tworkhrs ELSE 0 END) M7
, SUM(CASE WHEN p.period = @Period8 THEN t.tworkhrs ELSE 0 END) M8
, SUM(CASE WHEN p.period = @Period9 THEN t.tworkhrs ELSE 0 END) M9
, SUM(CASE WHEN p.period = @Period10 THEN t.tworkhrs ELSE 0 END) M10
, SUM(CASE WHEN p.period = @Period11 THEN t.tworkhrs ELSE 0 END) M11
, SUM(CASE WHEN p.period = @Period12 THEN t.tworkhrs ELSE 0 END) M12
, SUM(CASE WHEN p.period = @EndPeriod THEN t.tworkhrs ELSE 0 END) M13
, SUM(CASE WHEN p.period between @Period2 and @EndPeriod THEN t.tworkhrs ELSE 0 END) Total12Months
, SUM(CASE WHEN p.period between @Period2 and @EndPeriod THEN t.tworkhrs ELSE 0 END)/12 Avg12Months
FROM timecard t
INNER JOIN matter m ON t.tmatter = m.mmatter
INNER JOIN htkeep h ON t.ttk = h.htkinit
INNER JOIN eis_period p ON t.twoper = p.per
WHERE t.tstatus in ('B','PB','BNC','BNP','H','WA')
AND p.end_date between h.htdate1 and h.htdate2
AND h.httitle in ('PARTNER','PARALEGAL','CASE ASSISTANT','ASSOCIATE','CONTRACT ATTY','OF COUNSEL','SENIOR COUNSEL','LAW CLERK','PATENT AGENT')
GROUP BY CASE WHEN h.httitle = 'PARTNER' THEN 'Partner'
WHEN h.httitle in ('PARALEGAL','CASE ASSISTANT') THEN 'Paralegal'
WHEN h.httitle in ('ASSOCIATE','CONTRACT ATTY','OF COUNSEL','SENIOR COUNSEL','LAW CLERK','PATENT AGENT') THEN 'Associate'
END
So, for example if @Period1 = 200802 then the column would be named 200802 instead of M1.
CURRENT - SUM(CASE WHEN p.period = @Period1 THEN t.tworkhrs ELSE 0 END) M1
NEED TO BE - SUM(CASE WHEN p.period = @Period1 THEN t.tworkhrs ELSE 0 END) 200802
Is there a way to do this in the stored procedure?
CREATE PROCEDURE dbo.TIME_BillHrsRolling13monthsTitleGraph
@EndPeriod INT
AS
DECLARE @Period1 INT
, @Period2 INT
, @Period3 INT
, @Period4 INT
, @Period5 INT
, @Period6 INT
, @Period7 INT
, @Period8 INT
, @Period9 INT
, @Period10 INT
, @Period11 INT
, @Period12 INT
IF RIGHT(@EndPeriod, 2) - 1 = 0
SELECT @Period12 = @EndPeriod - 89
ELSE
SELECT @Period12 = @EndPeriod - 1
IF RIGHT(@Period12, 2) - 1 = 0
SELECT @Period11 = @Period12 - 89
ELSE
SELECT @Period11 = @Period12 - 1
IF RIGHT(@Period11, 2) - 1 = 0
SELECT @Period10 = @Period11 - 89
ELSE
SELECT @Period10 = @Period11 - 1
IF RIGHT(@Period10, 2) - 1 = 0
SELECT @Period9 = @Period10 - 89
ELSE
SELECT @Period9 = @Period10 - 1
IF RIGHT(@Period9, 2) - 1 = 0
SELECT @Period8 = @Period9 - 89
ELSE
SELECT @Period8 = @Period9 - 1
IF RIGHT(@Period8, 2) - 1 = 0
SELECT @Period7 = @Period8 - 89
ELSE
SELECT @Period7 = @Period8 - 1
IF RIGHT(@Period7, 2) - 1 = 0
SELECT @Period6 = @Period7 - 89
ELSE
SELECT @Period6 = @Period7 - 1
IF RIGHT(@Period6, 2) - 1 = 0
SELECT @Period5 = @Period6 - 89
ELSE
SELECT @Period5 = @Period6 - 1
IF RIGHT(@Period5, 2) - 1 = 0
SELECT @Period4 = @Period5 - 89
ELSE
SELECT @Period4 = @Period5 - 1
IF RIGHT(@Period4, 2) - 1 = 0
SELECT @Period3 = @Period4 - 89
ELSE
SELECT @Period3 = @Period4 - 1
IF RIGHT(@Period3, 2) - 1 = 0
SELECT @Period2 = @Period3 - 89
ELSE
SELECT @Period2 = @Period3 - 1
IF RIGHT(@Period2, 2) - 1 = 0
SELECT @Period1 = @Period2 - 89
ELSE
SELECT @Period1 = @Period2 - 1
SELECT CASE WHEN h.httitle = 'PARTNER' THEN 'Partner'
WHEN h.httitle in ('PARALEGAL','CASE ASSISTANT') THEN 'Paralegal'
WHEN h.httitle in ('ASSOCIATE','CONTRACT ATTY','OF COUNSEL','SENIOR COUNSEL','LAW CLERK','PATENT AGENT') THEN 'Associate'
END Title
, SUM(CASE WHEN p.period = @Period1 THEN t.tworkhrs ELSE 0 END) M1
, SUM(CASE WHEN p.period = @Period2 THEN t.tworkhrs ELSE 0 END) M2
, SUM(CASE WHEN p.period = @Period3 THEN t.tworkhrs ELSE 0 END) M3
, SUM(CASE WHEN p.period = @Period4 THEN t.tworkhrs ELSE 0 END) M4
, SUM(CASE WHEN p.period = @Period5 THEN t.tworkhrs ELSE 0 END) M5
, SUM(CASE WHEN p.period = @Period6 THEN t.tworkhrs ELSE 0 END) M6
, SUM(CASE WHEN p.period = @Period7 THEN t.tworkhrs ELSE 0 END) M7
, SUM(CASE WHEN p.period = @Period8 THEN t.tworkhrs ELSE 0 END) M8
, SUM(CASE WHEN p.period = @Period9 THEN t.tworkhrs ELSE 0 END) M9
, SUM(CASE WHEN p.period = @Period10 THEN t.tworkhrs ELSE 0 END) M10
, SUM(CASE WHEN p.period = @Period11 THEN t.tworkhrs ELSE 0 END) M11
, SUM(CASE WHEN p.period = @Period12 THEN t.tworkhrs ELSE 0 END) M12
, SUM(CASE WHEN p.period = @EndPeriod THEN t.tworkhrs ELSE 0 END) M13
, SUM(CASE WHEN p.period between @Period2 and @EndPeriod THEN t.tworkhrs ELSE 0 END) Total12Months
, SUM(CASE WHEN p.period between @Period2 and @EndPeriod THEN t.tworkhrs ELSE 0 END)/12 Avg12Months
FROM timecard t
INNER JOIN matter m ON t.tmatter = m.mmatter
INNER JOIN htkeep h ON t.ttk = h.htkinit
INNER JOIN eis_period p ON t.twoper = p.per
WHERE t.tstatus in ('B','PB','BNC','BNP','H','WA')
AND p.end_date between h.htdate1 and h.htdate2
AND h.httitle in ('PARTNER','PARALEGAL','CASE ASSISTANT','ASSOCIATE','CONTRACT ATTY','OF COUNSEL','SENIOR COUNSEL','LAW CLERK','PATENT AGENT')
GROUP BY CASE WHEN h.httitle = 'PARTNER' THEN 'Partner'
WHEN h.httitle in ('PARALEGAL','CASE ASSISTANT') THEN 'Paralegal'
WHEN h.httitle in ('ASSOCIATE','CONTRACT ATTY','OF COUNSEL','SENIOR COUNSEL','LAW CLERK','PATENT AGENT') THEN 'Associate'
END