USP_REPORT_CAMPAIGNPRIORITYPROGRESSBYQUARTER

Returns data for the Campaign Priority Report when grouped by quarter.

Parameters

Parameter Parameter Type Mode Description
@CAMPAIGNID uniqueidentifier IN
@CAMPAIGNPRIORITYTYPECODEID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN

Definition

Copy


            CREATE procedure dbo.USP_REPORT_CAMPAIGNPRIORITYPROGRESSBYQUARTER
            (
                @CAMPAIGNID uniqueidentifier,
                @CAMPAIGNPRIORITYTYPECODEID uniqueidentifier = null,
                @STARTDATE datetime,
                @ENDDATE datetime
            )
            as
                set nocount on;

                select distinct
                    CAMPAIGNPRIORITY.ID as CAMPAIGNPRIORITY_ID,
                    dbo.UFN_CAMPAIGNPRIORITYTYPECODE_GETDESCRIPTION(CAMPAIGNPRIORITY.CAMPAIGNPRIORITYTYPECODEID) as CAMPAIGNPRIORITY_TYPE,
                    case PRIORITYPROGRESS.SEQUENCE
                        when 1 then
                            case PRIORITYPROGRESS.TOTALQUARTERS
                                when 1 then
                                    dbo.UFN_CAMPAIGNPRIORITY_GETTOTALRECEIVED(CAMPAIGNPRIORITY.ID, @STARTDATE, @ENDDATE)
                                else
                                    dbo.UFN_CAMPAIGNPRIORITY_GETTOTALRECEIVED(CAMPAIGNPRIORITY.ID,@STARTDATE,(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,PRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                                end
                        when PRIORITYPROGRESS.TOTALQUARTERS then
                                dbo.UFN_CAMPAIGNPRIORITY_GETTOTALRECEIVED(CAMPAIGNPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,PRIORITYPROGRESS.STARTDATE), 0)),@ENDDATE)
                            else
                                dbo.UFN_CAMPAIGNPRIORITY_GETTOTALRECEIVED(CAMPAIGNPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,PRIORITYPROGRESS.STARTDATE), 0)),(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,PRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                    end as CAMPAIGNPRIORITY_TOTALRECEIVED,
                    case PRIORITYPROGRESS.SEQUENCE
                        when 1 then
                            case PRIORITYPROGRESS.TOTALQUARTERS
                                when 1 then
                                    dbo.UFN_CAMPAIGNPRIORITY_GETTOTALBALANCE(CAMPAIGNPRIORITY.ID,@STARTDATE,@ENDDATE)
                                else
                                    dbo.UFN_CAMPAIGNPRIORITY_GETTOTALBALANCE(CAMPAIGNPRIORITY.ID,@STARTDATE,(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,PRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                                end
                        when PRIORITYPROGRESS.TOTALQUARTERS then
                            dbo.UFN_CAMPAIGNPRIORITY_GETTOTALBALANCE(CAMPAIGNPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,PRIORITYPROGRESS.STARTDATE), 0)),@ENDDATE)
                        else
                            dbo.UFN_CAMPAIGNPRIORITY_GETTOTALBALANCE(CAMPAIGNPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,PRIORITYPROGRESS.STARTDATE), 0)),(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,PRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                    end as CAMPAIGNPRIORITY_TOTALBALANCE,
                    CAMPAIGNPRIORITY.GOAL as CAMPAIGNPRIORITY_GOAL,
                    PRIORITYPROGRESS.YEARNAME as CAMPAIGNPRIORITY_DATEYEAR,
                    PRIORITYPROGRESS.QUARTER as CAMPAIGNPRIORITY_DATEQUARTER,
                    CAMPAIGNSUBPRIORITY.ID as CAMPAIGNSUBPRIORITY_ID,
                    CAMPAIGNSUBPRIORITYNAMECODE.DESCRIPTION as CAMPAIGNSUBPRIORITY_NAME,
                    case SUBPRIORITYPROGRESS.SEQUENCE
                        when 1 then
                            case SUBPRIORITYPROGRESS.TOTALQUARTERS
                                when 1 then
                                    dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALRECEIVED(CAMPAIGNSUBPRIORITY.ID, @STARTDATE, @ENDDATE)
                                else
                                    dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALRECEIVED(CAMPAIGNSUBPRIORITY.ID,@STARTDATE,(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,SUBPRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                                end
                        when SUBPRIORITYPROGRESS.TOTALQUARTERS then
                                dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALRECEIVED(CAMPAIGNSUBPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,SUBPRIORITYPROGRESS.STARTDATE), 0)),@ENDDATE)
                            else
                                dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALRECEIVED(CAMPAIGNSUBPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,SUBPRIORITYPROGRESS.STARTDATE), 0)),(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,SUBPRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                    end as CAMPAIGNSUBPRIORITY_TOTALRECEIVED,
                    case SUBPRIORITYPROGRESS.SEQUENCE
                        when 1 then
                            case SUBPRIORITYPROGRESS.TOTALQUARTERS
                                when 1 then
                                    dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALBALANCE(CAMPAIGNSUBPRIORITY.ID,@STARTDATE,@ENDDATE)
                                else
                                    dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALBALANCE(CAMPAIGNSUBPRIORITY.ID,@STARTDATE,(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,SUBPRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                                end
                        when SUBPRIORITYPROGRESS.TOTALQUARTERS then
                            dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALBALANCE(CAMPAIGNSUBPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,SUBPRIORITYPROGRESS.STARTDATE), 0)),@ENDDATE)
                        else
                            dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALBALANCE(CAMPAIGNSUBPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,SUBPRIORITYPROGRESS.STARTDATE), 0)),(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,SUBPRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                    end as CAMPAIGNSUBPRIORITY_TOTALBALANCE,
                    CAMPAIGNSUBPRIORITY.GOAL as CAMPAIGNSUBPRIORITY_GOAL,
                    SUBPRIORITYPROGRESS.YEARNAME as CAMPAIGNSUBPRIORITY_DATEYEAR,
                    SUBPRIORITYPROGRESS.QUARTER as CAMPAIGNSUBPRIORITY_DATEQUARTER,
                    @STARTDATE as PARAMGOALSTARTDATE,
                    @ENDDATE as PARAMGOALENDDATE,
                    case PRIORITYPROGRESS.SEQUENCE
                        when 1 then 
                            case PRIORITYPROGRESS.TOTALQUARTERS
                                when 1 then 
                                    dbo.UFN_CAMPAIGNPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNPRIORITY.ID,@STARTDATE,@ENDDATE)
                                else
                                    dbo.UFN_CAMPAIGNPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNPRIORITY.ID,@STARTDATE,(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,PRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                                end
                        when PRIORITYPROGRESS.TOTALQUARTERS then 
                            dbo.UFN_CAMPAIGNPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,PRIORITYPROGRESS.STARTDATE), 0)),@ENDDATE)
                        else
                            dbo.UFN_CAMPAIGNPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,PRIORITYPROGRESS.STARTDATE), 0)),(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,PRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                    end as CAMPAIGNPRIORITY_TOTALPLANNEDGIFTS,
                    case SUBPRIORITYPROGRESS.SEQUENCE
                        when 1 then
                            case SUBPRIORITYPROGRESS.TOTALQUARTERS
                                when 1 then 
                                    dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNSUBPRIORITY.ID, @STARTDATE, @ENDDATE)
                                else
                                    dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNSUBPRIORITY.ID,@STARTDATE,(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,SUBPRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                                end
                        when SUBPRIORITYPROGRESS.TOTALQUARTERS then
                            dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNSUBPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,SUBPRIORITYPROGRESS.STARTDATE), 0)),@ENDDATE)
                        else    
                            dbo.UFN_CAMPAIGNSUBPRIORITY_GETTOTALPLANNEDGIFTS(CAMPAIGNSUBPRIORITY.ID,(DATEADD(qq, DATEDIFF(qq,0,SUBPRIORITYPROGRESS.STARTDATE), 0)),(DATEADD(ms, -3, DATEADD(qq,DATEDIFF(qq, 0,SUBPRIORITYPROGRESS.STARTDATE)+ 1, 0))))
                    end as CAMPAIGNSUBPRIORITY_TOTALPLANNEDGIFTS

                from 
                    dbo.CAMPAIGNPRIORITY
                inner join dbo.CAMPAIGN on CAMPAIGN.ID = CAMPAIGNPRIORITY.CAMPAIGNID 
                left join dbo.CAMPAIGNSUBPRIORITY on CAMPAIGNSUBPRIORITY.CAMPAIGNPRIORITYID = CAMPAIGNPRIORITY.ID 
                inner join dbo.UFN_CAMPAIGNPRIORITY_GETQUARTERLYPROGRESS(@CAMPAIGNID,@STARTDATE,@ENDDATE) as PRIORITYPROGRESS on PRIORITYPROGRESS.CAMAPIGNPRIORITYID = CAMPAIGNPRIORITY.ID
                left join dbo.UFN_CAMPAIGNSUBPRIORITY_GETQUARTERLYPROGRESS(@CAMPAIGNID,@STARTDATE,@ENDDATE) as SUBPRIORITYPROGRESS on SUBPRIORITYPROGRESS.CAMAPIGNSUBPRIORITYID = CAMPAIGNSUBPRIORITY.ID and (PRIORITYPROGRESS.YEARNAME = SUBPRIORITYPROGRESS.YEARNAME and PRIORITYPROGRESS.QUARTER = SUBPRIORITYPROGRESS.QUARTER)
                left join dbo.CAMPAIGNSUBPRIORITYNAMECODE on CAMPAIGNSUBPRIORITY.CAMPAIGNSUBPRIORITYNAMECODEID = CAMPAIGNSUBPRIORITYNAMECODE.ID
                where
                    CAMPAIGNPRIORITY.CAMPAIGNID = @CAMPAIGNID
                    and ( (CAMPAIGNPRIORITY.CAMPAIGNPRIORITYTYPECODEID = @CAMPAIGNPRIORITYTYPECODEID) or (@CAMPAIGNPRIORITYTYPECODEID is null) )

                order by 
                    CAMPAIGNPRIORITY_DATEYEAR, CAMPAIGNPRIORITY_DATEQUARTER;