USP_DATALIST_MKTSEGMENT_NONACTIVATEDMAILINGS

Displays a list of non-activated marketing efforts that use a specific segment.

Parameters

Parameter Parameter Type Mode Description
@SEGMENTID uniqueidentifier IN Input parameter indicating the context ID for the data list.

Definition

Copy


CREATE procedure dbo.[USP_DATALIST_MKTSEGMENT_NONACTIVATEDMAILINGS]
(
  @SEGMENTID uniqueidentifier
)
as
  set nocount on;

  /* If a segment in a mailing has test segments, then rollup/average/etc the test segment information */
  /* into the segment, because we only want to display one row for each mailing. */
  select
    [MKTSEGMENTATION].[ID] as [MAILINGID],
    'CATALOG:Blackbaud.AppFx.Marketing.Catalog.dll,Blackbaud.AppFx.Marketing.Catalog.envelope_16.png' as [IMAGEKEY],
    [MKTSEGMENTATION].[NAME] as [MAILINGNAME],
    (case when count([MKTSEGMENTATIONTESTSEGMENT].[ID]) > 0 then 1 else 0 end) as [HASTESTSEGMENTS],
    (case when count(distinct([MKTSEGMENTATIONTESTSEGMENT].[PACKAGEID])) > 0 and [MKTSEGMENTATIONSEGMENT].[PACKAGEID] not in (select [PACKAGEID] from dbo.[MKTSEGMENTATIONTESTSEGMENT] where [SEGMENTID] = [MKTSEGMENTATIONSEGMENT].[ID]) then '<Multiple>' else [MKTPACKAGE].[NAME] end) as [PACKAGENAME],
    cast([MKTSEGMENTATIONSEGMENT].[SAMPLESIZE] as nvarchar(10)) + (case when [MKTSEGMENTATIONSEGMENT].[SAMPLESIZETYPECODE] = 0 then '%' else '' end) as [SAMPLESIZE],
    (([MKTPACKAGE].[UNITCOST] + isnull(sum([TESTPACKAGE].[UNITCOST]),0)) / (1 + count([MKTSEGMENTATIONTESTSEGMENT].[PACKAGEID])) + dbo.[UFN_MKTSEGMENTATIONSEGMENTLIST_GETCOSTPERRECORD2]([MKTSEGMENTATIONSEGMENT].[ID], 0)) as [COSTPERPIECE],
    ([MKTSEGMENTATIONSEGMENT].[GIFTAMOUNT] + isnull(sum([MKTSEGMENTATIONTESTSEGMENT].[GIFTAMOUNT]),0)) / (1 + count([MKTSEGMENTATIONTESTSEGMENT].[ID])) as [EXPECTEDGIFTAMOUNT],
    (([MKTSEGMENTATIONSEGMENT].[RESPONSERATE] + isnull(sum([MKTSEGMENTATIONTESTSEGMENT].[RESPONSERATE]),0)) / (1 + count([MKTSEGMENTATIONTESTSEGMENT].[ID]))) / 100 as [EXPECTEDRESPONSERATE],
    [MKTSEGMENTATIONSEGMENT].[BASECURRENCYID]
  from dbo.[MKTSEGMENTATIONSEGMENT]
  inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
  inner join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID]
  inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = [MKTSEGMENTATIONSEGMENT].[PACKAGEID]
  left join dbo.[MKTSEGMENTATIONTESTSEGMENT] on [MKTSEGMENTATIONTESTSEGMENT].[SEGMENTID] = [MKTSEGMENTATIONSEGMENT].[ID]
  left join dbo.[MKTPACKAGE] as [TESTPACKAGE] on [TESTPACKAGE].[ID] = [MKTSEGMENTATIONTESTSEGMENT].[PACKAGEID]
  where [MKTSEGMENTATIONSEGMENT].[SEGMENTID] = @SEGMENTID
  and [MKTSEGMENTATION].[ACTIVE] = 0
  group by [MKTSEGMENTATION].[ID], [MKTSEGMENTATION].[NAME], [MKTSEGMENTATIONSEGMENT].[ID], [MKTSEGMENTATIONSEGMENT].[SEGMENTID], [MKTSEGMENTATIONSEGMENT].[PACKAGEID], [MKTPACKAGE].[NAME], [MKTPACKAGE].[UNITCOST], [MKTSEGMENTATIONSEGMENT].[SAMPLESIZE], [MKTSEGMENTATIONSEGMENT].[SAMPLESIZETYPECODE], [MKTSEGMENTATIONSEGMENT].[GIFTAMOUNT], [MKTSEGMENTATIONSEGMENT].[RESPONSERATE], [MKTSEGMENTATIONSEGMENT].[BASECURRENCYID]
  order by [MKTSEGMENTATION].[NAME];

  return 0;