examples of functions, stored procs, queries
TRANSCRIPT
FORMULA FOR A LINE
y=mx+b
FORMULA FOR SLOPE m
m=r ( S ySx )FORMULA FOR CORRELATION COEFFICIENT r
r=n∑ xy−∑ x∑ y
√ (n∑ x2−∑ x2)√(n∑ y2−∑ y
2)
INCREASE OR DECREASE OF LINE b
b= y−mx
STANDARD DEVIATION
Sy∨Sx
AVERAGE OR MEAN
y∨x
FORMULA FOR A LINE BROKEN DOWN FOR SQL CODE
y=n∑ xy−∑ x∑ y
√ (n∑ x2−∑ x2 )√(n∑ y2−∑ y
2 ) (S ySx )x+ y−
n∑ xy−∑ x∑ y
√ (n∑ x2−∑ x2 )√(n∑ y2−∑ y
2) (S ySx )x
--**************************************************************
--FUNCTION: MAKE REGRESSION TABLE--**************************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- ===========================================================-- Author: Bill Jones-- Create date: 6/8/2015-- Description: Generates a single table with KPI -- values and REGRESSION values -- INPUT the month and the KPI measure-- RETURNS rolling 13 months of data for all 13 KPI columns-- ============================================================CREATE FUNCTION [dbo].[udf_MakeAll_KPI_REG_Data_4Test](
@End_Month INT,@KPI_Test INT)
RETURNS @REGTABLE TABLE(myDomain VARCHAR(30), myGroup VARCHAR(30), myTeam VARCHAR(30), myRank INT, myMonth INT, myKPI DECIMAL(12,4),myReg DECIMAL(12,4),myID INT,
myTest INT)ASBEGIN
INSERT INTO @REGTABLE(myDomain,myGroup,myTeam,myRank,myMonth,myKPI,myReg,myID,myTest)
SELECT DISTINCTR.Domain AS 'aDomain',R.[Group] AS 'aGroup',R.Team AS 'aTeam',R.PS_Rank AS 'aRank',@End_Month AS 'aMonth',CASE @KPI_Test
WHEN 1 THEN ROUND((SUM(CAST(R.[Successful Value] AS FLOAT)) / COUNT(CAST(R.[Successful Value] AS FLOAT))), 4)
WHEN 2 THEN ROUND((SUM(CAST(R.[Type_1_Day] AS FLOAT)) / COUNT(CAST(R.[Type_1_Day] AS FLOAT))), 4)
WHEN 3 THEN ROUND((SUM(CAST(R.[Type_2_Day] AS FLOAT)) / COUNT(CAST(R.[Type_2_Day] AS FLOAT))), 4)
WHEN 4 THEN ROUND((SUM(CAST(R.[Type_Not_Early] AS FLOAT)) / COUNT(CAST(R.[Type_Not_Early] AS FLOAT))), 4)
WHEN 5 THEN ROUND((SUM(CAST(R.[Type_Not_Late] AS FLOAT)) / COUNT(CAST(R.[Type_Not_Late] AS FLOAT))), 4)
WHEN 6 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] < 2 THEN CAST(R.[Type_AA_Planned] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] < 2 THEN CAST(R.[Type_AA_Planned] AS FLOAT) END)), 4)
WHEN 7 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Urgent] < 2 THEN CAST(R.[Type_AA_Urgent] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Urgent] < 2 THEN CAST(R.[Type_AA_Urgent] AS FLOAT) END)), 4)
WHEN 8 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Emergency] < 2 THEN CAST(R.[Type_AA_Emergency] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Emergency] < 2 THEN CAST(R.[Type_AA_Emergency] AS FLOAT) END)), 4)
WHEN 9 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] <> 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] <> 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END)), 4)
WHEN 10 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] = 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] = 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END)), 4)
END AS 'aKPI',NULL AS 'aReg',G.ID AS 'myID',@KPI_Test AS 'myTest'
FROM STDB.dbo.vw_cm_dash_R15 R, STDB.dbo.tbl_reporting_group G WHERE R.Domain = 'EIT Domain'
AND R.PS_Rank < @End_Month + 1AND R.PS_Rank > @End_Month - 13AND R.Team IS NOT NULLAND R.Domain = G.DomainAND R.[Group] = G.[Group]AND R.Team = G.Team
GROUP BY R.Domain, R.[Group], R.PS_Rank, R.Team, G.ID
UNION ALL
SELECT DISTINCTR.Domain AS 'aDomain',R.[Group] AS 'aGroup',NULL AS 'aTeam',R.PS_Rank AS 'aRank',
@End_Month AS 'aMonth',CASE @KPI_Test
WHEN 1 THEN ROUND((SUM(CAST(R.[Successful Value] AS FLOAT)) / COUNT(CAST(R.[Successful Value] AS FLOAT))), 4)
WHEN 2 THEN ROUND((SUM(CAST(R.[Type_1_Day] AS FLOAT)) / COUNT(CAST(R.[Type_1_Day] AS FLOAT))), 4)
WHEN 3 THEN ROUND((SUM(CAST(R.[Type_2_Day] AS FLOAT)) / COUNT(CAST(R.[Type_2_Day] AS FLOAT))), 4)
WHEN 4 THEN ROUND((SUM(CAST(R.[Type_Not_Early] AS FLOAT)) / COUNT(CAST(R.[Type_Not_Early] AS FLOAT))), 4)
WHEN 5 THEN ROUND((SUM(CAST(R.[Type_Not_Late] AS FLOAT)) / COUNT(CAST(R.[Type_Not_Late] AS FLOAT))), 4)
WHEN 6 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] < 2 THEN CAST(R.[Type_AA_Planned] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] < 2 THEN CAST(R.[Type_AA_Planned] AS FLOAT) END)), 4)
WHEN 7 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Urgent] < 2 THEN CAST(R.[Type_AA_Urgent] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Urgent] < 2 THEN CAST(R.[Type_AA_Urgent] AS FLOAT) END)), 4)
WHEN 8 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Emergency] < 2 THEN CAST(R.[Type_AA_Emergency] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Emergency] < 2 THEN CAST(R.[Type_AA_Emergency] AS FLOAT) END)), 4)
WHEN 9 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] <> 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] <> 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END)), 4)
WHEN 10 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] = 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] = 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END)), 4)
END AS 'aKPI',NULL AS 'aReg',G.ID AS 'myID',@KPI_Test AS 'myTest'
FROM STDB.dbo.vw_cm_dash_R15 R, STDB.dbo.tbl_reporting_group G WHERE R.Domain = 'EIT Domain'
AND R.PS_Rank < @End_Month + 1AND R.PS_Rank > @End_Month - 13AND (R.[Group] = 'App Support' OR R.[Group] = 'Billing' OR R.[Group] =
'Communications' OR R.[Group] = 'Infra Ops' OR R.[Group] = 'Partner Brands')AND R.Domain = G.DomainAND R.[Group] = G.[Group]AND (G.ID = 19 OR G.ID = 20 OR G.ID = 2 OR G.ID = 11 OR G.ID = 12)
GROUP BY R.Domain, R.[Group], R.PS_Rank, G.ID
UNION ALL
SELECT DISTINCTR.Domain AS 'aDomain',NULL AS 'aGroup',NULL AS 'aTeam',R.PS_Rank AS 'aRank',@End_Month AS 'aMonth',CASE @KPI_Test
WHEN 1 THEN ROUND((SUM(CAST(R.[Successful Value] AS FLOAT)) / COUNT(CAST(R.[Successful Value] AS FLOAT))), 4)
WHEN 2 THEN ROUND((SUM(CAST(R.[Type_1_Day] AS FLOAT)) / COUNT(CAST(R.[Type_1_Day] AS FLOAT))), 4)
WHEN 3 THEN ROUND((SUM(CAST(R.[Type_2_Day] AS FLOAT)) / COUNT(CAST(R.[Type_2_Day] AS FLOAT))), 4)
WHEN 4 THEN ROUND((SUM(CAST(R.[Type_Not_Early] AS FLOAT)) / COUNT(CAST(R.[Type_Not_Early] AS FLOAT))), 4)
WHEN 5 THEN ROUND((SUM(CAST(R.[Type_Not_Late] AS FLOAT)) / COUNT(CAST(R.[Type_Not_Late] AS FLOAT))), 4)
WHEN 6 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] < 2 THEN CAST(R.[Type_AA_Planned] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] < 2 THEN CAST(R.[Type_AA_Planned] AS FLOAT) END)), 4)
WHEN 7 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Urgent] < 2 THEN CAST(R.[Type_AA_Urgent] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Urgent] < 2 THEN CAST(R.[Type_AA_Urgent] AS FLOAT) END)), 4)
WHEN 8 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Emergency] < 2 THEN CAST(R.[Type_AA_Emergency] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Emergency] < 2 THEN CAST(R.[Type_AA_Emergency] AS FLOAT) END)), 4)
WHEN 9 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] <> 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] <> 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END)), 4)
WHEN 10 THEN ROUND((SUM(CASE WHEN R.[Type_AA_Planned] = 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END) / COUNT(CASE WHEN R.[Type_AA_Planned] = 2 THEN CAST(R.[Type_1_Day] AS FLOAT) END)), 4)
END AS 'aKPI',NULL AS 'aReg',G.ID AS 'myID',@KPI_Test AS 'myTest'
FROM STDB.dbo.vw_cm_dash_R15 R, STDB.dbo.tbl_reporting_group G WHERE R.Domain = 'EIT Domain'
AND R.PS_Rank < @End_Month + 1AND R.PS_Rank > @End_Month - 13AND G.ID = 21
GROUP BY R.Domain, R.PS_Rank, G.IDORDER BY R.Domain, R.[Group], R.Team, R.PS_Rank
UPDATE RTSET RT.myReg = CASE @KPI_Test
WHEN 1 THEN KPI.mySuccessWHEN 2 THEN KPI.my1DayWHEN 3 THEN KPI.my2DayWHEN 4 THEN KPI.myEarlyWHEN 5 THEN KPI.myLateWHEN 6 THEN KPI.myPlannedWHEN 7 THEN KPI.myUrgent
WHEN 8 THEN KPI.myEmergencyWHEN 9 THEN KPI.my1DayPlanWHEN 10 THEN KPI.my1DayEmer
END FROM @REGTABLE RTINNER JOIN [STDB].[dbo].[tbl_CM_KPI_regression] KPION RT.myID = KPI.IDAND RT.myMonth = KPI.myMonthAND RT.myRank = KPI.myRank
RETURN END
GO
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =============================================-- Author: Bill Jones-- Create date: 5/21/2015-- Description: Creates a table of regression line
-- values with up to 3 filters-- =============================================CREATE FUNCTION [dbo].[udf_MakeRegressionTable_CM_KPI](
@domain VARCHAR(30),@group VARCHAR(30),@team VARCHAR(30),@rank INT)
RETURNS @MyRegressionTable TABLE(myDomain VARCHAR(30),myGroup VARCHAR(30),myTeam VARCHAR(30),myRank INT,myMonth INT,mySuccess DECIMAL(12,4), my1Day DECIMAL(12,4),my2Day DECIMAL(12,4),myEarly DECIMAL(12,4),myLate DECIMAL(12,4),myPlanned DECIMAL(12,4),myUrgent DECIMAL(12,4),myEmergency DECIMAL(12,4),my1DayPlan DECIMAL(12,4),my1DayEmer DECIMAL(12,4))
ASBEGIN
INSERT INTO @MyRegressionTable(myDomain,myGroup,myTeam,myRank,myMonth,mySuccess,my1Day,
my2Day,myEarly,myLate,myPlanned,myUrgent,myEmergency,my1DayPlan,my1DayEmer)
SELECT @domain, @group, @team, @rank - 0, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 1, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 2, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 3, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 4, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 5, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 6, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 7, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 8, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 9, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 10, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 11, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0UNION ALLSELECT @domain, @group, @team, @rank - 12, @rank, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
Declare @num_y decimal(15,10) Declare @den_y decimal(15,10)
Declare @avg_y decimal(15,10)Declare @sd_y decimal(15,10)Declare @sum_y decimal(15,10)Declare @count decimal(15,10)Declare @sd_x decimal(15,10) Declare @sum_x decimal(20,10)Declare @avg_x decimal(20,10) Declare @den_x decimal(20,10) Declare @xy decimal(20,10) Declare @x2 INTDeclare @y2 INTDeclare @r decimal(25,15) Declare @m decimal(25,15)Declare @b decimal(25,15)Declare @y decimal(12,4)
--****************************************-- SUCCESS KPI--****************************************SET @sum_y = (SELECT SUM([Successful Value]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @count = (SELECT COUNT([Successful Value]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Successful Value]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Successful Value] AS FLOAT)) FROM [STDB].
[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @y2 = (SELECT SUM([Successful Value] * [Successful Value]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTable
SET mySuccess = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET mySuccess = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- 1 DAY KPI --*****************************************SET @sum_y = (SELECT SUM([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @count = (SELECT COUNT([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_1_Day] AS FLOAT)) FROM [STDB].[dbo].
[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @y2 = (SELECT SUM([Type_1_Day] * [Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6
UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET my1Day = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- 2 DAY KPI --*****************************************SET @sum_y = (SELECT SUM([Type_2_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @count = (SELECT COUNT([Type_2_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_2_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_x = (@sum_x/@count)
SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_2_Day] AS FLOAT)) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @y2 = (SELECT SUM([Type_2_Day] * [Type_2_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8
UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET my2Day = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- EARLY KPI --*****************************************SET @sum_y = (SELECT SUM([Type_Not_Early]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @count = (SELECT COUNT([Type_Not_Early]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_Not_Early]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_Not_Early] AS FLOAT)) FROM [STDB].
[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @y2 = (SELECT SUM([Type_Not_Early] * [Type_Not_Early]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTable
SET myEarly = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET myEarly = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- LATE KPI --*****************************************SET @sum_y = (SELECT SUM([Type_Not_Late]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @count = (SELECT COUNT([Type_Not_Late]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_Not_Late]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_Not_Late] AS FLOAT)) FROM [STDB].
[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13)
SET @y2 = (SELECT SUM([Type_Not_Late] * [Type_Not_Late]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11
UPDATE @MyRegressionTableSET myLate = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- PLANNED KPI --*****************************************SET @sum_y = (SELECT SUM([Type_AA_Planned]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2) SET @count = (SELECT COUNT([Type_AA_Planned]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_AA_Planned]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_AA_Planned] AS FLOAT)) FROM [STDB].
[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS
NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @y2 = (SELECT SUM([Type_AA_Planned] * [Type_AA_Planned]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTable
SET myPlanned = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET myPlanned = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- URGENT KPI --*****************************************SET @sum_y = (SELECT SUM([Type_AA_Urgent]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2) SET @count = (SELECT COUNT([Type_AA_Urgent]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_AA_Urgent]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_AA_Urgent] AS FLOAT)) FROM [STDB].
[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2)
SET @y2 = (SELECT SUM([Type_AA_Urgent] * [Type_AA_Urgent]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Urgent] <> 2) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTable
SET myUrgent = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET myUrgent = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- EMERGENCY KPI --*****************************************SET @sum_y = (SELECT SUM([Type_AA_Emergency]) FROM [STDB].[dbo].[vw_cm_dash_R15]
WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2) SET @count = (SELECT COUNT([Type_AA_Emergency]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_AA_Emergency]) FROM [STDB].[dbo].
[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_AA_Emergency] AS FLOAT)) FROM
[STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS
NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2)
SET @y2 = (SELECT SUM([Type_AA_Emergency] * [Type_AA_Emergency]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Emergency] <> 2) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTable
SET myEmergency = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET myEmergency = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- 1 DAY PLANNED KPI --*****************************************SET @sum_y = (SELECT SUM([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2) SET @count = (SELECT COUNT([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_1_Day] AS FLOAT)) FROM [STDB].[dbo].
[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS
NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2)
SET @y2 = (SELECT SUM([Type_1_Day] * [Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] <> 2) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTable
SET my1DayPlan = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET my1DayPlan = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
--*****************************************-- 1 DAY UNPLANNED KPI --*****************************************SET @sum_y = (SELECT SUM([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2) SET @count = (SELECT COUNT([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2)
SET @avg_y = (@sum_y/@count)SET @sd_y = (SELECT STDEVP([Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE
[Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2)
SET @sd_x = (SELECT STDEVP([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2)
SET @sum_x = (SELECT SUM([PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2)
SET @avg_x = (@sum_x/@count)SET @xy = (SELECT SUM(CAST([PS_Rank] * [Type_1_Day] AS FLOAT)) FROM [STDB].[dbo].
[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2)
SET @x2 = (SELECT SUM([PS_Rank] * [PS_Rank]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2)
SET @y2 = (SELECT SUM([Type_1_Day] * [Type_1_Day]) FROM [STDB].[dbo].[vw_cm_dash_R15] WHERE [Domain] = @domain AND [Group] LIKE @Group AND ([Team] LIKE @Team OR [Team] IS NULL) AND [PS_Rank] < @rank + 1 AND [PS_Rank] > @rank - 13 AND [Type_AA_Planned] = 2) SET @r = CASE WHEN @count = @sum_y THEN 0 ELSE (((@count * @xy) - (@sum_x * @sum_y)) / ((SQRT((@count * @x2) - (@sum_x * @sum_x))) * (SQRT((@count * @y2) - (@sum_y * @sum_y))))) END
SET @m = (@r * (@sd_y / @sd_x))SET @b = (@avg_y - (@m * @avg_x))
UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 0)) + @b), 4) WHERE myRank = @rank - 0UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 1)) + @b), 4) WHERE myRank = @rank - 1UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 2)) + @b), 4) WHERE myRank = @rank - 2UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 3)) + @b), 4) WHERE myRank = @rank - 3UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 4)) + @b), 4) WHERE myRank = @rank - 4UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 5)) + @b), 4) WHERE myRank = @rank - 5UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 6)) + @b), 4) WHERE myRank = @rank - 6UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 7)) + @b), 4) WHERE myRank = @rank - 7UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 8)) + @b), 4) WHERE myRank = @rank - 8UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 9)) + @b), 4) WHERE myRank = @rank - 9UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 10)) + @b), 4) WHERE myRank = @rank - 10UPDATE @MyRegressionTable
SET my1DayEmer = ROUND(((@m * (@rank - 11)) + @b), 4) WHERE myRank = @rank - 11UPDATE @MyRegressionTableSET my1DayEmer = ROUND(((@m * (@rank - 12)) + @b), 4) WHERE myRank = @rank - 12
RETURN END
GO
--************************************************
--STEP 0--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =======================================================-- Author: Bill Jones-- Create date: 4/21/2015-- Description: Runs all USPs for CM_Dashboard ROLLING 15-- =======================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_0_RUN]ASBEGIN
SET NOCOUNT ON;
DECLARE @RC int
EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_1_STAGE]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_2_SH_STAGE]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_3_SCRUB]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_4_CONVERT]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_5_CONVERT_SH]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_6_NULL]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_7_NULL_SH]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_8_TABLE]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_8b_OPEN]EXECUTE @RC = [STDB].[dbo].[usp_CM_DASH_R15_9_ADD]
ENDGO
--************************************************
--STEP 1--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- ========================================================-- Author: Bill Jones-- Create date: 4/21/2015-- Description: Gets CM Dashboard RAW DATA for prior month-- ========================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_1_STAGE]ASBEGIN
SET NOCOUNT ON;
DECLARE @date1 DATETIME, @date2 DATETIME,
@days INT, @month INT, @year INT
SELECT @month = (SELECT MONTH(DATEADD(M, -1, GETDATE()))), @days = 1, @year = (SELECT YEAR(DATEADD(M, -1, GETDATE())))
SELECT @date1 = CAST(@month AS VARCHAR) + '/' + CAST(@days AS VARCHAR) + '/' + CAST(@year AS VARCHAR)SELECT @date1 = DATEADD(S, 3600 * STDB.DBO.DLS7OR8(@date1) - 1, @date1)
SELECT @month = (SELECT MONTH(GETDATE())), @days = 1, @year = (SELECT YEAR(GETDATE()))
SELECT @date2 = CAST(@month AS VARCHAR) + '/' + CAST(@days AS VARCHAR) + '/' + CAST(@year AS VARCHAR)SELECT @date2 = DATEADD(S, 3600 * STDB.DBO.DLS7OR8(@date2), @date2)
IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DBO' AND TABLE_NAME = 'tbl_PRMIT402_cm_dash_STAGE_r15'))
BEGINDROP TABLE [STDB].[DBO].[tbl_PRMIT402_cm_dash_STAGE_r15]
END
DECLARE @START NUMERIC = STDB.DBO.UNIX_TIMESTAMP(@date1);DECLARE @FINISH NUMERIC = STDB.DBO.UNIX_TIMESTAMP(@date2);
DECLARE @SqlCommand NVARCHAR(MAX) = N'SELECT * INTO [STDB].[DBO].[tbl_PRMIT402_cm_dash_STAGE_r15]FROM OPENQUERY(PRMIT402, ''SELECT
Actual_Finish,Actual_Start,Application,Change_ID,Change_Title,Change_Type,CM_Process_Execution,Complete_Status,Normal_Classification,Operational_Dir_Last_Name,Operational_Dir_Last_Name2,Operational_Owner_Last_Name,Planned_Finish,Planned_Start,
Portfolio,Preapproval_Status,Requestor_Login,Status, Tier_Reporting, Unsuccessful_Reason
FROM ARADMIN.A1_CHANGE_CONTROL WHERE Planned_Start > ''''' + CONVERT(CHAR(10), @START) + ''''' AND Planned_Start < ''''' + CONVERT(CHAR(10),
@FINISH) + ''''' '');';
PRINT @SqlCommand
EXEC sp_ExecuteSQL @SqlCommand;
ENDGO
--************************************************
--STEP 2--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- ========================================================-- Author: Bill Jones-- Create date: 4/21/2015-- Description: Status History data for CM Dashboard ROLLING 15 MONTH-- ========================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_2_SH_STAGE]ASBEGIN
SET NOCOUNT ON;
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'DBO' AND TABLE_NAME = 'tbl_PRMIT402_cm_dash_sh_STAGE_r15'))
BEGINDROP TABLE [STDB].[DBO].[tbl_PRMIT402_cm_dash_sh_STAGE_r15]
END
DECLARE @SQLString1 NVARCHAR(MAX)DECLARE @SQLString2 NVARCHAR(MAX)
SET @SQLString1 = (SELECT MIN([Change ID]) AS [text()] FROM stdb.dbo.tbl_PRMIT402_cm_dash_r15 FOR XML PATH(''));SET @SQLString2 = (SELECT MAX([Change ID]) AS [text()] FROM stdb.dbo.tbl_PRMIT402_cm_dash_r15 FOR XML PATH(''));
DECLARE @SqlCommand NVARCHAR(MAX) = N'SELECT * INTO [STDB].[DBO].[tbl_PRMIT402_cm_dash_sh_STAGE_r15]FROM OPENQUERY(PRMIT402, ''SELECT CHANGE_ID, APPROVED_TIME, APPROVED_USER, CLOSED_TIME, CLOSED_USERFROM ARADMIN.SH_1_CHANGE_CONTROL WHERE CHANGE_ID >= ( ' + @SQLString1 + ' ) AND CHANGE_ID <= ( ' + @SQLString2 + ' ) '');';
PRINT @SqlCommand
EXEC sp_ExecuteSQL @SqlCommand;
ENDGO
--************************************************
--STEP 3--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =================================================-- Author: Bill Jones-- Create date: 4/21/2015
-- Description: Removes the records we do not want -- =================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_3_SCRUB]
ASBEGIN
SET NOCOUNT ON;
DELETE FROM [STDB].[dbo].[tbl_PRMIT402_cm_dash_STAGE_r15] WHERE ([CHANGE_TYPE] = 4) OR
([COMPLETE_STATUS] = 4) OR ([COMPLETE_STATUS] = 5) OR ([TIER_REPORTING] = 'Non-Prod')
DELETE FROM [STDB].[dbo].[tbl_PRMIT402_cm_dash_sh_STAGE_r15]WHERE [CHANGE_ID] NOT IN (SELECT [CHANGE_ID]
FROM [STDB].[dbo].[tbl_PRMIT402_cm_dash_STAGE_r15])ENDGO
--************************************************
--STEP 4--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- ==================================================================-- Author: Bill Jones-- Create date: 4/21/2015-- Description: Converts to excel time, etc. and updates field names-- ==================================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_4_CONVERT]
ASBEGIN
SET NOCOUNT ON;
TRUNCATE TABLE [STDB].[dbo].[tbl_PRMIT402_cm_dash_r15]
INSERT INTO [STDB].[dbo].[tbl_PRMIT402_cm_dash_r15] ([Actual Finish]
,[Actual Start],[Application],[Change ID],[Change Title],[Change Type],[CM Process Execution],[Complete Status],[Normal Classification],[Operational Approver],[Operational Director],[Operational Owner],[Planned Finish],[Planned Start],[Portfolio],[Preapproval Status],[Requestor Login],[Status],[Reporting Group],[Unsuccessful Reason],[Planned Start Short])
SELECT dbo.Unix2Excel2([ACTUAL_FINISH]) AS [Actual Finish],dbo.Unix2Excel2([ACTUAL_START]) AS [Actual Start],[APPLICATION] AS [Application],[CHANGE_ID] AS [Change ID],[CHANGE_TITLE] AS [Change Title],CASE [CHANGE_TYPE]
WHEN 0 THEN 'Urgent' WHEN 1 THEN 'Standard' WHEN 2 THEN 'Normal' WHEN 3 THEN 'Emergency' WHEN 4 THEN 'No Impact' ELSE NULL END AS [Change Type]
,[CM_PROCESS_EXECUTION] AS [CM Process Execution],CASE [COMPLETE_STATUS]
WHEN 0 THEN 'Successful' WHEN 1 THEN 'With Process Issues'
WHEN 2 THEN 'With System Issues' WHEN 3 THEN 'Backed Out' WHEN 4 THEN 'Withdrawn'WHEN 5 THEN 'Obsolete' WHEN 6 THEN 'TBD' WHEN 7 THEN 'Incident' ELSE NULL END AS [Complete Status]
,[NORMAL_CLASSIFICATION] AS [Normal Classification],[OPERATIONAL_DIR_LAST_NAME] AS [Operational Approver],[OPERATIONAL_DIR_LAST_NAME2] AS [Operational Director],[OPERATIONAL_OWNER_LAST_NAME] AS [Operational Owner],dbo.Unix2Excel2([PLANNED_FINISH]) AS [Planned Finish],dbo.Unix2Excel2(PLANNED_START) AS [Planned Start],[PORTFOLIO] AS [Portfolio],[PREAPPROVAL_STATUS] AS [Preapproval Status],[REQUESTOR_LOGIN] AS [Requestor Login],CASE [STATUS]
WHEN 0 THEN 'Ready' WHEN 1 THEN 'Deferred' WHEN 2 THEN 'Pending' WHEN 3 THEN 'Approved' WHEN 4 THEN 'Closed' ELSE NULL END AS [Status]
,CASE [TIER_REPORTING] WHEN 'App Support/RTL, Web, & Care' THEN 'App Support/Retail and Care' ELSE [TIER_REPORTING] END AS [Reporting Group]
,[UNSUCCESSFUL_REASON] AS [Unsuccessful Reason],(SELECT CASE
WHEN CONVERT(VARCHAR, MONTH(DATEADD(dd,-2,CONVERT(DATETIME, dbo.Unix2Excel2([Planned_Start]))))) < 10THEN CONVERT(VARCHAR, YEAR(DATEADD(dd,-2,CONVERT(DATETIME, dbo.Unix2Excel2([Planned_Start]))))) + '_0' +
CONVERT(VARCHAR, MONTH(DATEADD(dd,-2,CONVERT(DATETIME, dbo.Unix2Excel2([Planned_Start])))))ELSE CONVERT(VARCHAR, YEAR(DATEADD(dd,-2,CONVERT(DATETIME, dbo.Unix2Excel2([Planned_Start]))))) + '_' +
CONVERT(VARCHAR, MONTH(DATEADD(dd,-2,CONVERT(DATETIME, dbo.Unix2Excel2([Planned_Start])))))END) AS Planned_Start_Short
FROM [dbo].[tbl_PRMIT402_cm_dash_STAGE_r15]
ENDGO
--************************************************
--STEP 5--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- ==================================================================-- Author: Bill Jones-- Create date: 4/21/2015-- Description: Converts to excel time, etc. and updates field names-- ==================================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_5_CONVERT_SH]ASBEGIN
SET NOCOUNT ON;
TRUNCATE TABLE [STDB].[dbo].[tbl_PRMIT402_cm_dash_sh_r15]
INSERT INTO [dbo].[tbl_PRMIT402_cm_dash_sh_r15]([Change ID],[Approved Time],[Closed Time],[Approved User],[Closed User])
SELECT[CHANGE_ID] AS [Change ID],dbo.Unix2Excel2([APPROVED_TIME]) AS [Approved Time],dbo.Unix2Excel2([CLOSED_TIME]) AS [Closed Time],[APPROVED_USER] AS [Approved User],[CLOSED_USER] AS [Closed User]
FROM [dbo].[tbl_PRMIT402_cm_dash_sh_STAGE_r15]
ENDGO
--************************************************
--STEP 6--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =================================================-- Author: Bill Jones-- Create date: 2/13/2015-- Description: Changes 0's to NULL -- =================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_6_NULL]
ASBEGIN
SET NOCOUNT ON;
UPDATE [dbo].[tbl_PRMIT402_cm_dash_r15] SET [Actual Start] = NULL WHERE [Actual Start] = 0
UPDATE [dbo].[tbl_PRMIT402_cm_dash_r15] SET [Actual Finish] = NULL WHERE [Actual Finish] = 0
ENDGO
--************************************************
--STEP 7--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =================================================-- Author: Bill Jones-- Create date: 4/21/2015-- Description: Changes 0's to NULL -- =================================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_7_NULL_SH]
ASBEGIN
SET NOCOUNT ON;
UPDATE [dbo].[tbl_PRMIT402_cm_dash_sh_r15] SET [Approved Time] = NULL WHERE [Approved Time] = 0
UPDATE [dbo].[tbl_PRMIT402_cm_dash_sh_r15] SET [Closed Time] = NULL WHERE [Closed Time] = 0
ENDGO
--************************************************
--STEP 8--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =============================================-- Author: Bill Jones-- Create date: 4/22/2015
-- Description: Add the month of data to the STAGE table-- =============================================CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_8_TABLE]ASBEGIN
TRUNCATE TABLE [STDB].[dbo].[tbl_cm_dash_R15_STAGE]INSERT INTO [STDB].[dbo].[tbl_cm_dash_R15_STAGE]
([Actual Finish] ,[Actual Start] ,[Application] ,[Change ID] ,[Change Title] ,[Change Type] ,[CM Process Execution] ,[Complete Status] ,[Normal Classification] ,[Operational Approver] ,[Operational Director] ,[Operational Owner] ,[Planned Finish] ,[Planned Start] ,[Portfolio] ,[Preapproval Status] ,[Requestor Login] ,[Status] ,[Reporting Group] ,[Unsuccessful Reason] ,[Approved Time] ,[Closed Time] ,[Approved User] ,[Closed User] ,[Domain] ,[Org] ,[Group] ,[Team] ,[Successful] ,[Successful Value] ,[Not Successful Value] ,[Withdrawn Value] ,[Type_12_Hr] ,[Type_1_Day] ,[Type_2_Day] ,[Type_Not_Early] ,[Type_Not_Late] ,[Type_AA_Planned] ,[Type_AA_Urgent]
,[Type_AA_Emergency] ,[Planned Start Short])
SELECT dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish], dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start], dbo.tbl_PRMIT402_cm_dash_r15.Application, dbo.tbl_PRMIT402_cm_dash_r15.[Change ID], dbo.tbl_PRMIT402_cm_dash_r15.[Change Title], dbo.tbl_PRMIT402_cm_dash_r15.[Change Type], dbo.tbl_PRMIT402_cm_dash_r15.[CM Process Execution], dbo.tbl_PRMIT402_cm_dash_r15.[Complete Status], dbo.tbl_PRMIT402_cm_dash_r15.[Normal Classification], dbo.tbl_PRMIT402_cm_dash_r15.[Operational Approver], dbo.tbl_PRMIT402_cm_dash_r15.[Operational Director], dbo.tbl_PRMIT402_cm_dash_r15.[Operational Owner], dbo.tbl_PRMIT402_cm_dash_r15.[Planned Finish], dbo.tbl_PRMIT402_cm_dash_r15.[Planned Start], dbo.tbl_PRMIT402_cm_dash_r15.Portfolio, dbo.tbl_PRMIT402_cm_dash_r15.[Preapproval Status], dbo.tbl_PRMIT402_cm_dash_r15.[Requestor Login], dbo.tbl_PRMIT402_cm_dash_r15.Status, dbo.tbl_PRMIT402_cm_dash_r15.[Reporting Group], dbo.tbl_PRMIT402_cm_dash_r15.[Unsuccessful Reason], dbo.tbl_PRMIT402_cm_dash_sh_r15.[Approved Time], dbo.tbl_PRMIT402_cm_dash_sh_r15.[Closed Time], dbo.tbl_PRMIT402_cm_dash_sh_r15.[Approved User], dbo.tbl_PRMIT402_cm_dash_sh_r15.[Closed User], dbo.tbl_reporting_group.Domain, dbo.tbl_reporting_group.Org, dbo.tbl_reporting_group.[Group], dbo.tbl_reporting_group.Team, dbo.tbl_complete_status.Successful, dbo.tbl_complete_status.[Successful Value], dbo.tbl_complete_status.[Not Successful Value], dbo.tbl_complete_status.[Withdrawn Value], iif(ISNULL(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish], 1) = 1, iif(GetDate() > dateadd(day, - 2,
dbo.tbl_PRMIT402_cm_dash_r15.[Planned Finish] + 0.5), 0, 1), iif(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish] + 0.5 > [Closed Time], 1, 0)) AS Type_12_Hr,
iif(ISNULL(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish], 1) = 1, iif(GetDate() > dateadd(day, - 2, dbo.tbl_PRMIT402_cm_dash_r15.[Planned Finish] + 1), 0, 1), iif(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish] + 1 > [Closed Time], 1, 0)) AS Type_1_Day,
iif(ISNULL(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish], 2) = 2, iif(GetDate() > dateadd(day, - 2, dbo.tbl_PRMIT402_cm_dash_r15.[Planned Finish] + 2), 0, 1), iif(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish] + 2 > [Closed Time], 1, 0)) AS Type_2_Day,
iif((ISNULL(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start], 1) = 1) OR (dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start] >= dbo.tbl_PRMIT402_cm_dash_r15.[Planned Start]), 1, 0) AS Type_Not_Early,
iif(ISNULL(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish], 1) = 1, iif(GetDate() <= dateadd(day, - 2, dbo.tbl_PRMIT402_cm_dash_r15.[Planned Finish]), 1, 0), iif(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish] <= dbo.tbl_PRMIT402_cm_dash_r15.[Planned Finish], 1, 0)) AS Type_Not_Late,
iif((dbo.tbl_PRMIT402_cm_dash_r15.[Change Type] = 'Urgent') OR (dbo.tbl_PRMIT402_cm_dash_r15.[Change Type] = 'Emergency'), 2, iif(ISNULL(dbo.tbl_PRMIT402_cm_dash_sh_r15.[Approved Time], 1) = 1, 0, iif(ISNULL(dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start], 1) = 1, iif(dbo.tbl_PRMIT402_cm_dash_sh_r15.[Approved Time] > dbo.tbl_PRMIT402_cm_dash_r15.[Planned Start], 0, 1), iif(dbo.tbl_PRMIT402_cm_dash_sh_r15.[Approved Time] < dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start], 1, 0)))) AS Type_AA_Planned,
iif(dbo.tbl_PRMIT402_cm_dash_r15.[Change Type] = 'Urgent', iif(CHARINDEX('DWA', dbo.tbl_PRMIT402_cm_dash_r15.[CM Process Execution]) > 0, 0, 1), 2) AS Type_AA_Urgent,
iif(dbo.tbl_PRMIT402_cm_dash_r15.[Change Type] = 'Emergency', iif(CHARINDEX('DWA', dbo.tbl_PRMIT402_cm_dash_r15.[CM Process Execution]) > 0, 0, 1), 2) AS Type_AA_Emergency,
dbo.tbl_PRMIT402_cm_dash_r15.[Planned Start Short]FROM STDB.dbo.tbl_PRMIT402_cm_dash_r15 LEFT OUTER JOIN
STDB.dbo.tbl_complete_status ON dbo.tbl_PRMIT402_cm_dash_r15.[Complete Status] = dbo.tbl_complete_status.[Complete Status] LEFT OUTER JOIN
STDB.dbo.tbl_reporting_group ON dbo.tbl_PRMIT402_cm_dash_r15.[Reporting Group] = dbo.tbl_reporting_group.[Reporting Group] LEFT OUTER JOIN
STDB.dbo.tbl_PRMIT402_cm_dash_sh_r15 ON dbo.tbl_PRMIT402_cm_dash_r15.[Change ID] = dbo.tbl_PRMIT402_cm_dash_sh_r15.[Change ID]
WHERE dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start] > 0 AND dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish] > 0 AND dbo.tbl_PRMIT402_cm_dash_sh_r15.[Closed Time] > 0
END
GO
--************************************************
--STEP 8b--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =============================================
-- Author: Bill Jones-- Create date: 5/5/2015-- Description: Adds the count of open RFCs to the open RFC table-- =============================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_8b_OPEN]ASBEGIN
SET NOCOUNT ON;
DECLARE @PSS_1 VARCHAR(7), @PSS_2 VARCHAR(7), @PSS_0 VARCHAR(7),
@MONTH INT,@YEAR INT
SET @MONTH = (SELECT MONTH(DATEADD(M, -1, GETDATE())))SET @YEAR = (SELECT YEAR(DATEADD(M, -1, GETDATE())))
IF @MONTH > 9BEGIN
SET @PSS_0 = CAST(@YEAR AS VARCHAR(4)) + '_' + CAST(@MONTH AS VARCHAR(2)) PRINT @PSS_0
ENDELSE
BEGINSET @PSS_0 = CAST(@YEAR AS VARCHAR(4)) + '_0' + CAST(@MONTH AS VARCHAR(1)) PRINT @PSS_0
END
SET @PSS_1 = (SELECT MAX([Planned Start Short]) AS 'Planned Start Short'FROM [STDB].[dbo].[tbl_PRMIT402_cm_dash_r15])
SET @PSS_2 = (SELECT MAX([Planned Start Short]) AS 'Planned Start Short'FROM [STDB].[dbo].[tbl_cm_dash_R15_OpenRFCs])
IF @PSS_0 = @PSS_2 AND @PSS_1 = @PSS_2BEGIN
DELETE FROM [STDB].[dbo].[tbl_cm_dash_R15_OpenRFCs] WHERE [Planned Start Short] = @PSS_0END
ELSEBEGIN
PRINT 'NO MATCH, RUN ADD OPENRFC CODE'END
INSERT INTO [STDB].[dbo].[tbl_cm_dash_R15_OpenRFCs]
([Open_RFCs],[Planned Start Short],[Domain],[Org],[Group],[Team])
SELECT COUNT(*) AS Open_RFCs, MAX([Planned Start Short]) AS 'Planned Start Short', [Domain], [Org], [Group], [Team]FROM STDB.dbo.tbl_PRMIT402_cm_dash_r15
LEFT OUTER JOIN STDB.dbo.tbl_PRMIT402_cm_dash_sh_r15 ON dbo.tbl_PRMIT402_cm_dash_r15.[Change ID] = dbo.tbl_PRMIT402_cm_dash_sh_r15.[Change ID]
LEFT OUTER JOIN STDB.dbo.tbl_reporting_group ON dbo.tbl_PRMIT402_cm_dash_r15.[Reporting Group] = dbo.tbl_reporting_group.[Reporting Group]
WHERE (--dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start] = 0 dbo.tbl_PRMIT402_cm_dash_r15.[Actual Start] IS NULL --OR dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish] = 0 OR dbo.tbl_PRMIT402_cm_dash_r15.[Actual Finish] IS NULL --OR dbo.tbl_PRMIT402_cm_dash_sh_r15.[Closed Time] = 0 OR dbo.tbl_PRMIT402_cm_dash_sh_r15.[Closed Time] IS NULL)AND ([Domain]='EIT Domain' OR [Domain]='Non-EIT Domain')
GROUP BY [Domain], [Org], [Group], [Team]ENDGO
--************************************************
--STEP 9--************************************************
USE [STDB]GO
SET ANSI_NULLS ONGO
SET QUOTED_IDENTIFIER ONGO
-- =============================================-- Author: Bill Jones-- Create date: 4/22/2015-- Description: If the values pass test of no dupe then add -- =============================================
CREATE PROCEDURE [dbo].[usp_CM_DASH_R15_9_ADD]
ASBEGIN
SET NOCOUNT ON;
DECLARE @PSS_1 VARCHAR(7), @PSS_2 VARCHAR(7), @PSS_0 VARCHAR(7),
@MONTH INT,@YEAR INT
SET @MONTH = (SELECT MONTH(DATEADD(M, -1, GETDATE())))SET @YEAR = (SELECT YEAR(DATEADD(M, -1, GETDATE())))
IF @MONTH > 9BEGIN
SET @PSS_0 = CAST(@YEAR AS VARCHAR(4)) + '_' + CAST(@MONTH AS VARCHAR(2)) PRINT @PSS_0
ENDELSE
BEGINSET @PSS_0 = CAST(@YEAR AS VARCHAR(4)) + '_0' + CAST(@MONTH AS VARCHAR(1)) PRINT @PSS_0
END
SET @PSS_1 = (SELECT MAX([Planned Start Short]) AS 'Planned Start Short'FROM [STDB].[dbo].[tbl_cm_dash_R15_STAGE])
SET @PSS_2 = (SELECT MAX([Planned Start Short]) AS 'Planned Start Short'FROM [STDB].[dbo].[tbl_cm_dash_R15])
--if last month is already in both tables then delete the records and pull in the new dataIF @PSS_0 = @PSS_2 AND @PSS_1 = @PSS_2
BEGINDELETE FROM [STDB].[dbo].[tbl_cm_dash_R15] WHERE [Planned Start Short] = @PSS_2
ENDELSE
BEGINPRINT 'No Records to delete, proceed with insert.'
END
INSERT INTO [STDB].[dbo].[tbl_cm_dash_R15]([Actual Finish],[Actual Start],[Application],[Change ID],[Change Title]
,[Change Type],[CM Process Execution],[Complete Status],[Normal Classification],[Operational Approver],[Operational Director],[Operational Owner],[Planned Finish],[Planned Start],[Portfolio],[Preapproval Status],[Requestor Login],[Status],[Reporting Group],[Unsuccessful Reason],[Approved Time],[Closed Time],[Approved User],[Closed User],[Domain],[Org],[Group],[Team],[Successful],[Successful Value],[Not Successful Value],[Withdrawn Value],[Type_12_Hr],[Type_1_Day],[Type_2_Day],[Type_Not_Early],[Type_Not_Late],[Type_AA_Planned],[Type_AA_Urgent],[Type_AA_Emergency],[Planned Start Short])
SELECT[Actual Finish],[Actual Start],[Application],[Change ID],[Change Title],[Change Type],[CM Process Execution],[Complete Status],[Normal Classification]
,[Operational Approver],[Operational Director],[Operational Owner],[Planned Finish],[Planned Start],[Portfolio],[Preapproval Status],[Requestor Login],[Status],[Reporting Group],[Unsuccessful Reason],[Approved Time],[Closed Time],[Approved User],[Closed User],[Domain],[Org],[Group],[Team],[Successful],[Successful Value],[Not Successful Value],[Withdrawn Value],[Type_12_Hr],[Type_1_Day],[Type_2_Day],[Type_Not_Early],[Type_Not_Late],[Type_AA_Planned],[Type_AA_Urgent],[Type_AA_Emergency],[Planned Start Short]
FROM [STDB].[dbo].[tbl_cm_dash_R15_STAGE]
ENDGO