USP_REPORT_FEPBENCHMARKINGCOMPARISON_GETFEPDATA
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@YEAR | UDT_YEAR | IN | |
@SUBSECTORCODE | tinyint | IN |
Definition
Copy
create procedure dbo.USP_REPORT_FEPBENCHMARKINGCOMPARISON_GETFEPDATA
(
@YEAR dbo.UDT_YEAR,
@SUBSECTORCODE tinyint
)
as
declare @NUMRECORDS as integer;
declare @ALPHABET as nvarchar(26) = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
select
@NUMRECORDS = count(*)
from dbo.FEPDATA
where SURVEYYEAR = @YEAR
and (
@SUBSECTORCODE = 0
or (SUBSECTOR = substring(@ALPHABET, @SUBSECTORCODE, 1))
);
if @NUMRECORDS > 0
select
sum(coalesce(NUMBER_NEW_2, 0)) / @NUMRECORDS as NUMDONORS_NEW,
sum(coalesce(AMOUNT_NEW_2, 0)) / @NUMRECORDS as AMOUNT_NEW,
sum(coalesce(NUMBER_RECAPTURED_2, 0)) / @NUMRECORDS as NUMDONORS_RECAPTURED,
sum(coalesce(AMOUNT_RECAPTURED_2, 0)) / @NUMRECORDS as AMOUNT_RECAPTURED,
sum(coalesce(NUMBER_UPGRADED_2, 0)) / @NUMRECORDS as NUMDONORS_UPGRADED,
sum(coalesce(AMOUNT_UPGRADED_2, 0) - coalesce(AMOUNT_UPGRADED_1, 0)) / @NUMRECORDS as AMOUNT_UPGRADED,
sum(coalesce(NUMBER_SAME_2, 0)) / @NUMRECORDS as NUMDONORS_SAME,
sum(coalesce(AMOUNT_SAME_2, 0)) / @NUMRECORDS as AMOUNT_SAME,
sum(coalesce(NUMBER_DOWNGRADED_2, 0)) / @NUMRECORDS as NUMDONORS_DOWNGRADED,
sum(coalesce(AMOUNT_DOWNGRADED_1, 0) - coalesce(AMOUNT_DOWNGRADED_2, 0)) / @NUMRECORDS as AMOUNT_DOWNGRADED,
sum(coalesce(NUMBER_LAPSED_NEW_1, 0)) / @NUMRECORDS as NUMDONORS_LAPSEDNEW,
sum(coalesce(AMOUNT_LAPSED_NEW_1, 0)) / @NUMRECORDS as AMOUNT_LAPSEDNEW,
sum(coalesce(NUMBER_LAPSED_OTHER_1, 0)) / @NUMRECORDS as NUMDONORS_LAPSEDOTHER,
sum(coalesce(AMOUNT_LAPSED_OTHER_1, 0)) / @NUMRECORDS as AMOUNT_LAPSEDOTHER
from dbo.FEPDATA
where SURVEYYEAR = @YEAR
and (
@SUBSECTORCODE = 0
or (SUBSECTOR = substring(@ALPHABET, @SUBSECTORCODE, 1))
);