USP_DATALIST_COMMUNITYMEMBERMOSTFREQUENTPAGES
Lists the Blackbaud Internet Solutions pages most frequently visited by a given community member.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NETCOMMUNITYCLIENTUSERID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@VIEWFILTER | tinyint | IN | View |
@MAXPAGES | int | IN | Number |
@ASOFDATE | datetime | IN | As of |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_COMMUNITYMEMBERMOSTFREQUENTPAGES
(
@NETCOMMUNITYCLIENTUSERID uniqueidentifier,
@VIEWFILTER tinyint = 2,
@MAXPAGES int = 5,
@ASOFDATE datetime = null
)
as begin
set nocount on;
if @VIEWFILTER is null
set @VIEWFILTER = 2;
if @MAXPAGES is null or @MAXPAGES < 1 or @MAXPAGES > 500
set @MAXPAGES = 5;
if @ASOFDATE is null
set @ASOFDATE = getdate();
declare @STARTDATE datetime;
declare @ENDDATE datetime;
if @VIEWFILTER = 0
begin
set @STARTDATE = dbo.UFN_DATE_THISWEEK_FIRSTDAY(@ASOFDATE, 0);
set @ENDDATE = dbo.UFN_DATE_THISWEEK_LASTDAY(@ASOFDATE, 1);
end
else if @VIEWFILTER = 1
begin
set @STARTDATE = dbo.UFN_DATE_LASTWEEK_FIRSTDAY(@ASOFDATE, 0);
set @ENDDATE = dbo.UFN_DATE_LASTWEEK_LASTDAY(@ASOFDATE, 1);
end
else if @VIEWFILTER = 2
begin
set @STARTDATE = dbo.UFN_DATE_THISMONTH_FIRSTDAY(@ASOFDATE, 0);
set @ENDDATE = dbo.UFN_DATE_THISMONTH_LASTDAY(@ASOFDATE, 1);
end
else if @VIEWFILTER = 3
begin
set @STARTDATE = dbo.UFN_DATE_LASTMONTH_FIRSTDAY(@ASOFDATE, 0);
set @ENDDATE = dbo.UFN_DATE_LASTMONTH_LASTDAY(@ASOFDATE, 1);
end
else if @VIEWFILTER = 4
begin
set @STARTDATE = dbo.UFN_DATE_THISCALENDARYEAR_FIRSTDAY(@ASOFDATE, 0);
set @ENDDATE = dbo.UFN_DATE_THISCALENDARYEAR_LASTDAY(@ASOFDATE, 1);
end
else if @VIEWFILTER = 5
begin
set @STARTDATE = dbo.UFN_DATE_LASTCALENDARYEAR_FIRSTDAY(@ASOFDATE, 0);
set @ENDDATE = dbo.UFN_DATE_LASTCALENDARYEAR_LASTDAY(@ASOFDATE, 1);
end
else if @VIEWFILTER = 6
begin
set @STARTDATE = null;
set @ENDDATE = null;
end
select top (@MAXPAGES)
[NETCOMMUNITYWEBTRAFFIC].[PAGENAME],
[NETCOMMUNITYWEBTRAFFIC].[URL],
count([NETCOMMUNITYWEBTRAFFIC].[ID]) [VISITCOUNT]
from
dbo.NETCOMMUNITYWEBTRAFFIC
where
[NETCOMMUNITYWEBTRAFFIC].[NETCOMMUNITYCLIENTUSERID] = @NETCOMMUNITYCLIENTUSERID
and
(
@STARTDATE is null
or @ENDDATE is null
or [NETCOMMUNITYWEBTRAFFIC].[REQUESTDATE] between @STARTDATE and @ENDDATE
)
group by
[NETCOMMUNITYWEBTRAFFIC].[PAGENAME],
[NETCOMMUNITYWEBTRAFFIC].[URL]
order by
[VISITCOUNT] desc, [NETCOMMUNITYWEBTRAFFIC].[PAGENAME];
return 0;
end