V_QUERY_EVENTTOTALS
Query view used for event totals.
Fields
Field | Field Type | Null | Description |
---|---|---|---|
ID | uniqueidentifier | System record ID | |
TOTALAMOUNTRAISED | money | yes | Total amount raised |
TOTALAVERAGERAISEDPERMONTH | money | yes | Average raised per month |
TOTALAVERAGERAISEDPERWEEK | money | yes | Average raised per week |
TOTALAVERAGERAISEDPERDAY | money | yes | Average raised per day |
TEAMNUMBER | int | Number of teams | |
COMPANYNUMBER | int | Number of companies | |
HOUSEHOLDNUMBER | int | Number of households | |
TEAMNEWNUMBER | int | Number of new teams | |
COMPANYNEWNUMBER | int | Number of new companies | |
HOUSEHOLDNEWNUMBER | int | Number of new households | |
TEAMRETAINEDNUMBER | int | Number of retained teams | |
COMPANYRETAINEDNUMBER | int | Number of retained companies | |
HOUSEHOLDRETAINEDNUMBER | int | Number of retained households | |
PARTICIPANTNUMBER | int | Number of independent participants | |
PARTICIPANTRETAINEDNUMBER | int | Number of retained independent participants | |
PARTICIPANTNEWNUMBER | int | Number of new independent participants | |
SPONSORNUMBER | int | Number of sponsors | |
SPONSORRETAINEDNUMBER | int | Number of retained sponsors | |
SPONSORNEWNUMBER | int | Number of new sponsors | |
DONORNUMBER | int | Number of donors | |
DONORRETAINEDNUMBER | int | Number of retained donors | |
DONORNEWNUMBER | int | Number of new donors | |
TOTALCOMMUNICATION | int | yes | Number of communications sent |
TOTALCOMMUNICATIONAVERAGEMONTH | int | yes | Average monthly communications sent |
TOTALCOMMUNICATIONAVERAGEWEEK | int | yes | Average weekly communications sent |
TOTALCOMMUNICATIONAVERAGEDAY | int | yes | Average daily communications sent |
SPONSORCOMMUNICATIONSNUMBER | int | Communications sent by sponsors | |
COMPANYCOMMUNICATIONSNUMBER | int | Communications sent by companies | |
TEAMCOMMUNICATIONSNUMBER | int | Communications sent by teams | |
HOUSEHOLDCOMMUNICATIONSNUMBER | int | Communications sent by households | |
PARTICIPANTCOMMUNICATIONSNUMBER | int | Communications sent by participants | |
SponsorRevenue | money | Total sponsorship revenue | |
SponsorRevenueRetained | money | Sponsor revenue retained | |
PercSponsorRevenueRetained | money | yes | Percentage of sponsor revenue retained |
DonorRevenue | money | Total Donation revenue | |
DonorRevenueRetained | money | Donation revenue retained | |
PercDonorRevenueRetained | money | yes | Percentage of donation revenue retained |
RegistrantRevenue | money | Total registration revenue | |
RegistrantRevenueRetained | money | Registration revenue retained | |
PercRegistrantRevenueRetained | money | yes | Percentage of revenue retained |
ADDEDBY_APPLICATION | nvarchar(200) | yes | Added by application |
ADDEDBY_USERNAME | nvarchar(128) | yes | Added by user name |
CHANGEDBY_APPLICATION | nvarchar(200) | yes | Changed by application |
CHANGEDBY_USERNAME | nvarchar(128) | yes | Changed by user name |
DATEADDED | datetime | Date added | |
DATECHANGED | datetime | Date changed | |
TSLONG | bigint | yes | Timestamp value |
Definition
Copy
/*
Generated by Blackbaud AppFx Platform
Date: 2/1/2011 9:03:38 AM
Assembly Version: Blackbaud.AppFx.Platform.SqlClr, Version=2.9.1001.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_EVENTTOTALS AS
with
[TeamNumber]
AS
(
select TE.EVENTID
,TE.TYPECODE
,count(TFT.id) TEAMNUMBER
,count(AA.teamconstituentID) as TEAMRETAINEDNUMBER
,(count(TFT.id)-count(AA.teamconstituentID)) AS TEAMNEWNUMBER
from dbo.TEAMFUNDRAISINGTEAM TFT
inner join dbo.TEAMEXTENSION TE on TE.TEAMFUNDRAISINGTEAMID = TFT.ID
inner join dbo.EVENTEXTENSION ET on TE.EVENTID = ET.EVENTID
left outer join (
select TE2.EVENTID, TE2.TEAMCONSTITUENTID,TE2.TYPECODE
from dbo.TEAMFUNDRAISINGTEAM TFT2
inner join dbo.TEAMEXTENSION TE2 on TE2.TEAMFUNDRAISINGTEAMID = TFT2.ID
) AA on TE.teamconstituentID = AA.teamconstituentID AND ET.PRIORYEAREVENTID = AA.EVENTID AND AA.TYPECODE=TE.TYPECODE
group by TE.EVENTID,TE.TYPECODE
)
,[PARTICIPANTNUMBER]
as
(
SELECT EV.ID AS EVENTID
,COUNT(RG.ID) as PARTICIPANTNUMBER
,COUNT(AA.CONSTITUENTID) as PARTICIPANTRETAINEDNUMBER
,(COUNT(RG.ID)-COUNT(AA.CONSTITUENTID)) as PARTICIPANTNEWNUMBER
FROM REGISTRANT RG
inner join dbo.CONSTITUENT C ON C.ID=RG.CONSTITUENTID
left join dbo.EVENT EV ON EV.ID=RG.EVENTID
left join dbo.EVENTEXTENSION ET ON ET.EVENTID = RG.EVENTID
left outer join (
SELECT EV2.ID AS EVENTID
,C2.ID as CONSTITUENTID
FROM REGISTRANT RG2
inner join dbo.CONSTITUENT C2 ON C2.ID=RG2.CONSTITUENTID
left join dbo.EVENT EV2 ON EV2.ID=RG2.EVENTID
left join dbo.EVENTEXTENSION ET2 ON ET2.EVENTID = RG2.EVENTID
WHERE C2.ID not in (select TF2.CONSTITUENTID from dbo.TEAMFUNDRAISER TF2 where TF2.APPEALID=EV2.APPEALID)
) AA ON AA.CONSTITUENTID=C.ID AND ET.PRIORYEAREVENTID=AA.EVENTID
WHERE C.ID not in (select TF1.CONSTITUENTID from dbo.TEAMFUNDRAISER TF1 where TF1.APPEALID=EV.APPEALID)
GROUP BY EV.ID
)
,[DONORS]
AS
(
select distinct EV.ID EVENTID
,ET.PRIORYEAREVENTID
,R.CONSTITUENTID
from dbo.REVENUE R
inner join dbo.REVENUESPLIT RS ON R.ID = RS.REVENUEID
inner join dbo.EVENT EV ON EV.APPEALID=R.APPEALID
inner join dbo.EVENTEXTENSION ET ON ET.EVENTID=EV.ID
where (R.TRANSACTIONTYPECODE = 0 and RS.APPLICATIONCODE = 1)
OR (R.TRANSACTIONTYPECODE in (1,2) and RS.APPLICATIONCODE = 0) --pledge or recurring gift
)
,[DONORSNUMBER]
AS
(
select A1.EVENTID
,COUNT(A1.CONSTITUENTID) AS DONORNUMBER
,COUNT(A2.CONSTITUENTID) AS DONORRETAINEDNUMBER
,(COUNT(A1.CONSTITUENTID)-COUNT(A2.CONSTITUENTID)) AS DONORNEWNUMBER
FROM [DONORS] A1
LEFT JOIN [DONORS] A2 ON A1.CONSTITUENTID=A2.CONSTITUENTID AND A1.PRIORYEAREVENTID=A2.EVENTID
GROUP BY A1.EVENTID
)
,[SPONSORSNUMBER]
AS
(
SELECT ET.EVENTID
,COUNT(ES.ID) AS SPONSORNUMBER
, COUNT(AA.SPONSORSHIPID) AS SPONSORRETAINEDNUMBER
,(COUNT(ES.ID)-COUNT(AA.SPONSORSHIPID)) AS SPONSORNEWNUMBER
FROM dbo.EVENTSPONSOR ES
INNER JOIN dbo.EVENTEXTENSION ET ON ET.EVENTID=ES.EVENTID
LEFT JOIN (
SELECT ET2.EVENTID
, ES2.ID AS SPONSORSHIPID
FROM dbo.EVENTSPONSOR ES2
INNER JOIN dbo.EVENTEXTENSION ET2 ON ET2.EVENTID=ES2.EVENTID
) AA ON AA.SPONSORSHIPID=ES.ID AND AA.EVENTID=ET.PRIORYEAREVENTID
GROUP BY ET.EVENTID
)
,[SPONSORCOMMUNICATIONS_CTE]
AS
(
SELECT ET.EVENTID
,sum(dbo.UFN_FAFGETTOTALCOMMUNICATIONS(ET.EVENTID,
dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(ES.CONSTITUENTID))) COMMUNICATIONSNUMBER
FROM dbo.EVENTSPONSOR ES
INNER JOIN dbo.EVENTEXTENSION ET ON ET.EVENTID=ES.EVENTID
group by ET.EVENTID
)
,[PARTICIPANTCOMMUNICATIONS_CTE]
AS
(
select EV.ID EVENTID
,sum(dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EV.ID ,
dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(C.ID))) COMMUNICATIONSNUMBER
FROM REGISTRANT RG
inner join dbo.CONSTITUENT C ON C.ID=RG.CONSTITUENTID
inner join dbo.EVENT EV ON EV.ID=RG.EVENTID
group by EV.ID
)
,[COMPANYCOMMUNICATIONS_CTE]
AS
(
select EVENTID
,sum(dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EVENTID ,
dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(ID))) COMMUNICATIONSNUMBER
from dbo.UFN_FAF_GROUPPARTICIPANTSLIST(NULL,NULL,2)
GROUP BY EVENTID
)
,[TEAMCOMMUNICATIONS_CTE]
AS
(
select EVENTID
,sum(dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EVENTID ,
dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(ID))) COMMUNICATIONSNUMBER
from dbo.UFN_FAF_GROUPPARTICIPANTSLIST(NULL,NULL,1)
GROUP BY EVENTID
)
,[HOUSEHOLDCOMMUNICATIONS_CTE]
AS
(
select EVENTID
,sum(dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EVENTID ,
dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(ID))) COMMUNICATIONSNUMBER
from dbo.UFN_FAF_GROUPPARTICIPANTSLIST(NULL,NULL,3)
GROUP BY EVENTID
)
select EV.ID
,dbo.UFN_REVENUE_GETEVENTTOTAL(EV.ID) TOTALAMOUNTRAISED
,dbo.UFN_REVENUE_GETEVENTTOTAL(EV.ID)/(CASE WHEN DateDiff(month,STARTDATE,ENDDATE)=0 THEN 1 ELSE DateDiff(month,STARTDATE,ENDDATE) END) TOTALAVERAGERAISEDPERMONTH
,dbo.UFN_REVENUE_GETEVENTTOTAL(EV.ID)/(CASE WHEN DateDiff(week,STARTDATE,ENDDATE)=0 THEN 1 ELSE DateDiff(week,STARTDATE,ENDDATE) END) TOTALAVERAGERAISEDPERWEEK
,dbo.UFN_REVENUE_GETEVENTTOTAL(EV.ID)/(CASE WHEN DateDiff(day,STARTDATE,ENDDATE)=0 THEN 1 ELSE DateDiff(day,STARTDATE,ENDDATE) END) TOTALAVERAGERAISEDPERDAY
,isnull(TNT.TEAMNUMBER,0) TEAMNUMBER
,isnull(TNC.TEAMNUMBER,0) COMPANYNUMBER
,isnull(TNH.TEAMNUMBER,0) HOUSEHOLDNUMBER
,isnull(TNT.TEAMNEWNUMBER,0) TEAMNEWNUMBER
,isnull(TNC.TEAMNEWNUMBER,0) COMPANYNEWNUMBER
,isnull(TNH.TEAMNEWNUMBER,0) HOUSEHOLDNEWNUMBER
,isnull(TNT.TEAMRETAINEDNUMBER,0) TEAMRETAINEDNUMBER
,isnull(TNC.TEAMRETAINEDNUMBER,0) COMPANYRETAINEDNUMBER
,isnull(TNH.TEAMRETAINEDNUMBER,0) HOUSEHOLDRETAINEDNUMBER
,isnull(PN.PARTICIPANTNUMBER,0) PARTICIPANTNUMBER
,isnull(PN.PARTICIPANTRETAINEDNUMBER,0) PARTICIPANTRETAINEDNUMBER
,isnull(PN.PARTICIPANTNEWNUMBER,0) PARTICIPANTNEWNUMBER
,isnull(SN.SPONSORNUMBER,0) SPONSORNUMBER
,isnull(SN.SPONSORRETAINEDNUMBER,0) SPONSORRETAINEDNUMBER
,isnull(SN.SPONSORNEWNUMBER,0) SPONSORNEWNUMBER
,isnull(DN.DONORNUMBER,0) DONORNUMBER
,isnull(DN.DONORRETAINEDNUMBER,0) DONORRETAINEDNUMBER
,isnull(DN.DONORNEWNUMBER,0) DONORNEWNUMBER
--Communications
,dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EV.ID, NULL) as TOTALCOMMUNICATION
,dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EV.ID, NULL)/(CASE WHEN DateDiff(month,STARTDATE,ENDDATE)=0 THEN 1 ELSE DateDiff(month,STARTDATE,ENDDATE) END) TOTALCOMMUNICATIONAVERAGEMONTH
,dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EV.ID, NULL)/(CASE WHEN DateDiff(week,STARTDATE,ENDDATE)=0 THEN 1 ELSE DateDiff(week,STARTDATE,ENDDATE) END) TOTALCOMMUNICATIONAVERAGEWEEK
,dbo.UFN_FAFGETTOTALCOMMUNICATIONS(EV.ID, NULL)/(CASE WHEN DateDiff(day,STARTDATE,ENDDATE)=0 THEN 1 ELSE DateDiff(day,STARTDATE,ENDDATE) END) TOTALCOMMUNICATIONAVERAGEDAY
,isnull(SPONSORCOMM.COMMUNICATIONSNUMBER,0) SPONSORCOMMUNICATIONSNUMBER
,isnull(COMPANYCOMM.COMMUNICATIONSNUMBER,0) COMPANYCOMMUNICATIONSNUMBER
,isnull(TEAMCOMM.COMMUNICATIONSNUMBER,0) TEAMCOMMUNICATIONSNUMBER
,isnull(HOUSEHOLDCOMM.COMMUNICATIONSNUMBER,0) HOUSEHOLDCOMMUNICATIONSNUMBER
,isnull(PARTCOMM.COMMUNICATIONSNUMBER,0) PARTICIPANTCOMMUNICATIONSNUMBER
--System Field
--sponsor revenue
,isnull(SponsorRevenue.VALUE,0) as SponsorRevenue
,isnull(SponsorRevenueRetained.VALUE,0) as SponsorRevenueRetained
,case when ISNULL(SponsorRevenue.VALUE,0)=0 then 0 else isnull(SponsorRevenueRetained.VALUE,0)/ISNULL(SponsorRevenue.VALUE,0) end as PercSponsorRevenueRetained
--donor revenue
,isnull(DonorRevenue.VALUE,0) as DonorRevenue
,isnull(DonorRevenueRetained.VALUE,0) as DonorRevenueRetained
,case when ISNULL(DonorRevenue.VALUE,0)=0 then 0 else isnull(DonorRevenueRetained.VALUE,0)/ISNULL(DonorRevenue.VALUE,0) end as PercDonorRevenueRetained
--registrant revenue
,isnull(RegistrantRevenue.VALUE,0) as RegistrantRevenue
,isnull(RegistrantRevenueRetained.VALUE,0) as RegistrantRevenueRetained
,case when ISNULL(RegistrantRevenue.VALUE,0)=0 then 0 else isnull(RegistrantRevenueRetained.VALUE,0)/ISNULL(RegistrantRevenue.VALUE,0) end as PercRegistrantRevenueRetained
,ADDEDBY.APPLICATIONNAME as [ADDEDBY_APPLICATION]
,ADDEDBY.USERNAME as [ADDEDBY_USERNAME]
,CHANGEDBY.APPLICATIONNAME as [CHANGEDBY_APPLICATION]
,CHANGEDBY.USERNAME as [CHANGEDBY_USERNAME]
,EV.DATEADDED
,EV.DATECHANGED
,EV.TSLONG
from dbo.EVENT EV
LEFT JOIN dbo.CHANGEAGENT AS [ADDEDBY] on [ADDEDBY].ID = EV.ADDEDBYID
LEFT JOIN dbo.CHANGEAGENT AS [CHANGEDBY] on [CHANGEDBY].ID = EV.CHANGEDBYID
LEFT JOIN [TeamNumber] TNT ON TNT.EVENTID=EV.ID AND TNT.TYPECODE=1
LEFT JOIN [TeamNumber] TNC ON TNC.EVENTID=EV.ID AND TNC.TYPECODE=2
LEFT JOIN [TeamNumber] TNH ON TNH.EVENTID=EV.ID AND TNH.TYPECODE=3
LEFT JOIN [PARTICIPANTNUMBER] PN ON PN.EVENTID=EV.ID
LEFT JOIN [SPONSORSNUMBER] SN ON SN.EVENTID =EV.ID
LEFT JOIN [DONORSNUMBER] DN ON DN.EVENTID=EV.ID
LEFT JOIN [SPONSORCOMMUNICATIONS_CTE] SPONSORCOMM ON SPONSORCOMM.EVENTID=EV.ID
LEFT JOIN [COMPANYCOMMUNICATIONS_CTE] COMPANYCOMM ON COMPANYCOMM.EVENTID=EV.ID
LEFT JOIN [TEAMCOMMUNICATIONS_CTE] TEAMCOMM ON TEAMCOMM.EVENTID=EV.ID
LEFT JOIN [HOUSEHOLDCOMMUNICATIONS_CTE] HOUSEHOLDCOMM ON HOUSEHOLDCOMM.EVENTID=EV.ID
LEFT JOIN [PARTICIPANTCOMMUNICATIONS_CTE] PARTCOMM ON PARTCOMM.EVENTID=EV.ID
--Smart Field Instance
--Total sponsorship revenue
left join dbo.UFN_SMARTFIELDINSTANCE_GETMONEYVALUES('634719A4-5FCD-4190-8617-763117A05834') SponsorRevenue on SponsorRevenue.ID=ev.ID
--Sponsor revenue retained
left join dbo.UFN_SMARTFIELDINSTANCE_GETMONEYVALUES('77303602-6812-4A77-AEE9-D8A40AEEE669') SponsorRevenueRetained on SponsorRevenueRetained.ID=ev.ID
--Donation revenue
left join dbo.UFN_SMARTFIELDINSTANCE_GETMONEYVALUES('BE04BA97-701E-4903-8429-192A79B94DA7') DonorRevenue on DonorRevenue.ID=ev.ID
--Donation revenue retained
left join dbo.UFN_SMARTFIELDINSTANCE_GETMONEYVALUES('59509376-DEEF-41DF-B579-13F0AC529683') DonorRevenueRetained on DonorRevenueRetained.ID=ev.ID
--registrant revenue
left join dbo.UFN_SMARTFIELDINSTANCE_GETMONEYVALUES('0C72B1E7-550B-456C-A8DE-84FD10ADF2D5') RegistrantRevenue on RegistrantRevenue.ID=ev.ID
--registrant revenue retained
left join dbo.UFN_SMARTFIELDINSTANCE_GETMONEYVALUES('FAA4613E-AA17-455B-9EFA-E7EFE9315E17') RegistrantRevenueRetained on RegistrantRevenueRetained.ID=ev.ID