V_QUERY_EVENTSUMMARY

Query view used for event information derived from various aspects of events.

Fields

Field Field Type Null Description
ID uniqueidentifier System record ID
REGISTRANTCOUNT int yes Number of registrants
EXPENSEBUDGETEDAMOUNT money yes Total expense budgeted amount
EXPENSEACTUALAMOUNT money yes Total expense agreed amount
SUPPORTINGEVENTCOUNT int yes Number of supporting events
INVITEENOTYETINVITEDCOUNT int yes Number of invitees not yet invited
INVITEEINVITEDWITHNORESPONSECOUNT int yes Number of invitees invited with no response
INVITEEREGISTEREDCOUNT int yes Number of registered invitees
INVITEEDECLINEDCOUNT int yes Number of declined invitees
INVITEETOTAL int yes Total number of invitees
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
EXPENSEPAIDAMOUNT money yes Total expense paid amount
BASECURRENCYID uniqueidentifier yes Base currency ID
INVITEEATTENDEDCOUNT int yes
INVITEENOSHOWCOUNT int yes

Definition

Copy
/*
Generated by Blackbaud AppFx Platform
Date:  11/11/2014 4:28:44 PM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.2.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_EVENTSUMMARY AS



                with INVITEES as
                (
                    select
                        ID,
                        EVENTID,
                        CONSTITUENTID,
                        INVITATIONSENTON,
                        DECLINED
                    from
                    (
                        select
                            ROW_NUMBER() over (partition by INVITEE.EVENTID, INVITEE.CONSTITUENTID order by INVITEE.INVITATIONSENTON desc) as ROWNUMBER,
                            INVITEE.ID,
                            INVITEE.EVENTID,
                            INVITEE.CONSTITUENTID,
                            INVITEE.INVITATIONSENTON,
                            INVITEE.DECLINED
                        from dbo.INVITEE
                    ) as INVITEELIST
                    where INVITEELIST.ROWNUMBER = 1
                ),
                EVENTINVITEESUMMARY as
                (
                    select
                        EVENTID,
                        count(*) [INVITEETOTAL],
                        sum([INVITEEPROPERTIES].[NOTYETINVITED]) [NOTYETINVITEDCOUNT],
                        sum([INVITEEPROPERTIES].[INVITEDWITHNORESPONSE]) [INVITEDWITHNORESPONSECOUNT],
                        sum([INVITEEPROPERTIES].[REGISTERED]) [REGISTEREDCOUNT],
                        sum([INVITEEPROPERTIES].[DECLINED]) [DECLINEDCOUNT],
                        sum([INVITEEPROPERTIES].[ATTENDED]) [ATTENDEDCOUNT],
                        sum([INVITEEPROPERTIES].[NOSHOW]) [NOSHOWCOUNT]
                    from
                    (
                        select
                            INVITEE.EVENTID,
                            case
                                when INVITEE.INVITATIONSENTON is null and INVITEE.DECLINED = 0 then 1
                                else 0
                            end [NOTYETINVITED],
                            case
                                when INVITEE.DECLINED = 0 and REGISTRANT.ID is null and INVITEE.INVITATIONSENTON is not null then 1
                                else 0
                            end [INVITEDWITHNORESPONSE],
                            case
                                when REGISTRANT.ID is not null then 1
                                else 0
                            end [REGISTERED],
                            case
                                when INVITEE.DECLINED = 1 then 1
                                else 0
                            end [DECLINED],
                            case
                                when REGISTRANT.ATTENDED = 1 then 1
                                else 0
                            end [ATTENDED],
                            case
                                when REGISTRANT.ATTENDED = 0 and REGISTRANT.USERMARKEDATTENDANCE = 1 then 1
                                else 0
                            end [NOSHOW]
                        from INVITEES as INVITEE
                        left join dbo.REGISTRANT on INVITEE.CONSTITUENTID = REGISTRANT.CONSTITUENTID and INVITEE.EVENTID = REGISTRANT.EVENTID
                    ) [INVITEEPROPERTIES]
                    group by [INVITEEPROPERTIES].[EVENTID]
                )
                select
                    EVENT.ID,
                    coalesce((select count(ID) from dbo.REGISTRANT where EVENTID = EVENT.ID),0) [REGISTRANTCOUNT],
                    cast(coalesce((select sum(EVENTEXPENSE.BUDGETEDAMOUNT) from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),0) as money) [EXPENSEBUDGETEDAMOUNT],
                    cast(coalesce((select sum(EVENTEXPENSE.ACTUALAMOUNT) from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),0) as money) [EXPENSEACTUALAMOUNT],
                    coalesce((select count(ID) from dbo.EVENT as SUPPORTINGEVENT where SUPPORTINGEVENT.MAINEVENTID = EVENT.ID),0) [SUPPORTINGEVENTCOUNT],
                    coalesce([EVENTINVITEESUMMARY].[NOTYETINVITEDCOUNT], 0) [INVITEENOTYETINVITEDCOUNT],
                    coalesce([EVENTINVITEESUMMARY].[INVITEDWITHNORESPONSECOUNT], 0) [INVITEEINVITEDWITHNORESPONSECOUNT],
                    coalesce([EVENTINVITEESUMMARY].[REGISTEREDCOUNT], 0) [INVITEEREGISTEREDCOUNT],
                    coalesce([EVENTINVITEESUMMARY].[DECLINEDCOUNT], 0) [INVITEEDECLINEDCOUNT],
                    coalesce([EVENTINVITEESUMMARY].[INVITEETOTAL], 0) [INVITEETOTAL],
                    ADDEDBY.APPLICATIONNAME as ADDEDBY_APPLICATION,
                    ADDEDBY.USERNAME as ADDEDBY_USERNAME,
                    CHANGEDBY.APPLICATIONNAME as CHANGEDBY_APPLICATION,
                    CHANGEDBY.USERNAME as CHANGEDBY_USERNAME,
                    EVENT.DATEADDED,
                    EVENT.DATECHANGED,
                    EVENT.TSLONG,
                    coalesce((select sum(EVENTEXPENSE.AMOUNTPAID) from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),0) as [EXPENSEPAIDAMOUNT],
                    EVENT.BASECURRENCYID,
                    coalesce([EVENTINVITEESUMMARY].[ATTENDEDCOUNT], 0) as INVITEEATTENDEDCOUNT,
                    coalesce([EVENTINVITEESUMMARY].[NOSHOWCOUNT], 0) as INVITEENOSHOWCOUNT

                    /*#EXTENSION*/

                from dbo.EVENT 
                left join EVENTINVITEESUMMARY on EVENT.ID = EVENTINVITEESUMMARY.EVENTID
                left join dbo.CHANGEAGENT as ADDEDBY ON ADDEDBY.ID = EVENT.ADDEDBYID
                left join dbo.CHANGEAGENT as CHANGEDBY ON CHANGEDBY.ID = EVENT.CHANGEDBYID;