UFN_FUNDRAISINGGROUP_DONORRETAINEDNUMBER

Calculate group percentage of donors retained.

Return

Return Type
int

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


create function dbo.UFN_FUNDRAISINGGROUP_DONORRETAINEDNUMBER
(
    @ID uniqueidentifier
)
returns int
with execute as caller
as begin
    return
    (
      select case when count(RC.ID)=0 then 0 else cast(COUNT(A.RID) as decimal)/cast(COUNT(RC.ID) as decimal) end
        from dbo.UFN_FAF_GETTEAMHIEARACHY(@ID) T
        inner join TEAMEXTENSION TE ON TE.TEAMFUNDRAISINGTEAMID=T.teamID
        inner join dbo.EVENTEXTENSION ET ON ET.EVENTID=TE.EVENTID
        left join dbo.REVENUERECOGNITION RC ON RC.CONSTITUENTID=TE.TEAMCONSTITUENTID
        left join (
            select TE1.TEAMCONSTITUENTID
            , TE1.EventID
            ,RC1.ID RID 
            from dbo.UFN_FAF_GETTEAMHIEARACHY(@ID) T1
            inner join TEAMEXTENSION TE1 ON TE1.TEAMFUNDRAISINGTEAMID=T1.teamID
            inner join dbo.REVENUERECOGNITION RC1 ON RC1.CONSTITUENTID=TE1.TEAMCONSTITUENTID
        ) A ON A.TEAMCONSTITUENTID=TE.TEAMCONSTITUENTID and A.EVENTID=ET.PRIORYEAREVENTID
   )
end