UFN_FAF_GROUPTOTALSROLLUP
Given a group id, returns certain totals of this group, based on fafraisedtotal table.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@TEAMFUNDRAISINGTEAMID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_FAF_GROUPTOTALSROLLUP(
@EVENTID uniqueidentifier,
@TEAMFUNDRAISINGTEAMID uniqueidentifier
)
returns table
as return
--with GroupHierarchy_CTE as --gets all groups under this group
--(
-- select TeamID
-- from UFN_FAF_GETTEAMHIEARACHY(@TEAMFUNDRAISINGTEAMID)
--),
--MembersAndDirects_CTE as
--(
-- -- members
-- select TFR.CONSTITUENTID as CONSTITUENTID, 1 as MEMBERCOUNT
-- from GroupHierarchy_CTE H
-- inner join dbo.TEAMFUNDRAISINGTEAMMEMBER TM (nolock) on TM.TEAMFUNDRAISINGTEAMID = H.TeamID
-- inner join dbo.TEAMFUNDRAISER TFR (nolock) ON TFR.ID = TM.TEAMFUNDRAISERID
--
-- union all
--
-- -- directs
-- select TE.TEAMCONSTITUENTID as CONSTITUENTID, 0 as MEMBERCOUNT
-- from GroupHierarchy_CTE H
-- inner join dbo.TEAMEXTENSION TE (nolock) on TE.TEAMFUNDRAISINGTEAMID = H.TeamID
--)
--select
-- isnull(sum(PRT.AMOUNTRAISED), 0) as AMOUNTRAISED,
-- isnull(sum(PRT.DONORCOUNT), 0) as DONORCOUNT, -- DONORCOUNT is kind of a compromise in that it's distinct donor count at participant levelt, but not at any group level (sum rollup instead)
-- isnull(sum(MAD.MEMBERCOUNT), 0) as MEMBERCOUNT,
-- isnull(sum(PRT.GIFTCOUNT), 0) as GIFTCOUNT
--from MembersAndDirects_CTE MAD -- yes i am
--left join dbo.UFN_REVENUE_GETPARTICIPANTRAISEDTOTAL_2(@EVENTID) PRT on PRT.CONSTITUENTID = MAD.CONSTITUENTID
-- Update the logic to use the group roll up data in table FAFGROUPSUMMARYINFORMATION which generated by business process directly
select
isnull(GS.TOTALFUNDRAISE, 0) as AMOUNTRAISED,
isnull(GS.TOTALDONORCOUNT, 0) as DONORCOUNT,
isnull(GS.TOTALPARTICIPANTS, 0) as MEMBERCOUNT,
isnull(GS.TOTALGIFTCOUNT, 0) as GIFTCOUNT
from dbo.FAFGROUPSUMMARYINFORMATION GS (nolock)
where GS.EVENTID=@EVENTID and GS.ID=@TEAMFUNDRAISINGTEAMID