UFN_FAFGROUP_GETPARTICIPANTRETENTIONRATE
Return
Return Type |
---|
table |
Definition
Copy
create function dbo.UFN_FAFGROUP_GETPARTICIPANTRETENTIONRATE()
returns table
as return (
select
A.ParentID as GROUPID,
A.EventID as EVENTID,
TX.TYPECODE,
A.ParentTeamConstituentID as CONSTITUENTID,
count(pTF.ID) as TOTALPARTICIPANTSRETAINED,
FGSI.TOTALPARTICIPANTS as TOTALPARTICIPANTSPREVIOUS,
cast(convert(decimal(5,2),COUNT(pTF.ID)) / convert(decimal(5,2),FGSI.TOTALPARTICIPANTS) as decimal(5,2)) as [PARTICIPANTRETENTIONRATE]
from dbo.UFN_FAFGROUP_GETALLGROUPS () A
join EVENTEXTENSION EX (nolock) on A.EventID = EX.EVENTID
join dbo.TEAMEXTENSION TX (nolock) on TX.TEAMFUNDRAISINGTEAMID = A.ParentID
left join dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM (nolock) on TFTM.TEAMFUNDRAISINGTEAMID = A.TeamID
left join dbo.TEAMFUNDRAISER TF (nolock) on TF.ID = TFTM.TEAMFUNDRAISERID
left join dbo.UFN_FAFGROUP_GETALLGROUPS() A1 on A1.ConstituentID = A.ConstituentID and A1.ParentTeamConstituentID = A.ParentTeamConstituentID and A1.EventID = EX.PRIORYEAREVENTID
left join dbo.TEAMFUNDRAISINGTEAMMEMBER pTFTM (nolock) on pTFTM.TEAMFUNDRAISINGTEAMID = A.TeamID
left join dbo.TEAMFUNDRAISER pTF (nolock) on pTF.ID = TFTM.TEAMFUNDRAISERID and pTF.CONSTITUENTID = TF.CONSTITUENTID
left join dbo.FAFGROUPSUMMARYINFORMATION FGSI (nolock) on FGSI.ID = A1.ParentID
where A1.ParentID is not null
group by A.ParentID, A.EventID, FGSI.TOTALPARTICIPANTS, TX.TYPECODE, A.ParentTeamConstituentID
)