USP_REPORT_FEPBENCHMARKINGCOMPARISON_GETORGSDATA
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@YEAR | UDT_YEAR | IN | |
@SITEID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_REPORT_FEPBENCHMARKINGCOMPARISON_GETORGSDATA
(
@YEAR dbo.UDT_YEAR,
@SITEID uniqueidentifier = null
)
with execute as owner
as
declare @TYPE tinyint = 0; -- Include both organizations and individuals
declare @PERIOD1STARTDATE datetime = '01/01/' + cast(@YEAR - 1 as nvarchar(10));
declare @PERIOD1ENDDATE datetime = '12/31/' + cast(@YEAR - 1 as nvarchar(10));
declare @PERIOD2STARTDATE datetime = '01/01/' + cast(@YEAR as nvarchar(10));
declare @PERIOD2ENDDATE datetime = '12/31/' + cast(@YEAR as nvarchar(10));
declare @TEMP table (SEQUENCE integer, CATEGORY nvarchar(50), NUMDONORS_PERIOD1 integer, AMOUNT_PERIOD1 money, NUMDONORS_PERIOD2 integer, AMOUNT_PERIOD2 money)
insert into @TEMP (SEQUENCE, CATEGORY, NUMDONORS_PERIOD1, AMOUNT_PERIOD1, NUMDONORS_PERIOD2, AMOUNT_PERIOD2)
select
SEQUENCE,
CATEGORY,
PERIOD1NUMDONORS,
PERIOD1AMOUNT,
PERIOD2NUMDONORS,
PERIOD2AMOUNT
from dbo.UFN_FEPSUBMITPROCESS_GETDATA(@TYPE, @PERIOD1STARTDATE, @PERIOD1ENDDATE, @PERIOD2STARTDATE, @PERIOD2ENDDATE, @SITEID);
declare @NUMDONORS_NEW integer = 0;
declare @AMOUNT_NEW money = 0;
declare @NUMDONORS_RECAPTURED integer = 0;
declare @AMOUNT_RECAPTURED money = 0;
declare @NUMDONORS_UPGRADED integer = 0;
declare @AMOUNT_UPGRADED money = 0;
declare @NUMDONORS_SAME integer = 0;
declare @AMOUNT_SAME money = 0;
declare @NUMDONORS_DOWNGRADED integer = 0;
declare @AMOUNT_DOWNGRADED money = 0;
declare @NUMDONORS_LAPSEDNEW integer = 0;
declare @AMOUNT_LAPSEDNEW money = 0;
declare @NUMDONORS_LAPSEDOTHER integer = 0;
declare @AMOUNT_LAPSEDOTHER money = 0;
select
@NUMDONORS_NEW = NUMDONORS_PERIOD2,
@AMOUNT_NEW = AMOUNT_PERIOD2
from @TEMP
where CATEGORY = 'New';
select
@NUMDONORS_RECAPTURED = NUMDONORS_PERIOD2,
@AMOUNT_RECAPTURED = AMOUNT_PERIOD2
from @TEMP
where CATEGORY = 'Recapture';
select
@NUMDONORS_UPGRADED = NUMDONORS_PERIOD2,
@AMOUNT_UPGRADED = AMOUNT_PERIOD2 - AMOUNT_PERIOD1
from @TEMP
where CATEGORY = 'Upgrade';
select
@NUMDONORS_SAME = NUMDONORS_PERIOD2,
@AMOUNT_SAME = AMOUNT_PERIOD2
from @TEMP
where CATEGORY = 'Same';
select
@NUMDONORS_DOWNGRADED = NUMDONORS_PERIOD2,
@AMOUNT_DOWNGRADED = AMOUNT_PERIOD1 - AMOUNT_PERIOD2
from @TEMP
where CATEGORY = 'Downgrade';
select
@NUMDONORS_LAPSEDNEW = NUMDONORS_PERIOD1,
@AMOUNT_LAPSEDNEW = AMOUNT_PERIOD1
from @TEMP
where CATEGORY = 'Lapsed new';
select
@NUMDONORS_LAPSEDOTHER = NUMDONORS_PERIOD1,
@AMOUNT_LAPSEDOTHER = AMOUNT_PERIOD1
from @TEMP
where CATEGORY = 'Lapsed repeat';
select
@NUMDONORS_NEW as NUMDONORS_NEW,
@AMOUNT_NEW as AMOUNT_NEW,
@NUMDONORS_RECAPTURED as NUMDONORS_RECAPTURED,
@AMOUNT_RECAPTURED as AMOUNT_RECAPTURED,
@NUMDONORS_UPGRADED as NUMDONORS_UPGRADED,
@AMOUNT_UPGRADED as AMOUNT_UPGRADED,
@NUMDONORS_SAME as NUMDONORS_SAME,
@AMOUNT_SAME as AMOUNT_SAME,
@NUMDONORS_DOWNGRADED as NUMDONORS_DOWNGRADED,
@AMOUNT_DOWNGRADED as AMOUNT_DOWNGRADED,
@NUMDONORS_LAPSEDNEW as NUMDONORS_LAPSEDNEW,
@AMOUNT_LAPSEDNEW as AMOUNT_LAPSEDNEW,
@NUMDONORS_LAPSEDOTHER as NUMDONORS_LAPSEDOTHER,
@AMOUNT_LAPSEDOTHER as AMOUNT_LAPSEDOTHER;