博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web analytics unique visitors go sky high 网站分析报表,唯一IP地址用户
阅读量:6848 次
发布时间:2019-06-26

本文共 4929 字,大约阅读时间需要 16 分钟。

On a recent consultancy job, we were told that a certain site collection was used by a total group of 100 people. Big was our surprise when we turned to the SharePoint 2010 Web Analytics feature and found the site collection had a total of around 1000 unique visitors per day. Strange, no?

The definition of the total number of unique visitors per day can be found on the Microsoft Enterprise Content Management (ECM) Team Blog: :

the total number of unique visitors per day consists of all SharePoint authenticated users plus anonymous users. In the last case, each unique IP address counts as a unique (anonymous) visitor.

Then, we saw something strange on one of our dev machines. The total number of unique visitors/day on a given site collection was 7, whereas there is only one user account on this machine. So, 7 different unique visitors was impossible on this machine. Were we on to something?

Intrigued, we took a look at the database. After doing some snooping around, we expected that the database WebAnalyticsServiceApplication_ReportingDB_[guid] is the database that holds the web analytics data.

After running a trace, we knew for sure. Executing the following table valued function returned the contents of our Site Collection Web Analytics Reports – Summary page:

– Get info for Site Collection Web Analytics Reports – Summary

exec sp_executesql N’SELECT TOP (2000) [propertyname], [currentvalue], [previousvalue], [percentagechange]
FROM [dbo].[fn_WA_GetSummary](@p0, @p1, @p2, @p3, default)
ORDER BY [PropertyName] ASC’
,N’@p0 int,@p1 int,@p2 int,@p3 uniqueidentifier’,@p0=20111213,@p1=20111113,@p2=30,@p3=’9519CAC1-F9AE-3BF8-D261-119A8B0A4F33′

Taking a look inside the function, we found the following T-SQL code being equivalent to the retrieval of unique visitors info:

– Get unique visitors info

DECLARE @CurrentStartDateId int = 20111213
DECLARE @PreviousStartDateId int = 20111113
DECLARE @Duration int = 30
DECLARE @AggregationId [dbo].[AggregationIdDataType] = ’9519CAC1-F9AE-3BF8-D261-119A8B0A4F33′
DECLARE @IncludeSubSites bit = 1

DECLARE @CurrentEndDateId int, @PreviousEndDateId int

SET @CurrentEndDateId = [dbo].[fn_WA_AddDateId](@CurrentStartDateId, @Duration – 1)
SET @PreviousEndDateId = [dbo].[fn_WA_AddDateId](@PreviousStartDateId, @Duration – 1)
 
SELECT
‘UniqueVisitors’ AS [PropertyName],
(
  SELECT [Frequency]
  FROM [dbo].[fn_WA_GetTotalTrafficVolume]
  (@CurrentStartDateId, @CurrentEndDateId, @AggregationId, @IncludeSubSites, 2)
) AS [CurrentValue],
(
  SELECT [Frequency]
  FROM [dbo].[fn_WA_GetTotalTrafficVolume]
  (@PreviousStartDateId, @PreviousEndDateId, @AggregationId, @IncludeSubSites, 2)
) AS [PreviousValue]

Apparently, the fn_WA_GetTotalTrafficVolume function plays an important role in determining the number of unique visitors. The next T-SQL code determined our current number of unique visitors:

– Current unique visitors from table-valued function

  SELECT [Frequency]
  FROM [dbo].[fn_WA_GetTotalTrafficVolume]
  (@CurrentStartDateId, @CurrentEndDateId, @AggregationId, @IncludeSubSites, 2)
– Current unique visitors from underlying table
SELECT
    ISNULL(SUM([Frequency]), 0) AS [Frequency]
FROM [dbo].[WATrafficAggregationByDate] WITH (NOLOCK)
WHERE
    [AggregationId] = @AggregationId AND
    [IncludeSubSites] = 1 AND
    [MetricType] = 2 AND
    [DateId] BETWEEN @CurrentStartDateId AND @CurrentEndDateId

This function sums all unique users per day, but if you want to see the real number of unique users per day, you do:

– Show unique users per day

SELECT *  
FROM [dbo].[WATrafficAggregationByDate] WITH (NOLOCK)
WHERE
    [AggregationId] = @AggregationId AND
    [IncludeSubSites] = 1 AND
    [MetricType] = 2 AND
    [DateId] BETWEEN @CurrentStartDateId AND @CurrentEndDateId

Using this query, we found 7 entries. This looks a lot more like the Site Collection Web Analytics Reports – Number of Daily Unique Visitors page. So, there was the answer we were looking for.

According to IFABC Global Web Standards, a unique visitor is an IP address plus a further identifier (such as user name, user agent, or a cookie). If you want to know how many daily unique visitors there are, you should go to the Site Collection Web Analytics Reports – Number of Daily Unique Visitors page. The Summary page is nothing more than a summation of all days and all unique visitors.

Is this a bad thing? We feel it is at least a little (okay, more than just a little). It makes sense to provide overviews of the number of unique visitors per day, week, month, year or whatever. By simply summarizing all unique visitors, soon the number of unique visitors on the Summary page goes sky high. It leads to a situation where web analytic reports show that there are 1000 unique visitors, whereas in reality there are only 100. We know it’s a summary page, but we also feel this is a situation where simple math doesn’t apply to this data and leads to confusing results.

转载于:https://www.cnblogs.com/ahghy/archive/2012/10/23/2735833.html

你可能感兴趣的文章
Tomcat源码学习(二)--Tomcat_7.0.70 启动分析
查看>>
MYSQL备份恢复
查看>>
linux启动_grub
查看>>
MyBatis的常见属性总结select、insert、update、delete
查看>>
运行脚本下的 类tail -f sed -n
查看>>
[Python]学习基础篇:字典
查看>>
观察者模式
查看>>
Android WebView缓存机制详解
查看>>
Linux iptables命令高级网络
查看>>
STL中mem_fun和mem_fun_ref的用法
查看>>
Mysql管理总结
查看>>
Exchange2007的规划和安装
查看>>
同步时间
查看>>
去除TFS版本控制信息
查看>>
南海区妇幼保健院HIS数据容灾备份系统项目
查看>>
思科3560交换机端口限速
查看>>
linux网络设备无法启动问题处理
查看>>
生活大爆炸系列之磨望远镜
查看>>
文档:Windows Server 2012 配置Hyper-V复制
查看>>
我的友情链接
查看>>