USP_PROSPECTRESEARCHREPORT_MODELINGPROPENSITY

This procedure returns constituent modeling and propensity data

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@ISVISIBLE bit IN

Definition

Copy


            CREATE procedure dbo.USP_PROSPECTRESEARCHREPORT_MODELINGPROPENSITY(
                @ID uniqueidentifier,
                @CURRENTAPPUSERID uniqueidentifier,
                @ISVISIBLE bit
            )
            as begin
                set nocount on;

                declare @RETVAL TABLE
                    (
                        LABEL nvarchar(100),
                        SEQUENCE integer,
                        VALUETYPE nvarchar(100),
                        STRINGVALUE nvarchar(max),
                        NUMBERVALUE int,
                        DATEVALUE datetime,
                        CURRENCYVALUE money,
                        FUZZYDATEVALUE dbo.UDT_FUZZYDATE default('00000000'),
                        HOURMINUTEVALUE dbo.UDT_HOURMINUTE default('0000'),
                        BOOLEANVALUE bit,
                        MAXIMUMVALUE nvarchar(50),
                        UPDATEDON date,
                        ORIGIN nvarchar(50)
                    )

                if @ISVISIBLE = 1
                begin

                    -- This is the only score type that is not a string score value

                    declare @NCOAMOVEDINDICATORID uniqueidentifier = 'CA48F28A-DBE6-40E5-907A-D29D40F9B588';

                    -- Get all Blackbaud scores

                    insert into @RETVAL 
                    (
                        LABEL,
                        STRINGVALUE,
                        BOOLEANVALUE,
                        SEQUENCE,
                        VALUETYPE,
                        MAXIMUMVALUE,
                        UPDATEDON,
                        ORIGIN
                    )
                    select
                        NAME as LABEL,
                        case when ANALYTICSMODELID = @NCOAMOVEDINDICATORID then null else SCORE end as STRINGVALUE,
                        case
                            when ANALYTICSMODELID = @NCOAMOVEDINDICATORID then
                                case when SCORE = 'Yes' then 1 else 0 end
                            else null
                        end as BOOLEANVALUE,
                        row_number() over (order by NAME) as SEQUENCE,
                        case when ANALYTICSMODELID = @NCOAMOVEDINDICATORID then N'YesNoValue' else N'TextValue' end as VALUETYPE,
                        MAXIMUMSCORE as MAXIMUMVALUE,
                        UPDATEDON,
                        N'Blackbaud' as ORIGIN
                    from
                        dbo.UFN_MODELSCORESFORCONSTITUENT(@ID);

                    declare @SEQUENCE integer = (select coalesce(max(SEQUENCE), 0) from @RETVAL);

                    insert into @RETVAL
                    (
                        LABEL,
                        SEQUENCE,
                        VALUETYPE,
                        STRINGVALUE,
                        NUMBERVALUE,
                        DATEVALUE,
                        CURRENCYVALUE,
                        FUZZYDATEVALUE,
                        HOURMINUTEVALUE,
                        BOOLEANVALUE,
                        MAXIMUMVALUE,
                        UPDATEDON,
                        ORIGIN
                    )
                    select 
                        CATEGORY,
                        @SEQUENCE + ROW_NUMBER() over(order by CATEGORY, coalesce(STARTDATE, DATECHANGED)) as ROWNUMBER,
                        VALUETYPE,
                        STRINGVALUE,
                        NUMBERVALUE,
                        DATEVALUE,
                        CURRENCYVALUE,
                        FUZZYDATEVALUE,
                        HOURMINUTEVALUE,
                        BOOLEANVALUE,
                        null, --custom scores have no max value

                        coalesce(STARTDATE, DATECHANGED),
                        N'Custom'
                    from
                        dbo.UFN_ATTRIBUTE_GETATTRIBUTELIST_WITHAUDIT('Model Scores and Ratings', @ID, @CURRENTAPPUSERID);

                end

                select
                    LABEL,
                    SEQUENCE,
                    VALUETYPE,
                    STRINGVALUE,
                    NUMBERVALUE,
                    DATEVALUE,
                    CURRENCYVALUE,
                    FUZZYDATEVALUE,
                    HOURMINUTEVALUE,
                    BOOLEANVALUE,
                    MAXIMUMVALUE,
                    UPDATEDON,
                    ORIGIN
                from @RETVAL
                order by UPDATEDON desc, LABEL;

            end;