Share point 2010 - Using Web Analytic Reports programmatically






2.50/5 (2 votes)
Capturing Web Analytic reports via out of the box dlls(classes)
Introduction
Lately I've been asked to capture Web Analytic Reports data from Microsoft Share point 2010 programmatically. As far as I searched on web all the answers were related to acquire the data from Database, which in this article I'm not going to focus on this approach instead I'm going to use out of the box classes which are related to Web Analytic Reports. The codes are all in c# language.
Background
All you need is VS2010 and SHAREPOINT 2010 installed.
Using the code
To use the Web Analytic Reports data we need to add explicit reference to following dynamic link libraries (shortly dll):
Microsoft.Office.Server.WebAnalytics
Microsoft.Office.Server.WebAnalytics.UI
There is a method called AnalyticsReportFunction which gets all of the data for us. This is the main code which get the data for us:
Microsoft.Office.Server.WebAnalytics.Reporting.AnalyticsReportFunction a =
new Microsoft.Office.Server.WebAnalytics.Reporting.AnalyticsReportFunction();
foreach (AggregationLevel itm in Enum.GetValues(typeof(AggregationLevel)))
{
lstRepLevel.Items.Add(new ListItem(itm.ToString(), itm.ToString()));
}
foreach (ReportType itm in Enum.GetValues(typeof(ReportType)))
{
lstRepTypes.Items.Add(new ListItem(itm.ToString(), itm.ToString()));
}
object[,] res = a.GetWebAnalyticsReportData(TxtSiteUrl.Text, reportLevel,reportType,DateTime.Parse(txtFromDate.Text),
DateTime.Parse(txtToDate.Text));
All the best.