Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

So the Analytics feature has been revamped in 2013. Great.

Now I can't find detailed statistics anymore. All I have is multiple reports for search queries and "Popular Items". The "Usage" report only displays the number of users per week/month - now that's what I call detail.

Where can I find information about which page/item has been accessed how often (Top Pages in 2010)? Where can I find information about the users, who is my top user (Top Users in 2010)? Where can I find drill down reports?

I would like to have a more in depth reporting: The page XYZ has been accessed X times over the last X weeks compared to other pages. I would like to know which user is the most active user. And it would be nice to be able to drill down, i.e. have more data in the Excel export and filter for data myself.

Is there any other solution for real usage reporting? Would piwik/Google Analytics give me more data? I thought SharePoint had all the data?

share|improve this question

3 Answers 3

I think the Usage Service Application (on which the Usage Report is based) is still in there in 2013, which (once configured) will pile lots of information - amongst other things, Requests - into a SQL Database called 'WSS_Logging', and included is a view called RequestUsage.

If you use this for usage analytics, you might have to build upon that SQL view though, (write another that selects from it) that will exclude irrelevant data - as this captures EVERYTHING requested - images, css, javascript, web services, etc. from all accounts in the farm.

Here's more info on that Database from TechNet. Note it's referring to SP2010, but I think the service app is still there in SP2013... http://technet.microsoft.com/en-us/library/hh769360(v=office.14).aspx

share|improve this answer
1  
Thanks for the link - you're right the WSS_Logging is of course there and I could build custom Reports with Reporting Services. I'm asking about standard ways to see more data - without having to create custom reports. –  Dennis G Feb 22 '13 at 11:53
    
Got a similar requirement myself potentially coming up, so I'll be actually interested if others can shed light on this! –  James Love Feb 22 '13 at 12:24
    
Btw, several months on, I actually did this. Although I had to ship the logs to anew database, as it only stores 14 days of data. –  James Love Jun 25 '13 at 7:22
up vote 1 down vote accepted

I received official word from Microsoft that this is all we get: multiple reports for search queries and "Popular Items". The "Usage" report only displays the number of users per week/month.

For other reports where there are gaps with 2010, there are a couple of ways that you could consider providing alternatives. One would be to create reports of the logging DB, the other would be to look at creating one or more custom analytics events. This requires writing code that inherits from the AnalyticsEventTypeDefinition class and when you have an event occur that you want added to the analytics system, write an entry to the .usage file. It will then get rolled up and we provide a COUNT of them per item, site and tenant (by default there’s one tenant per on-premise farm).

Yet another way I have found is to leverage the IIS logs for more in depth reporting. Quite interesting for that purpose is the SharePoint flavored Weblog reader which aggregates stuff nicely. There might be other third party tools, but I was surprised how much information the tool could already gather in its simple form.

Of course it is always possible to include a web based analytics system such as Piwik - all we'd have to do is include the JavaScript in the master page and we'd be good to go.

share|improve this answer

in 2010 in WSS_logging database there is an StoredProcedure which teaches you a lot:

[dbo].[proc_GetMostActiveUsers]

for example from this i created below custom report which i needed to get the last access or loggin time of almost all users:

DECLARE @StartTime DATETIME     = DATEADD(MONTH, -12, GETDATE()) ,
    @EndTime DATETIME     = GETDATE();

SELECT  UserLogin AS [User] ,
        COUNT(RowId) AS Hits ,
        MAX(LogTime) AS LastAccessTime
FROM    [dbo].[RequestUsage] WITH ( READPAST )
WHERE   PartitionId IN (
        SELECT  PartitionId
        FROM    dbo.fn_PartitionIdRangeMonthly(@StartTime, @EndTime) )
        AND LogTime BETWEEN @StartTime AND @EndTime
        AND WebApplicationId IN ( '7de7dd3e-fda6-4ec2-9f39-dfc80c735cd1',
                                  'df6fd2f3-9311-4e63-8bb2-1e4190c9029d' )
        AND UserLogin IS NOT NULL
        AND DATALENGTH(UserLogin) > 0
GROUP BY UserLogIn
ORDER BY lastaccesstime DESC
share|improve this answer
    
get your web ids from Get-SPWebApplication | select name,id powershell query –  imanabidi Nov 14 at 13:48
    
This question was about SP2013. The Usage Logging infrastructure has changed significantly. The database and the stored procedures still exist and I can leverage it to build custom reports, yes. But the question was about seeing reports for the end user. –  Dennis G Nov 16 at 13:51

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.